前端工程師從入門到BAT校招
小明:我現在大二,將來想做前端,都需要學些什么?
老王:很簡單啊,就一張圖,你看!
小明:……嗯……很好,我開始考慮轉行了。
老王:……
對于本科畢業想過校招,進BAT級別的互聯網公司,真的要面面俱到嗎!!!!
今天,小編帶你一探究竟。
BAT前端工程師校招要求整合版:
小明:雖然看起來少了點,但我如何起步呢?好多啊!!看著就想GG
然而事實不是這樣的,今天鳥君從各方收集資料,手把手教小白前端從0到1!(如有不當,歡迎各路大腿批評指正)
前端第一步,英雄必過語言關
HTML->CSS->JS->jQuery(時間:半年)附學習資源
入門:先看視頻教程再看書(2-3個月)
1、HTML(1周-2周)
http://w3school.com.cn/html/index.asp
《Head First HTML with CSS & XHTML》https://book.douban.com/subject/1472137/
2、CSS(1周)
http://w3school.com.cn/css/index.asp
3、JavaScript(2-3周)
http://w3school.com.cn/js/index.asp
《JavaScript DOM編程藝術》https://book.douban.com/subject/6038371/
4、jQuery(4-5周)
http://w3school.com.cn/jquery/index.asp
《鋒利的jQuery》https://book.douban.com/subject/10792216/
復習:(2-3個月)
1、《JavaScript高級程序設計(第3版)》(圣經級別)
https://book.douban.com/subject/10546125/
2、《?JavaScript權威指南(圣經級別)》
https://book.douban.com/subject/10549733/
此階段要注意,要理解,JS是很強大的,而框架只是輔助工具,不能養成沒了jQuery就不會寫demo的習慣!!!!
本階段,你可能需要這個IDE
VIM/Sublime Text2(前者更強大,后者更初學)
你可能需要好用的調試工具
Firebug/Chrome Dev Tools(都很好用)
如果你已經學好了上述內容,那么恭喜你,你已經可以稱得上入門級別了,然而并不要開心的太早,我們離BAT級別的公司還有一定距離。
中級:到這個階段,說真的,之前看的還記得多少?忘得差不多了吧~~很正常~所以,本階段:實踐中鍛煉,有項目做項目,沒項目找項目做!開始可以做些一般公司的官網或博客,看著暈的話,右鍵“檢查元素”~~~~然后可以復制粘貼,當然,得試著看懂。
本階段要拋棄常規的先學習再考試的思維,轉換成:考試考試,遇到不會的東西,翻書,然后背著寫一遍的模式。在實踐中學習才是本階段的王道!遇到問題,去各種搜索,翻博客,查社區,解決掉該問題,請相信我,前端知識是無窮無盡的,你可能一生都學不完,也沒必要全都去學習,招聘企業更看重你學習新東西的速度,和解決問題的能力。
(本階段歡迎來實習鳥平臺找實習)
在這里,小編列出一些你在實踐中可能遇到的一些問題,并給出相應的解決方案。3
1、CSS語言很好,但不能編程?
a)用Sass/Less
http://www.w3cplus.com/sassguide/
2、要做個項目,有沒有更多可以直接調用的框架?(常用)
a)YUI3
https://github.com/yui/yui3/wiki
b)AngularJS
c)Bootstrap
d)React
https://facebook.github.io/react/
3、每次都要部署同樣的東西??太麻煩了!項目構建工具
Grunt
http://gruntjs.com/
4、有同學說我的網站錯位了?wtf!!!需要考慮多瀏覽器兼容
a)考慮主流瀏覽器IE7/8/9/10/11,Firefox/Chrome/Safari
b)學習前端標準和規范
W3C標準
CommonJS Modules/AMD
http://wiki.commonjs.org/wiki/Modules/1.0
https://github.com/amdjs/amdjs-api/wiki/AMD
HTML5/CSS3
http://www.w3.org/Style/CSS/specs.en.html
5、版本迭代有問題,臥槽!之前代碼忘了存了!!版本管理
Git/SVN
《Git權威指南》https://book.douban.com/subject/6526452/
6、媽蛋,微信里看網頁怎么縮放了??移動web
a)響應式網頁設計
https://zh.wikipedia.org/wiki/%E5%93%8D%E5%BA%94%E5%BC%8F%E7%BD%91%E9%A1%B5%E8%AE%BE%E8%AE%A1
b)jQuery Mobile
http://jquerymobile.com/
c)ReactNative
https://facebook.github.io/react-native/
7、Bitch,開網頁的時間我都能聽首歌了!!學學性能優化
a)YSlow35 Rules
https://developer.yahoo.com/performance/rules.html
b)HTTP Watch
c)DynaTrace's Ajax
https://community.dynatrace.com/community/display/AJAX/Dynatrace+AJAX+Edition+Community+Home
d)《高性能JavaScript》
https://book.douban.com/subject/5362856/
8、和同學開發大型項目,怎么安排相關模塊??學習代碼組織
a)類庫模塊化
CommonJS/AMD
YUI3模塊
https://github.com/yui/yui3/wiki
Webpack
b)業務邏輯模塊化
Bower/component
https://github.com/bower/bower
https://github.com/componentjs/component
c)文件加載
LABjs
Sea.js/Require.js
http://requirejs.org/
d)模塊化預處理
Browserify
https://github.com/substack/node-browserify
9、網頁是開發好了,但是是靜態的,沒有數據更新?怎么辦??學習后臺相關技術(這里小編就不再詳細寫啦,相信到了這個階段,你也就知道怎么去查要學什么,怎么去找學習資源了)
a)后端開發語言PHP/Java/Python
b)Linux/Unix編程
c)Ajax
有些同學會問,要不要持續性關注社區和博客?
小編的看法:不一定的,尤其是對于初學者,那個時候你還沒有自己的判斷,如果他寫的不對的話,可能會讓你深深陷入誤導之中,但是對很多人都公認的博客和大牛,還是可以看的。
你或許可以關注的部分前端大牛的博客(來自知乎網友)
http://www.zhihu.com/question/19951193
你或許會用到的前端相關社區/會議
D2/WebRebuild
NodeParty/W3CTech/HTML5夢工廠
JSConf/滬JS(JSConf.cn)
QCon/Velocity/SDCC
JSConf/NodeConf
CSSConf
YDN/YUIConf
HybridApp
WHATWG
MDN
codepen
w3cplus
CNode
學習過程中,需要注重積累,最好有自己的博客或git,并且記錄自己的學習過程中的思考與感悟,因為面試的時候技術官真的會點進去看里面內容的質量!
最后,附上前端校招的面試題~~
英文:https://github.com/h5bp/Front-end-Developer-Interview-Questions
中文:
https://github.com/markyun/My-blog/tree/master/Front-end-Developer-Questions/Question
最后的最后,感謝本文資料的主要來源
作者:JacksonTian
原文鏈接:https://github.com/JacksonTian/fks
為更好符合校招標準,本文對原文進行了刪減和補充。