金三银四。
最近又到了求职面试高峰,有很多同学问我关于前端面试的事情。今天我就来聊聊,作为创业公司的前端leader,我平时招人喜欢招什么类型的候选人,我喜欢考察哪些方面。
抛砖引玉,希望能给你带来思考。
一、
团队想要什么类型的同事
每当公司有人员流动,或者新项目入场,都会面临着招人的需求。因为我以前经历过简历石沉大海的尴尬境遇,也遇到过有同学跟我吐槽刚毕业或者刚培训完,因没有工作经验等找不到工作...
所以我会提前跟我司负责招聘的HR打好招呼,不要求工作经验(在我这儿,工作经验不代表你技术有多牛);学历大专即可(不一定非要限制在本科以上,专科的同学同样很努力);有项目经验优先(项目经验是必须要有的,除非我司明确招实习生,否则招来就是要上手干活的)。
土哥也是尽量站在广大求职应聘前端岗位的同学的角度出发的,算是体恤“民情”了吧,哈哈哈。
我认为,面试除了要考察面试者的硬性能力是否过硬,也得看缘分。缘分这方面,说实话,主要是看面试官的主观感受了。所以作为一个面试官,我得首先明确我或者团队想要招一个什么样的人,来作为我们的同事。
二、
我个人比较看重哪些东西
1. 先来聊聊简历。
简历上罗列一大堆技术名词的,没有侧重点的,在我这里,一般是减分的。
有个人技术博客,或者GitHub账户的,我一般都会去看看,毕竟我也是从这些地方起家的,比较感兴趣。进去主要内容的成色,质量好的加分,质量差的减分。
如果简历上没有体现的,我也会多嘴问一句。万一有的同学忘记写了呢,这也很正常。
2. 思维和思考,都很重要
一般情况下,刚开始的时候,我都会问他都做过哪些项目,然后在描述过程中找一些我觉得可以深挖的点来问,或者也会直接问他,觉得做过的比较有技术挑战或者有意思的事情。
如果是现场面试的话可以让他在纸上边画图边阐述。这部分如果是一些经验比较丰富或者 title 是中高级前端工程师的话,我会让讲讲之前做过的项目的技术方案,画一画项目架构图,当时面临一些选择时的思考角度和评判标准等等,包括技术栈的一些选择、如何权衡利弊。
3. 敲代码的功底
敲代码的功底,其实是咱们前端工程师的核心能力,包括对思维逻辑和 JS 语言熟练度的考察。
一般来我司面试前端岗的同学,都会有笔试题。上面一般有两道代码题,如果答得不是特别好的话,我可能会跟他聊聊优化的思路,给一些提示,看看对方的反应。如果两道代码题都没有答出来的话,我就要谨慎对待了。
如果笔试题答得很好,再问一些其他问题时,也可以顺势让他再手写实现一些东西。譬如:
问问 JS 中函数内部的 this 指向问题,能答出谁调用就指向谁,就问问改变 this 指向的方法,能答出 call/apply/bind,就可以让他手写个 call 试试,哪怕他之前没实现过,但结合自己之前说的“this 是谁调用就指向谁”和“call 可以改变 this 的指向”,也应该要能想到只要把函数赋值给 this 的第一个参数 obj,然后通过 obj 来调用该函数就可以令函数里的 this 指向 obj。
面试者熟悉 Vue 的话可以问问他 Vue 的数据绑定原理,一般人都能答出 defineProperty 和观察者模式(订阅发布模式),那就让他描述下观察者模式,能描述出来的话就可以让他实现一个 Observable 构造器。
当然有很多东西可以让他写,因为我们不是要招什么算法大牛,不用找艰深的算法题给人家做,最好就在问问题的过程中顺势找一些需求让他实现下。也可以是一些具体的场景题,譬如问到节流防抖什么的,可以找个实时搜索的例子,让对方实现下 debounce,就算对方没听过节流防抖这样的概念,具体的场景描述清楚了,也应该有正确的思路能实现出来。
4. JS框架也是必问的
一般面试者的简历里会写一点他擅长的东西,写到什么就问什么,尽量由浅入深地问。譬如他说熟悉 Redux,那可以问问他们项目里是怎么用 Redux 的,用过哪些 Redux 中间件,对中间件的实现机制有没有了解,你觉得哪些场景是真的适合用 Redux 的,对 Redux 的实现原理有没有了解……以我的面试经历来看,很多人写着熟悉 Redux,其实只停留在“用过”。
然后 JS 相关的话,如果他简历上有写,闭包啊原型链啊一些 ES6 的特性,像什么 Promise/Proxy 这些都可以问问。如果简历比较单薄的话,也可以直接问他比较擅长的是哪方面,然后尽量问一些相关的东西。
5. 还可以问问技术广度
主是一些“前端”领域外的知识,这部分不强求,简历上如果有的话我会问一问,主要是看看主动学习能力以及对技术的兴趣。
6. 沟通、合作能力
面试过程中其实是可以看出一个人的沟通能力和大致的工作态度的,在问项目的时候可以问一些跟人合作相关的事情,如何推动自己的项目落地之类的。
还有就是面试的时候适当紧张是可以理解的,但有一些同学,明明简历很不错,从博客和 github 上看也很好学,但是特别紧张,话都说不利索,在我这儿,一般都是减分的。毕竟心理素质和抗压能力也是工作中必不可少的部分。
三、
自学web前端怎么找工作
最近有很多同学问起,自学web前端的,该怎么找工作?我也简单聊聊。
1、你做过的项目可以体现你的价值。
2、你的个人博客可以反映你的思考。
3、你的GitHub页面可以展示你的项目。
4、你项目中的代码可以看出你编程的风格。
1、2、3、4 之间有交集。
当你能证明,你能创造的价值是公司所需要的,你可以打开一扇门。
当你能证明,你的性格、品性、态度是公司所喜欢的,你能留下来。
以上,就是今天分享的所有内容。
很多人都自学编程,有时候就看你愿意走多远。