最近我所在的创业公司招聘前端,需求如下:

1. 要求至少两年以上前端开发经验;
2. 熟练掌握h5各特性,能独立完成h5页面开发,并解决页面在各浏览器及各屏幕尺寸上的css样式兼容问题;
3. 具有丰富的移动端webApp开发经验,精通移动端的手势交互、性能优化、前端组件化、vue.js 、webpack等;
4. 能够使用h5的canvas进行复杂图像绘制的优先。

然后收到很多封简历,参与面试了一些求职者,深感优秀前端工程师之稀缺、前端人员水平之参差不齐,所以写下自己觉得2年前端应该会的技能,如有不妥,请大家指正。

HTML
HTML5新标签(video/audio/canvas)
表单标签,以及HTML5新属性
结构语义化

HTML本身并不难,新出的HTML5标签挺多,但是实际用到的其实主要还是多媒体、表单这些,w3schoolsw3cplus 多看看,再写几个DEMO就差不多了

CSS
block、inline、inline-block、替换元素 各自的布局特点
字体方面的细节:font-face、行高、多行对齐、溢出省略...
float、定位、实现三栏布局、圣杯布局等等

上面这些实在基础得不能再基础的内容,就不再多说了,下面说说CSS3的新技术吧
flex 布局,移动端已经能很好的支持了
transition、animation、transform、transform3d
多背景、background-size、background-position、background-clip
渐变

移动端 viewport 概念,rem 适配等

JS
ES6 去年都发布了,ES5的技术你得会吧,比如:
数组的 forEach、map、every、some、reduce
Object.defineProperty() 等等

ajax、跨域问题解决方案
作用域链、原型链、闭包、预解释及变量提升、this指向
原生 DOM 操作,事件处理、新添加的 drag 事件
HTML5新API,常用的有 FileReader、地理位置
观察者模式、发布订阅模式
MVC 代码分层

ES6 的部分语法
let、const、暂时性死区
import / export 模块化(AMD/CMD/UMD)
解构赋值
对象属性简写
Promise
箭头函数(没有自己的 this 和 arguments)

JS库
jQuery/zepto
这还用说嘛,我认为jQuery 依然是最经典的JS库,API设计之优雅,用起来之舒服,无出其右
touch.js/hammer.js 触摸事件是个坑
iscroll 滚动
angular / react / vue 得会一个吧
SPA 得了解,写过项目吧

NodeJS、工具
npm
nodejs 写简单服务器,至少使用 express、http-proxy-middleware 二十多行代码搭建一个本地服务器,配置代理,还可以解决 ajax 跨域问题
gulp/webpack
svn/git

以上都还是应用阶段,不涉及源码解读什么、架构思想什么的,各种技术至少得会应用得熟练。

前端这几年开始爆炸式的发展,和之前的 jQuery + bootstrap 开发已经差别很大了。
其实最重要的还是自我学习能力,出现一项技术,能够快速的通过文档学习了解,遇到问题能够科学上网,Google、stackoverflow 找到解决方案

我问我师傅,你是怎么能保持七八年如一日不断学习的呢?
师傅想了想说,真的对这个行业充满热情

技术这条路其实挺简单,不需要考虑那么多,但是需要耐得住寂寞,肯动头脑肯用心。

保持热情、努力、奋斗

无觅关联推荐,快速提升流量