有則改之無則加勉,以此明鏡。新的一年,從心出發。
不知不覺就已經是2017年3月份了,還有很多朋友沒有意識到新的一年已經過去六分之一了吧。其實我也一樣,最開始發現時,如夢初醒,強烈的危機感、壓迫感,瞬間襲來。回顧著去年年末互聯網市場招聘、求職,兵不血刃地廝殺。各位同行為了一個職位爭的頭破血流,那些畫面,現在想起來仍然心有余悸。本妄想著新的一年年初情況可能好轉,或者金三銀四的好時候鯉魚躍龍門——是個跳槽的好時機,卻沒想到計劃果然趕不上變化。2017,求職情況變得更加白熱化、惡劣,互聯網資本寒冬,行業不景氣,是真的來了。往事已逝,昨日已走。年輕的騷年,還沒變成好漢之前就漸漸白了頭。面對如此嚴峻的就業形勢,我們還能做什么呢?躲得了初一,躲不過十五;是福不是禍,是禍躲不過。誠然,我是沒有足夠的閱歷及經驗在這豬鼻子插蔥裝象吹牛逼的,僅分享個人成長過程及感悟,希望對此刻迷茫的小伙伴有所幫助。也祝福大家最后找到合適自己的歸宿,然后我們一起接著愉快的談笑風生。
時刻準備著
永遠要時刻準備著!記憶當中這句話最讓我刻骨銘心的是《我是特種兵》畫面那時的我滿腔熱血很容易熱血澎湃但當時對這話的理解很淺薄直到自己經歷了去年找工作的過山車般心情才漸漸領悟了深刻含義。“時刻準備著”永遠不是一句口號,而是一種信仰、一種堅持、一種融入了實際行動的熱愛,更是一種榮耀的捍衛。面試中面試官經常問一些看似簡單的問題:session和cookies的區別是什么,get和post呢,http與https協議呢,你能畫出它的工作機制嗎。在瀏覽器輸入一個網址瀏覽器是如何解析最后發生了什么,能較完整講述一下嗎,能講的再具體多一點嗎。這些看似百度一大堆常見的面試題,你們真的準備好面試并且深刻理解了原理嗎。很懺愧的是去年的我就經歷了這樣的窘境與尷尬,我當時一度懷疑面試官是不是看我不順眼,怎么“在瀏覽器輸入一個網址,這個過程是怎么運行的”這種問題也問。限于當時我自學前端知識點非常匱乏,我覺得它不屬于前端工程師掌握的范疇,后來想起來慚愧不已。而這還是面試中司空見慣的面試題。如果已經綽綽有余,那我們換個口味。分別用原生JS和jquery實現反選、不選、全選功能。又是很眼熟的一個demo吧。方法有哪些?第一想法是循環——for那么jquery是switch case吧?還有什么方法嗎?for in?for與for in的區別是什么,三個誰的執行效率最高、兼容性最好?能完全在紙上手寫出來嗎。習慣了裝滿插件的機敲手寫不適應要不從DOCTYPE一點一點手敲吧。順便問下DOCTYPE的作用是什么標準模式與兼容模式區別是?
1、
2、
3、
4、那么這個呢是不是很小兒科
這只是前端世界里的滄海一粟。而在這個浩瀚無垠的世界里,我們就像那渺小的獨孤的星辰。但區別就在于,有些星星閃閃發光熠熠生輝,有些星星卻暗淡無痕,無人問津。因為總有人時刻準備著,努力著。所以不要為自己的受挫找借口。現在有很多BAT實習生比社招的程序猿優秀,也包括現在的我。
夢想還是要有的
不忘初心,方得始終。又是一句老生常談的話。但我個人打心里認同它。15年我提前從大學一個人來到北京,舉目無親,和大多數朋友一樣,然后開始了自己的北漂。在我自費接受完專業的PHP培訓之后,我發現自己對前端懷有極高的熱枕。當所有同班同學忙著求職php工作時,我找起了前端工作。這意味著不管成功或失敗,作為前端的新人,我都要自學從頭學起。好在自己運氣不賴,沒多久遇到我人生中第一家很棒的公司,以php工程師身份入職,但公司給予我充分的時間學習前端,并負責前端工作。那時候也沒有所謂的團隊帶領,幾乎靠自己,因為公司總共也就不到10人,我是第一個前端。而那時第一次讓自己出糗,便是頁面變形,飛起的及其尷尬畫面了。好在負責后端的leader很有耐心,在下班閑暇之余指導我如何構造最基本的布局、排版。Leader的寬容讓我漸漸冷靜,心亂如麻的感覺也頓時煙消云散,茅塞頓開。以至于后來每天晚上學習到十點、十一點回家,一個人趕末班地鐵、被通州北苑那個大風吹、通宵做項目,心里都覺得是那么的充實、幸福。當然一路上自己也有動搖的時候,但是想想這是自己的選擇,我將無怨無悔,勇往直前。而現在看看自己走過的路,及網上此起彼伏吐槽的聲音,很多新人的關注點無時不刻的1y 8k 2y 12k 3y15k等。“這個工資是不是太低了”“哇好厲害1y 20k ”想想自己當初為什么從事編程——為什么前端開發。一個人如果忘了自己想做什么在做什么,和咸魚又有什么區別呢。水漲船高,程序猿的第一個階段——三年,會淘汰掉很多不合適編程不熱愛編程的朋友。年輕人最大的財富就是時間,而最不能浪費的,就是你現在的美好時光。
而歲月的年輪轉眼就來到了愛憎更加分明的2017年。新框架層出不窮,vue、react、angular貌似三分天下。每天待就業的剛出爐的前端百萬大軍嗷嗷待哺。有餓死膽小的撐死膽大的朋友開始吶喊淘寶首頁我一天就能仿照完!vue、react、angular等東西太多了學哪個好。不想學呀我平常學習撐死也就晚上十點,想學就學感覺前端挺簡單的怎么就找不到工作...求實習機會只要能學到東西類似這些話語,是不是感覺很熟悉。而當我拋出一個項目一個功能時群里肄業叫喊的朋友意料之內無視了。簡歷,是需要每天投遞包括海投的,但更重要的是,每天代碼的不斷練習與學習。其實我最珍惜的不是第一家公司那段學習時光,而是半年多前,偶然機會,認識了一個某BAT大牛,簡稱S吧。然后想方設法向他學習的那段痛并快樂的日子。
由于我臉皮厚,具體認識大牛的經過就不敘述了。在遇到項目中我無法解決的問題,通過自己方法倒騰老半天最后百度無門之后,我一定會去找他的。S人好性格好,所以我后來不要臉直接跑他家解決問題了。很多時候代碼一敲,問題get done,抬頭一看時間就是夜里兩三點了。S也一直陪著我。也因為迫切想要解決問題,所以經常不吃晚飯就飛奔S家中。這時候S就會帶我吃出去吃夜宵。吃完我說我想回去睡幾個小時早上再擠地鐵上班,S就說睡我這的地毯上,有備用被子,節省時間,到時上地鐵也方便。我就這樣跟著S學了好幾個月,好多個夜晚,做夢都是敲代碼,就這么度過的。S陪我陪的時間多了,很多時候我心里也很不是滋味,畢竟欠他很多。所以每當發工資,我都要約他出去大搓一頓。他教會了我正常的工作流程是怎樣的,任務下達如何正確評估工期,如何規劃自己每天的工作,如何更好與同事合作。解決bug的思路是什么,既要勇于承擔責任,也不能信口雌黃。他從最開始手把手幫我敲代碼到后來慢慢引導我自主獨立思考,他像個哥哥、人生導師一樣毫無保留幫我。真的就是個良師益友。對了忘說了,他就比我大兩歲。但是他對編程及其熱愛,以前他自己也經常通宵看代碼、敲代碼。白與晝對他來說,根本不重要。一個全棧工程師,強項是Php,但PS水平、OOP思想、前端功底深不可測,現在又自學Python django、Swift語言。S是我永遠學習的榜樣。我從他那真的學習到很多。而現在當我沒任務時,我就秉承他教導我的,我的基本狀態就是學習,上某前端網繼續學習原生JS、Jquery,如何優化代碼,提高執行效率。如何改寫插件、為我所用。CSS3新特性又出了哪些,Canvas還可以實現什么功能,寫個demo。文檔是如何闡述、小程序是如何開發。
說了這么多。最后上點干貨吧。瀏覽器內核傾向于那個引擎、如何處理H5新標簽瀏覽器兼容問題、標準的CSS盒子模型是怎樣的,和低版本IE盒子模型有什么區別,如何讓一個非固定寬高div垂直水平居中代碼最少并做好瀏覽器兼容、CSS3新特性有哪些、Less與Sass的區別是什么、JS實現繼承有哪些方法、JS作用鏈域是什么、JS延遲加載方法有哪些、前端優化手段又有哪些,異步加載JS有哪些方式、什么叫優雅降級和漸進增強。最后借用某金的我很佩服的一道面試題:什么是淺復制和深復制,區別是什么,如何實現object深復制。
我從來沒想過自己要成為初級前端,我只是像所有熱愛編程的朋友們你們一樣,我想快速成長。我知道我需要學習的還很多,我至今獨立負責過6個項目,包含微信公眾號、小程序、PC端移動端響應式,可能項目復雜度在前輩們眼中不高,沒用到什么最前沿的框架及技術。但正因為這樣,才更需要錘煉不是嗎。良言一句三冬暖惡語傷人六月寒,向所有熱愛編程的同學們致敬。謝謝所有直接間接幫過我的朋友,有了你們的鼓勵、支持,我才能義無反顧走的更遠。也謝謝曾經那些不值一提的挫折,正因為你們,我才變得更加強大。更感謝我自己,還好沒放棄。
我愛編程,我愛前端,歡迎各位小伙伴一起交流。成長的路上,讓我們一起同行,呼吸與共。