聊一聊FE面试那些事【原创】

最近公司由于业务的扩展、技术的延伸需要招一批有能力的小伙伴加入,而我有幸担任“技术面试官”的角色前前后后面试了不下50多位候选人,如同见证了50多位前端开发者的经历一样,在面试的过程中也让我获益匪浅,特此记录。

本文目录:

一: 属于什么级别/应该掌握哪一些技能?

本次的招聘对于级别没有特殊的限制,所以在初,中,高级分别设立三种不同的标准来考察候选人是否真的适合公司的开发工作。

1. 初级前端开发工程师:
    
      1) 基础扎实,对于HTML/CSS/JavaScript有深刻的理解,能了解闭包,原型,CSS动画等基础的内容。
      2) 有一定的项目经验,平时有养成浏览社区,吸收新鲜知识的习惯。
      3) 态度上进,对于抛出的问题即使自己没有解决方案,也有讨论的意向。

2. 中级前端开发工程师:

      1) 熟悉jquery或者underscore等其他开源框架或库的源码,对于其中一些典型方法的实现原理有些印象。
      2) 有丰富的项目经验,分别在移动端和PC端都有过项目经验,能解决移动端或者PC端的兼容问题。
      3) 有过项目性能优化的实际经验,除了雅虎军规能说出几条有实际意义的项目优化方向,对打包工具有所使用。
      4) 了解或者使用过一门除nodeJS外的后台语言。

3. 高级前端开发工程师

      1) 有过主持前端项目开发的经验,对于前端的架构有基于自己的见解。
      2) 有过完整的关于Vue/React项目的开发经验,对于前后端分离能给到一个比较友好的解决方案。
      3) 有丰富的项目性能优化的经验,能举例出二三种自己以往的项目的优化方案。
      4) 熟悉nodeJS的开发,熟悉一门除nodeJS外的后台语言。

因为暂时没有考虑招聘资深的情况,所以在本次的面试候选人过程基本上以上面3个级别作为判断条件以及判断依据,试问现在的我们给自己的大体定位于哪一个层次呢?

二: 面试中的一些事

在面试的过程中认识了很多不同类型的面试者,有独立支撑公司前端任务多年的候选人,也有刚刚进入前端行业只想着三大MVVM框架的候选人;有现在在职晚上9点多来面试的候选人,也有从乐视匆忙脱身的候选人;有长期局限于现在公司业务内容的候选人,也有活跃于各个公司推进技术改革的候选人。

形形色色的人们构成了我们的社会,通过这段时间的面试我也慢慢增加了对于我们前端人的了解,下面简单的介绍几个印象比较深刻的候选人:

候选人小A:

我见候选人小A时小A应该第二次来面试了,前面我们的另一位前端负责人给他做过一面,给我说了下小A问东问西的问题,所以我在面试的时候也提前做好了准备,由于他当时的表现我现在已经忘记他以前的经历是什么了,但是给我印象最深刻的是当我每次做一次提问之后,他总是回答一个大概,当我留给他足够的时间去思考或者回答问题时我等来的基本上是“哥,你多大?”,“哥,你家哪里的?”,“哥,你那毕业的?”这些问题,让人泪目。

面试并非是让你交朋友的,当然我们很多高情商的候选人通过一些比较有情商的做法也可以和面试官交到朋友,但是面试的半个小时更是展示我们能力的时间,并不是唠家常的时候。

候选人小B:

候选人小B和候选人小A相比来说更加的圆滑,小B并不会问类似于小A问的问题,给人的感觉也非常的热情,但是如果进行技术深入的探讨发现基础非常的薄弱,小B能及时的否定自己的观点或概念,如果我抛出一个有歧义的问题他会立即否定自己之前的观点。

虽然技术面试并不会对下多高的定义,但是我们也需要有自己坚定不移的价值观,趋炎附势并不适合一个初中级的技术人的发展,相反他只会将你推入无尽的深渊。

候选人小C:

小C是某家外包公司的前端负责人(负责的也是自己),自从从事前端方面的开发工作开始都是孤军奋战,每次遇到问题都是一阵谷歌/百度,没有几个同行的朋友,对于外面的前端发展方向也没有任何的意向,ES6、nodeJS、MVVM的等概念只能说些大概,再深入的内容都以“工作中没有用到”,"现在的项目不需要"等理由搪塞。

我们很多初级或者中级前端开发人员由于所在公司的技术栈问题可能无法使用很大很全的技术栈或者还需要兼容ie8甚至ie6这些浏览器,但是处于风起云涌的前端更新换代的时代,我们如果晚了一步可能就被这个时代所抛弃,只能被别人远远的落在后面。

候选人小D:

小D的基础可以说比较不错了,为人也是非常的谦和,如果公司最后没有收起前端招聘的口袋的话还是很有培养的价值的。在面试谈话的过程中问了他一下被很多前端人都不在意的关于设计模式的问题,小D也能将说出一些关于js去实现发布-订阅、单例等比较常用模式的原理。

小D还是很有发展的空间的,只需要一些项目的经历来磨砺下,最终还是能最后独挡一面的。

三:我们在面试需要注意什么?

我们去面试更是一个双选的过程,公司选择员工,员工选择公司,我们一天大多数时间都是在公司中度过,所以我们不需要特意的去以取巧的方式来去获得一份工作。

我在面试的过程中发现有很多人的基础特别差,尤其是现在在职的人,所以我们准备换一份工作的话就需要提前一到两周将我们前端的基础知识再拿起来《高程》《犀牛书》这些再去快速的翻一遍,将工作中遗忘的比较偏门的知识再拾起来。

在面试中发现很多人笔试题答得不错,但是实际经验经不住推敲但是自己却不承认。可能面试了不少的培训班出身或者工作相对轻松的人一开口就是三大框架,但是如果去问项目部署,公司怎么联调的等问题基本上都会卡壳。面试并非单单是考察你对三大框架的理解,更需要说下为什么使用它,主动的分析利弊会给面试官比较好的印象。

综上所述,我们来总结下我们去面试需要准备什么?

1. 扎实的基础知识
2. 对于自己的以往项目能分析利弊
3. 总结自己在做项目中踩过的坑
4. 对于自己现有/上家工作的工作流程分析优缺点
5. 有能体现出学习能力强的案例
6. 积极向上的姿态

写的不算多,也不算少,举得也都是真实的例子,跳槽或者面试都需要一个准备的过程,所以当你投简历的那一刻问一下你已经准备好了吗?

作者:一半水一半冰
出处:http://www.cnblogs.com/jingh/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。

原文地址:https://www.cnblogs.com/jingh/p/7241544.html