如何招一个靠谱的前端

8,907 阅读6分钟

刚看了下面试记录,有 99 场了。前两天在内网分享了一点面试经验,索性也发到掘金,勉强维持下活跃度这样子……面试官可以参考下面试思路,当然所有开发同学都可以看看,或许会对如何自我提升产生些新的思考。

明确你想招什么样的人

我一直觉得面试就像相亲,除了考察面试者的硬性能力是否过硬,也得看缘分。缘分这一部分说实话就主要看面试官的主观感受了,所以作为一个面试官你得先明确你或者团队想要招一个什么样的人,大多数时候也得考虑 HC。譬如你们现在只有 P5 以上的 HC,也就是你想招的是那种来了就能干活的,而不是一些比较有潜力,但经验不足还得带一阵才能上手的新人,那除了考察基本的代码能力、前端基础外,对一些用到的技术栈(只要他简历有提到)就得多问一些。

我个人比较看重的点

简历

有博客或者 github 链接的一般都会去看看,内容好加分,内容差减分,甚至直接简历不通过……

日常工作中的思考

一般一开始我都会让他介绍下做过的项目,然后在描述过程中找一些我觉得可以深挖的点来问,或者也会直接问他觉得做过的比较有技术挑战或者有意思的事情,如果是现场面试的话可以让他在纸上边画图边阐述。这部分如果是一些经验比较丰富或者 title 是架构师、技术经理之类的面试者,可以把重点放在架构设计方面,让他讲讲做过的技术方案,画一画架构图,说说他的方案和一些市面上已有方案的对比,当时面临一些选择时的思考角度和评判标准等等。

代码能力

代码能力其实是核心能力,包括对思维逻辑和 JS 语言熟练度的考察。笔试题上的两道代码题如果答得不是特别好的话(当然至少要能答出一题,两题都答不出一般笔试就不通过了),可以跟他聊聊优化的思路,给一些提示,看看对方的反应。如果笔试题答得很好,在问一些其他问题的时候也可以顺势让他再手写实现一些东西。譬如:

  • 问 JS 中函数内部的 this 指向问题,能答出谁调用就指向谁,就问问改变 this 指向的方法,能答出 call/apply/bind,就可以让他手写个 call 试试,哪怕他之前没实现过,但结合自己之前说的“this 是谁调用就指向谁”和“call 可以改变 this 的指向”,也应该要能想到只要把函数赋值给 this 的第一个参数 obj,然后通过 obj 来调用该函数就可以令函数里的 this 指向 obj。
  • 面试者熟悉 Vue 的话可以问问他 Vue 的数据绑定原理,一般人都能答出 defineProperty 和观察者模式(订阅发布模式),那就让他描述下观察者模式,能描述出来的话就可以让他实现一个 Observable 构造器。

当然有很多东西可以让他写,因为我们不是要招什么算法大牛,不用找艰深的算法题给人家做,最好就在问问题的过程中顺势找一些需求让他实现下。也可以是一些具体的场景题,譬如问到节流防抖什么的,可以找个实时搜索的例子,让对方实现下 debounce,就算对方没听过节流防抖这样的概念,具体的场景描述清楚了,也应该有正确的思路能实现出来。

框架相关和 JS 基础

一般面试者的简历里会写一点他擅长的东西,写到什么就问什么,尽量由浅入深地问。譬如他说熟悉 Redux,那可以问问他们项目里是怎么用 Redux 的,用过哪些 Redux 中间件,对中间件的实现机制有没有了解,你觉得哪些场景是真的适合用 Redux 的,对 Redux 的实现原理有没有了解……以我的面试经历来看,很多人写着熟悉 Redux,其实只停留在“用过”。

然后 JS 相关的话,如果他简历上有写,闭包啊原型链啊一些 ES6 的特性,像什么 Promise/Proxy 这些都可以问问。如果简历比较单薄的话,也可以直接问他比较擅长的是哪方面,然后尽量问一些相关的东西。

技术广度

主是一些“前端”领域外的知识,这部分不强求,简历上如果有的话我会问一问,主要是看看主动学习能力以及对技术的兴趣。

软技能

面试过程中其实是可以看出一个人的沟通能力和大致的工作态度的,在问项目的时候可以问一些跟人合作相关的事情,如何推动自己的项目落地之类的。还有就是面试的时候适当紧张是可以理解的,但有一些同学,明明简历很不错,从博客和 github 上看也很好学,但是特别紧张,话都说不利索,我一般也不会过……毕竟心理素质和抗压能力也是工作中必不可少的部分。

总结

这篇东西其实比较主观,夹带了我自己的个人喜好(譬如我从不问 CSS……因为我觉得我们的业务对 UI 要求也不高,一般写过几个项目的人都能搞定我们的 UI),不过面试就是这样,是受面试官的个人喜好影响的。大多数时候我都是看简历上有什么就问什么,会问到一些这篇文章以外的东西。面试不是考试,面试的过程无非是在交流中让面试官认可面试者的能力,并愿意跟他成为同事。 所以哪怕简历上写的某个东西我并不擅长甚至没接触过,我也会问问,如果对方能描述清楚,也一样加分,做面试官也能学到点新的东西,多好。

PS:我是真没想到分享一点微薄的面试经验和我认为比较重要的可以自我提升的点都会有人在评论里喷(好像有些已经删了),哈哈哈,人生啊……让我想到孙渣的图:

当然,欢迎交流经验,有问题和建议也可以留言~