目前虽然招前端的地方的很多,很多互联网公司在前端领域都非常缺人,但也怕招到不靠谱的人来创造负价值。如何让公司觉得是一个靠谱的前端工程师呢?可能需要以下几个方面:
1. 懂得现代前端的一些新技术
比如:
前端自动化工具(Gulp/Grunt等)
模块化(CommonJS,AMD/CMD模块加载器,各种Bundler,ES2015 Modules等)
前端 MV* 框架(Backbone,Angular等)
编译到 CSS 和 JS 的一些语言(Less/Sass/CoffeeScript等)
前端自动化测试工具(Karma,Mocha,Web Driver等)
其他
2. 懂得Web 标准和浏览器开发维护的流程,并且关注新发布的标准和主流浏览器新实现的特性
在回答兼容性或Web标准这类问题上,最好清楚:
HTML、CSS、DOM,ECMAScript 和一些泛 HTML5 的标准是如何制定的
W3C 和 WHATWG 的区别
各种标准的不同版本和提交状态
标准和实现的差别
ECMAScript 和 JavaScript 的区别
浏览器的一些常见做法(比如给 CSS 特性加前缀)的缘由
3. 多看书,多关注技术资讯
技术资讯的来源包括RSS、邮件订阅、比较重要的邮件列表、或者follow Twitter和微博上一些比较有影响力的开发者。
4. 不仅懂得如何写,更要懂得如何不要这么写
Web 标准大多不是严格向后兼容的,很多几年前常用的写法,现在已经不被建议这么做了。有很多特性也随着时间的流逝被打上了 deprecated 的标签,如果不幸拿着一本比较老的书籍试图入门,那么很有可能就会被误导。类似的问题还有:
JavaScript 里数量众多的的过时的hack
一些在经验丰富的前端看来属于常识的东西(比如:为什么 CSS 大多放在 head,JavaScript 多放在 body 底端?)
划分各种模块、文件,添加模板的正确方式
解决一些老问题的新的best/better practice
5. 不依赖某个特定的框架或者库
比如离开了jQuery就不会写前端的人。如果高度依赖某个框架或者某个库的话,通常意味着更换一个框架/库的学习成本会比深刻理解前端原理的人高,因为这通常还是对前端不入门的表现。
6. 了解一些设计的知识
懂得基础的视觉传达/色彩构成/平面构成的知识。毕竟前端是和设计师联系比较密切的,虽然前端要做的事不仅仅包括 UI/UX,但是 UI/UX 却都主要依赖前端来实现。
7. 懂得一些后端的知识
前端工程师肯定要了解一些计算机网络和 HTTP 等协议的知识,有了这些知识去学一些后端知识是水到渠成的事情。即使只想专注于前端,但前端有一些领域(比如 JS 跨域,WebSocket,SSE,WebGL 的素材获取)都需要懂得架设简单的后端才能去实践。
8. 在前端上投入足够的时间
最后,还需要投入足够多的时间才能取得一些成果,不然就很可能就是纸上谈兵了,最后也达不到期望的结果。如果不是真的对前端感兴趣并且投入足够多的时间,与其仅仅为了“好找工作”或“找个薪水高的工作”而投前端,不如换一个自己从心底里喜欢的方向。