笔者作为技术团队管理者,参与了上百场的技术面试,也多次参与跨团队的交叉面试,在这个过程中,不断在从外界资源学习如何做好技术面试,同时也在与面试者接触的交谈之间,思考如何总结经验,在有限的时间内,选拔到优秀的人才,下面这部分内容就是对内部初级面试官的培训分享。

为什么让大家参与到技术面试中来?

面试是一个预期和限制都很明确的快速学习机会,是一个双向的学习机会。

深度体验换位思考,让自己和市场保持同步。你不会永远是面试官,当你准备往更高处发展,这之前的都成了准备。

流畅地表现和表达自己,具备出色的沟通能力,都会是你当下以及未来的加分项。

多轮考察充分了解面试者各方面信息,每一轮的考察应该是有层次和互补的。

面试的出发点-我们为什么要做面试?

面试,就是在有限的时间内,评估候选人是否“合适”的最佳方式。

面试是双向的,面试官在面试你的时候,你也在面试他。

如果对方考察候选人的方式折射出欠缺思考的视角、糟糕的判断,甚至对候选人缺乏尊重,那么这样的公司和团队,你也是不想加入的

怎么算合适-考察的重点

技术层面

实际问题解决能力,代码设计和实现能力,系统分析设计能力,测试和验证的能力 ;

前两个必须,后面两个是更高的要求

具体来说:

1.把具体问题抽象成若干个可解决的软件问题;

2.使用软件工程的知识与技能去解决这些问题。

非技术层面

关注基础品格、团队合作能力、学习能力、沟通能力,以及任务管理能力

不同年限面试者的区分

  • 新人(3年以下)要更关注潜力相关的素质,比如是否能够听从建议并加以思考,以及是否具备兴趣与热情。

增大对于兴趣、热情、学习能力,以及是不是能够接纳意见等“潜力素质”的考察比例。一句话,你觉得他能否在团队的帮助下快速地成长,能不能很快地晋升为高级工程师。

增加对于 CS 基础能力的考察。这部分反映了候选人技术的“底子”牢不牢靠。

  • 丰富经验的工程师(5年以上),要更关注视野,技术理解的深度,以及职业素养。

技术面试的要点

  • 面试过程和步骤最好有自己的既定规划,把控流程,保证最核心的考察项能够覆盖到,在面试者滔滔不绝演进,但是并没有传递有效信息情况下,可以礼貌的主动打断转而通过问题引导他进一步表达,使他表述的信息成为你想要了解的有效信息;
  • 设计面试题纲,最好按每个人的简历设计;如果简历中太过于简单或细节不足,可以提前准备一些面试题,不建议单纯考察算法的题目,而是考虑从一个具体问题抽象引发算法的考察;
  • 不适合问存粹知识性的,考察记忆力的,但是如果面试者简历中明确提到擅长某项内容,这部分是可以问API或一些记忆知识的,为了验证他说的擅长是否真的;

  • 可以选择一个他做过的认为做的好的项目,深入的问,挖掘细节,是否细节讲的清楚,是否思考方式和逻辑自洽,在面试者熟悉的领域中提出新的问题(有难度);

  • 简历中涉及的重要项目内容,有我们不了解的知识盲点,应该提前知识准备,不要刻意避开,通过交流,学习和了解面试者的经验和思考方式;
  • 面试官最重要的话基本分成下面这两类:(有难度)
    • 给出挑战:接着既有的内容,提出新的问题,增加新的限制,给候选人创造新的挑战;
    • 要求澄清:基于候选人的陈述,要求进一步解释问题,细化解决方法,或者给出实例。
  • 建议简历打印纸质的,在面试过程中,对面试者的回答有针对性的记录,便于后期评估;

非技术面试的要点

采用行为型问题

你能否告诉我一个实例,让我了解你在工作中是怎样说服同事,采纳你的技术决策的?

从这个问题的回答,我们能够看出很多内容,譬如说,对于不同的技术决策,候选人是根据怎样的标准来评估优劣的,候选人是怎样和同事沟通的,等等。通过这样的问答方式,面试官可以看出候选人的许多品质,比如这个例子中,候选人对问题的分析思考能力,和同事的交流沟通能力等等。

要点:

问题都是基于“过去”的

情境要包含冲突,如果可能,最好是一个棘手的冲突。

几个常规的问题帮助分析

1、你们团队有多少人?产品内部使用,还是外部使用?用户量多少?一通过团队规模了解业务复杂度

2、你在团队中的角色是什么?一想了解你是否有带团队的潜力

3、你的KPI是什么?一想了解你对自身工作价值的认知

4、你的业务会涉及到哪些外部的团队?一想知道你是否有跨团队合作能力

5、 你觉得印象最深刻的一个项目是什么?一想了解你是否具有做事情的整体把控能力:定目标、找资源、拿结果

实践问题

面试官对候选人谈及的业务或技术不了解时,如何把控局面?

不要不问,刻意回避

面试前,提前准备,学习

面试中:

1、摆正交流的心态,正视彼此认知的交集与盲区。

2、判断为什么觉得自己“不了解”或者“听不懂”,是因为自己对通用的业务或技术领域缺乏认知,还是候选人的思路与表达有问题?

3、谈及具体的业务或技术的时候,把“请候选人介绍”,变为“向候选人请教”,即便自己对它相当了解。

举个例子,候选人说,他优化了某个缓存的开源库中,锁竞争的逻辑,使得它在高并发的场景下,实现了更好的性能。那么面试官无论对这个库是否了解,都可以这样问:我听说过这个库,能否趁此机会向你请教一下,它原来性能上的缺陷在哪里,而你又做了怎样的修改提升了它的性能?

作弊

完全不可以接受,直接放弃

面试反馈

面试反馈模板

  • 考察重点:
  • 主要考察内容:
  • 优势:
  • 不足 / 担忧:

第一,优势和不足都要写到,只看到了一面,说明观察的不深入。

第二,写出观点的时候需要有论据。