自學怎么學好前端開發?
一千個人來回答這個問題有一千種答案,每個人的自學能力各不相同,適合我的方法不一定適合你。但是大家可以相互借鑒,蘋果交換過后還是一個蘋果,思想交換過后就是兩種思想了。我這里把我的方法分享出來,多少也有一些借鑒的經驗或者讓你少走一些彎路。
有的人喜歡安靜的一個人看書專研,有的人喜歡看網絡視頻教程,而我更偏向於后者,當然你時間充足的話看書加看視頻效果更好。學習的主線視頻是我花10塊錢在某寶上淘的,這套視頻是傳智播客2015.12-2016.3期間實體班的全程錄像,很新,最主要的是視頻質量超高,老師講得特別仔細,源碼筆記PPT都有,面面俱到,而且讓我特別佩服的是每個老師都講得這么好,我真的要為傳智播客的老師點個贊!特別是汪老師!說到這里有點小激動了,小小的幫他們打一波廣告,畢竟自己只花了10塊錢網上買的盜版資源,學到了東西還是挺感激的。除了傳智播客的這套視頻之外,還有一套麥子學院的,也是完整的,以及一些其他平台零零散散的視頻,用來查缺補漏。
下面我開始分階段的把我的學習過程回憶一遍,全程大概四個月,前兩個月是邊上班邊學,利用晚上下班回家的時間,8點-12點4個小時,后兩個月辭職在家閉關學習。全程80%都是看視頻學,視頻資源需要的可以找我要,免費分享出來。
1,HTML/CSS部分
這部分內容很簡單,沒有任何的門檻,而且最主要的是你寫出來的代碼能實時的看到效果,很直觀,不像JS那么抽象,所以我基本上花一周的時間把傳智播客的這部分視頻過了一遍,然后慕課網上《HTML+CSS基礎課程》http://www.imooc.com/learn/9也過了一遍,自己寫了3個demo,當然寫的不是很流暢,特別的慢,這不要緊,因為剛開始你還不是很熟悉,慢是正常的,后面寫的多了速度就漸漸會快起來。這部分就先過了,因為確實不難,所以我這里也不爛費筆墨了。
2,原生JS部分
這部分是重中之重,我前前后后差不多過了4遍吧,傳智播客的視頻一遍,慕課網上的文字教程加練習一遍,千峰教育的視頻一遍,以及智能社的視頻一遍。當然這4遍我不是都在這個階段完成的,因為原生JS這東西要學好還是有一定的難度,我現在對高級面向對象這一塊兒也還弄的不是特別的透徹,所以你一開始可以把這部分放到后面回來復習的時候再學。傳智播客的視頻和慕課網上的教程我是在這個階段完成的。這里我推薦下慕課網上的教程http://www.imooc.com/course/programdetail/pid/32,首先他把JS的內容划分為JS基礎,事件處理,JS動畫以及實踐幾個部分,這樣會讓你思路更清晰的去學習,而且每個知識點都有相應的代碼練習,增強你對代碼的理解和記憶。你把傳智的視頻和慕課網上的這套教材都過一遍,然后再找點實例練練手找找感覺,這個階段就可以暫時先過了。
3,jQuery部分。
如果你原生JS掌握的還可以的話,jQuery這部分你學起來相對就會輕松許多。老套路,依然是傳智播客的視頻和慕課網上對應的教程走一遍,期間穿插一些實例做做練手。
4,慕課網上《手把手教你實現電商網站開發》實戰練習。附上傳送門http://www.imooc.com/learn/100
視頻時長一共8小時,2天就可以看完。當然你2天肯定是搞不定的,重點在於你看完了過后要自己寫一遍。這里我分享一下我是怎么學的這個教程。
首先每一章視頻先看完,然后把對應的PSD圖下載下來,這里需要用到Fireworks軟件來切圖,自己上網查一下軟件的用法,會切圖過后,自己對着PSD原圖回憶視頻里老師怎么講的,然后自己嘗試着把它寫出來,當然不一定完全按照老師講得那么來寫,你也可以用自己的方法實現相同的效果。如果遇到不會的,倒回去看視頻里面老師是怎么寫的,這樣可以讓你印象更加深刻,以后遇到這個問題的時候就會了。一個頁面完成過后再開始看下一章的視頻,依次下去直到所有的頁面寫完。
寫完頁面其實視頻里面也完了,老師只講了純靜態頁面的實現效果,像里面的輪播圖,放大鏡,登陸注冊表單驗證等功能模塊兒並沒有講怎么去實現。前面JS部分和JQuery部分的視頻里面應該有講到過,沒有的話去騰訊課堂或者百度傳課上搜,有單獨講放大鏡、輪播圖這些功能模塊兒的視頻教程。把這些功能都加到這個靜態頁面里去,就可以當成一個項目了,后面面試的時候會用到。
慕課網有個比較好的地方在於他可以在線記筆記,課程下面還有一些其他同學的評論,大家可以在底下交流,你時常會在評論里面看到跟你一樣的菜鳥各種抱怨聽不懂之類的,這可以給你減輕壓力,大家都一樣半斤八兩,你不會的別人也不會,如果你肯多花點心思把你不會的這個點弄懂過后,那你就比別人前進了一步。
5,HTML5/CSS3,AJAX
這部分純看傳智的視頻就夠了,講得特別細,重點在於HTML5新增的東西和CSS3的動畫,Canvas這東西面試的時候基本沒人問。因為AJAX這部分傳智的視頻也講得特別好,所以我把它也放到這個階段一起了,重點搞清楚AJAX的運行機制和原理,jsonp是怎么實現跨域的,面試的時候會問。
6,基於Bootstrap的PC/移動端響應式頁面實戰
主線視頻第9部分前面三天講的就是這個項目實戰,是我最喜歡的汪老師講的,我說講得好那就是真講得好,幽默風趣的授課風格,面面俱到的授課內容。他特別注重對學生前端開發思維邏輯方面的培養,尤其是在AngularJS這部分,內部的原理,他會結合實際生活中的例子來講,讓你更容易理解。這點對我后面的面試幫助特別大。這個項目你也要看完視頻過后脫離老師的代碼獨自寫出來,后面放在簡歷當中。
7,原生JS復習,外加高級面向對象
因為5,6兩個階段基本上沒怎么動過原生JS,所以你忘得也差不多了,這時候回去復習一遍,加深一下印象,鞏固一下。基礎夠扎實了后,可以開始看面向對象的一些教程了,這部分特別的饒,初學者想要完全理解是有點困難,不過沒關系,把幾個面試容易問到的東西強行記一下:1,繼承可以通過哪些方式實現。2,什么是閉包。3,什么是原型鏈。
8,git/gulp/bower等工具構建前端自動化工作流,AngularJs
全在主線視頻第13個流行框架里面了,汪老師講的,擴展講了特別多知識,很受用。其中的這個基於AngularJs開發的實例項目你也可以放在你的簡歷里邊,你可以不用自己寫出來,因為我自己也沒有寫,但是你得搞懂原理,不然面試官一問就露餡了。
9,附加知識:LESS,SASS,Node.js,Vue.js,guthub
10,最后再仔細過一遍原生JS
如果你能堅持到這里,成功了90%了!最后這一步都是為面試做准備的,因為根據我面試經驗來看,面試官問的最多的就是原生JS,其次是HTML5/CSS3,AJAX,框架類的東西問的少,除非是比較特殊的公司,像我選擇的這家企業做通訊項目的,用到的框架我聽都沒聽說過,進去過后要現學,所以要求你對原生JS特別熟練,然后框架要接觸的多,會問一些框架里面很深入偏邏輯性的問題,雖然我答得也不怎么樣,但還好之前汪老師講過一些前端框架方面邏輯性的一些思想,蒙混過關通過了。
下面我把我面試遇到的一些問題羅列出來,理論性的東西我就不寫答案了,自己可以百度,關於HR方面的一些問題我給出我的回答做參考:
1)HTML/CSS方面(包括HTML5/CSS3)
--你通過哪些方式來實現網頁優化?
--position:relation和position:absolute有什么區別?
--為什么要使用CSS雪碧圖
--HTML5新增了哪些元素?
--CSS3動畫怎么兼容瀏覽器?
--IE6有哪些BUG,你是怎么解決的
2)JS方面
--什么是變量提升,以及各種關於變量提升的筆試題
-- HTTP狀態碼有哪些?
--AJAX的原理,get和post的區別?
--json和jsonp的區別,jsonp是怎么實現跨域的,跨域有哪些方式可以實現?
--怎么實現數組反轉?
--字符串常用的方法有哪些?
--JS實現繼承有哪些方式?
--什么是閉包?
--什么是原型鏈?
3)框架方面
--bootstrap里面的柵格系統有多少格?
--jQuery里面通過$(“#id”)獲取到的是什么?
--end()是什么
--你怎么理解Angularjs的模塊化,它的雙向數據綁定是怎么實現的
4)HR方面
--關於項目細節
我的簡歷里面一共三個項目,就是之前寫過的電商平台,基於bootstrap的響應式頁面,還有個AngularJs實現的項目,你在每個項目下面寫上幾條你很懂的技術要點,面試官一般都會挑幾條問一下,因為你寫的都是你很懂的,所以回答起來就沒什么問題。
--關於上家公司的一些細節
我是隨便亂寫的一家公司,問到之前公司關於人數的時候回答一定要很肯定的說出具體數字,不能模棱兩可。最好說有一個師傅帶你。
--離職原因
這個就隨便編了,注意不要說之前公司的壞話
--期望薪資
自己掂量一下自己幾斤幾兩,然后說一個適當的區間
--假如你們公司一個項目出現問題,要么你留下來加班到12點,要么你同事留下來加班到12點,而你們都有事不想加班,你會怎么辦?
我的回答是我自己留下來加班,讓他欠我一個人情,下次我有事找他幫忙時也好說話一點。(自己有想法的自由發揮)
我大致是按照這個流程走下來的,中間可能有些許差別都不大。只要你努力付出了,肯定是有回報的。
最后送大家一句話:當你的才華還撐不起你的夢想時,Power UP!