第一次负责前端招聘工作,把一些想法记录下来
招聘要求
前端招聘的JD是我来负责撰写的,也考察了很多其他公司的招聘JD,大部分都包含一下几点:
- 基础扎实,包括html,css,js,http协议等。当然这点在简历上基本无法体现,因为每个人都觉得自己的基础是很扎实的,只有当面试直接问问题的时候才会暴露出基础差的问题。
- 项目经验。我认为最好的项目经验应该是基于业务的大型后台项目或者是一些交互和数据逻辑比较复杂的项目,这些业务中会产生很多奇奇怪怪的东西需要去解决,对一个前端工程师的提升应该是很大的。当然这个项目最好是建立在前后端分离的基础上,这样开发者才能真正了解我们的前端是怎么运转的,需要怎么去优化。当然在筛选简历的时候,茫茫多的简历再加上茫茫多的项目,基本很难看出一个人的技术能力,所以项目经验只能是对一个人工作年限的简单考评,以及后续面试的提问方向。
- GitHub和博客。博客是个好地方,能让面试者直接看到你对于某些内容的思考,以及对你的技能熟练程度做一个简单的评估,如果博客上有比较优秀的产出的话,在筛简历的时候是比较占优势的。GitHub就不用说了,如果是个GitHub活跃用户,我相信在技术上的追求是不会差的。
- 服务器运维能力。在这个大前端的时代,我认为简单的服务器运维也是很重要的。这项技能可以让你在更短的时间内判断服务器上的错误所在,更快的解决故障。而且目前还有前端BFF层的存在,对于前端的运维要求也会相对提高。当然这是一个加分项。
面试流程
- 自我介绍。主要是看面试者的精神面貌以及自我表达能力。
- 基础考察。这也是验证基础扎实的一项重要指标,基本十几个问题问下来就能弄清楚面试者的基础,其实考察基础内容主要还是因为目前前端市场上滥竽充数的面试者太多了,有好多工作了两三年的都还有不知道XMLHttpRequest是什么的。
- 项目经验提问。在项目中遇到过什么问题,是怎么解决的。有没有做过项目优化,是怎么优化的。这些问题可以体现出面试者对问题解决的能力,也能看出面试者是否有自主学习的能力。当然还会问一下项目中应用到的技术框架的原理实现等。比如用Hybird架构下的H5页面,是否有使用JsBridge,是否和客户端一起实现过JsBridge,是否了解实现原理,怎么进行app端的调试工作等。
- 前端工程化问题。考察前端工程化应该是前端不可或缺的一项内容,主要包括自动化构建,自动化部署,组件库等。自动化构建基本就是gulp和webpack等,考察对于这这些工具了解的深度,如果项目中仅仅用到了比如vue-cli或者create-react-app这些脚手架的配置,而没有自己去优化和定制过webpack配置的话,这一点基本就凉了。另外写过webpack插件的可以加很多的分。自动化部署包括一下CI工具,服务器命令等。
- 其中会穿插这问一些兼容性的问题,当然不可能去考察那些已经被历史掩埋了的版本。只会考察一些在生产环境上真正遇到的一些内容。