我在阿里做技术面试官的一些经验
我可能是在同龄人中做面试官经验比较丰富的,在某乎实习的时候就参与了前端的技术面试。后来在阿里以及另一家公司也面试过不少候选人,校招、社招、外包都有面试过。这里以一个面试官的角度来给大家谈谈在面试的时候怎么能给面试官留下更好的印象,更容易拿到大厂的Offer。为了不造成任何面试题泄露,这里我不会涉及到任何具体的面试题。
社招和校招的面试重点
社招其实和校招的面试重点有一些区别,以前端为例,社招更看重对前端技术体系的深入理解,以及解决问题的能力。比如对React的实现原理的理解,性能、安全等方面问题。为了避免泄题嫌疑这里就不举具体例子,具体大家可以自行搜索一下。
社招的通常简历中会有很多项目经历,面试官也会挑一两个项目问的比较深入,所以写在简历上的项目一定要自己有比较深的理解,不然面试的时候深入问一下答不上来就会非常不好。
相对的,校招更看重的其实是基本功和学习能力(或者说是潜力)。前端知识更多会考一些基础的JS和CSS,框架的原理方面不会问的很深,数据结构和算法、网络协议等会问的比较多,如果有靠谱的项目/比赛经历也会是考察重点。
还有比较敏感的学历问题,坦白说,如果一个HR/面试官要从成百上千的简历中初步筛选,是没有精力一个个认真看的,学历作为一个重要指标这个时候非常值得参考。而实际情况也是高学历的候选人大部分时候会明显强于低学历的候选人,即使一些人的简历看起来非常华丽。
大厂的面试流程
一般阿里腾讯这样的大公司,校招面试的流程是一轮统一笔试+三轮技术面试+一轮HR面试,如果对候选人的水平有争议,技术面试有可能会增加一轮,以2019年春招(实习生招聘)为例:
- 统一的笔试。
- 技术初面,一般这一轮都是由你将来同一个团队的比较资深的同事来面试
- 技术二面,一般是由你的未来主管面试
- 技术交叉面,一般是其他事业部的主管面试
- HR终面,非技术问题
对应届生来说,大厂统一校招前,如果你想进哪一个,一定要关注一下他们的内推信息。内推一般都不用笔试,可以直接参加面试。而且一般内推和统一招聘是分开的,也就是内推挂了依然可以参加统一招聘,多一次机会。当然内推具体会不会影响统招,还是要让内推人确认下。
这里说一下实习生的春招和秋招,春招和秋招都是招第二年毕业的学生,区别是春招签的是实习Offer,秋招会签正式Offer,所以区别大家应该懂得(春招不一定能转正)。
社招一般也是三/四轮技术面+一轮HR面,不过社招很多时候会有一轮是级别比较高的人(总监级)人来面试。
面试前准备
首先在面试前一定要花一些时间进行准备,特别是常见的比较典型的面试题要准备一下,避免由于长时间没有接触某一类知识而在面试的时候发挥失常,比如计算机网络、常见的算法等。大部分面试问题都能在网上找到相同类型的,但是想全部找到原题一边不太现实,很多面试官都会有自己准备的题目。比如我在每一次大规模招聘开始的时候,都会花一些时间自己准备几个题目。
然后就是简历一定要认真写,重点突出,最好一页就能写完。三四页的长篇大论一般我都不会认真看。简历中写上去的东西,一定要诚实,不懂得别乱写。技术面试至少有一轮面试官会对着你的简历来问的,如果写的精通实际却解释不清楚,会给面试官非常差的印象,降低整个人的信用。所以简历中写道的项目,如果是很久以前的最好自己再回忆整理一下。
既然简历不能写的太长,那么哪些东西写上去会让面试官特别感兴趣呢?
- 大型比赛获奖
- 靠谱的项目/实习经历
- 开源项目经历
相对的,有一类简历写法会让人比较反感,就是把各种技术名词罗列出来写成一长列,全是熟悉/精通xxxx
。不是不能这么写,而是不能写的特别多。没有哪个人是能全部都精通的,如果你这么写了,面试官随便挑两个问一问结果答得不好,那么会觉得你精通的都这个水平,其他肯定更不怎么样。
面试的时候的一些建议
面试官和候选人从来不是对立关系,作为面试官非常希望候选人特别优秀,最好面一个人就能直接通过,没有人想在低质量的候选人身上不断浪费时间。所以面试的时候一定要心态放好,不是去被刁难,而是平等的交流。这里说几个我认为比较重要的点:
- 诚实,确实完全不懂的就直接说不知道,不要装也不要编,面试官的水平一般远高于你,很多时候你以为忽悠过去了,其实面试官只是懒得跟你解释太多而已。
- 主动发问,如果解决一个问题的时候有一些疑问或者不懂的地方,可以主动问面试官,一般都会给你一些提示。甚至有的题目专门会留一个模棱两可的条件就是希望你能问出来的。发现并提出问题的能力也很重要
- 不怕错误,不要放弃,即使上一个题目完全错的离谱下一题也要认真对待
- 不要刻意套近乎,我就很反感上来一口一个“哥”,甚至打听面试官私人问题的
作为面试官,绝大多数人一般都是非常友好的。很多时候一些比较难的问题,都会先抛出一个相对简单的,候选人解决完之后会提出下一个要求,比如限制条件再解决这个问题,或者指出你的实现方式存在的问题然后问你怎么解决。好的面试题通常不是一上来就特别难,而是看起来不算太难,但是随着面试官逐步引导追问会变得越来越难。
很多时候一个复杂的问题在面试的时候本来就很难用一两句话描述清楚,这个时候面试官很可能会故意只进行粗略的描述,希望候选人在读题的时候能自己发现问题并提出来。如果你感觉一个面试题有模棱两可的地方,一定要主动提出来,能给面试官留下很好的印象。
面试的时候不要因为某个题目犯了严重错误就自暴自弃,后面不专心答题了。一个题目结束后调整好心态进行下一题。没有哪一个面试官会因为某一个题目而一票否决候选人,都是面试结束后根据候选人的综合表现来评价的。所以心态放好,即使个别题目错误的离谱,整体评价依然可以做到比较好。
面试结束的时候应该问点什么
一般面试快结束的时候,面试官都会问你有没有什么问题想问他的?很多人在这个时候手足无措不知道问些什么好。其实很多问题都可以问,比如:
- 团队的一些技术栈和所承担的业务
- 如果通过了未来的工作主要是做什么?
- 有师兄师姐带我么?公司有没有一些系统的培训?
- 甚至可以问一些学习的方法
但是切记有一个问题不要问,就是“我能通过这次面试么”,这个问题非常不适合在这里问,不通过的一般也不好当面说,能通过这一轮面试的一般也会其他候选人综合对比,或者有下一轮。
面试结果?
面试结束后,如果通过了,正常都会在一周内有回复的,如果等了一周也没有见到回复,那么最好问一下面试你的人,虽然八成是没戏了。如果没有通过面试也不要太灰心,可以加一下面试官的微信,或者让他帮你拉群。很多团队自己为了以后方面抢人,都会有一些招聘群,加进去方便下一次有机会的时候能获得第一手信息。
面试官面试的时候在干嘛
这个比较有意思,其实技术面试官都是比较资深的员工,大家平时都很忙的,很多时候面试其实是额外的任务。所以面试的时候,除了和候选人沟通之外,面试官有可能还在同时做自己的事。比如在线编程环节,沟通完题目要求之后,如果候选人埋头写题目不说话,我有时候就会去干别的事,15分钟后才回来看。所以即使写代码的时候最好和面试官保持沟通,说说自己的思路,不懂的地方提出来。不然面试官无聊了可能就去干别的去了。
还有很多面试官在开头会让候选人自我介绍,其实这个时候你只要保持镇定简单说下就好,他八成没听你说的话,正在抓紧时间看你的简历呢。所以我从来不会让人自我介绍,我会在面试开始前先花两分钟看完简历,标记重点要问的问题。甚至个别自己记不清的还要google一下。
最后说一句,无论多少人在说工作难找,优秀的人才总是每个公司都要抢的。
本文文字及图片出自 github.com
你也许感兴趣的:
- 【译文】面试官的笔记
- 【译文】角斗士风格面试
- 【译文】我是程序员,不是编译器
- 张一鸣:10年面试2000人,我发现混的好的人,全都有同一个特质
- 听说你 “精通” C++???
- 你可能犯了面试的最大错误
- 记录一次壮烈牺牲的阿里巴巴面试
- 牛人5次面试腾讯不成功的经验
- 一场让我持续懵比的面试
- Excuse me?这个前端面试官想搞事!
你对本文的反应是: