最近部门招人,密集面试了一些人,有的是电话面试,有的是面对面的,面试的都是一面技术面,有一些感触,再结合自己找工作时的一些经历,写篇文章记录一下。
其实面试官首先接触到的就是简历,简历写得好最初印象分会好一些,我这里指的好包括简历排版格式字体及内容。并且实际接触下来,简历没认真写的人,往往技术水平也不咋滴。
接下来就是实打实的技术交流了。不管是电话还是面对面,面试的内容基本一致,只是面对面会要求现场白纸写代码,这是最基本的要求,一定要准备。
一般一面会考察的几个点。技术知识方面考察基础知识,对基础知识的深入思考,拓展知识,知识全面度以及与部门业务的契合度。技术素养方面考察逻辑条理,边界情况考虑,思路开阔性,技术联想,技术应用能力。
实际接触下来,很多候选人对用过的一些系统没有深入研究,说不出底层的一些实现原理,这样很难达到P6水平(阿里社招最低水平P6),甚至有一些在大型互联网公司工作过七八年的人,也只能勉强给一个P6。工作三四年的人也顶多能给到P5。
实际上,一面并不难。首先准备一下算法方面,针对面试官的题目能给出不同解法,主动分析时间空间,挑选最优一种能够写出伪代码,考虑边界情况,基本算法方面就能达标。然后准备一下项目,项目中用到的知识或框架去Google一下原理,有时间能看看源码或者画画架构,项目方面也基本没问题。平时多关注一些技术社区,论坛,多关注一些分布式系统原理,高可用系统设计,架构设计,并发处理等,在面试的时候能够说一说,那是极好的。
阿里的面试相对其他公司,可能对算法方面相对要求不是那么高,但是架构能力要求会更高。
而作为一个面试官,也是有一些技巧的。面试的目的是挖掘候选人的能力和潜力,不要漏掉任何一个人才,所以面试官的技巧也是至关重要的。首先不要急于否定候选人的言论,多问一问为什么这样思考,对其中一些不合理的点再追问,有的候选人能够马上意识到并且改正,这种我们还是可以考虑的。当候选人思考很久没有思路时,可以进行适当提示,如果候选人能够快速反应并且根据提示给出合理思路,这种人我们也会考虑给过。其次是认真仔细听,毕竟是候选人在面试,所以一般面试官只问问题和斧正,大多精力放在听上面。千万不要先入为主把候选人的答案和正确答案联系在一起,有的候选人会答一些比较宽泛的答案,和正确答案有点接近,但是又没说清楚,这时候需要追问,有的候选人在被追问之后,并没有清晰思路。最后,关注候选人的精神面貌和状态,其实是积极思考还是消极被动回答,多面几个人就能感觉出来。有的候选人在你问完一个问题之后,会以点带面,把相关知识倾囊而出,有的候选人则像挤牙膏一样,问一点答一点。如果你是面试官,你会选谁呢?毕竟以后是要做同事的。
好了,面经分享完毕,想深入了解细节的小伙伴们,请关注公众号,和小编深入交流。