前端工程师从入门到BAT校招
前端工程师从入门到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
为更好符合校招标准,本文对原文进行了删减和补充。