面试的一些思考

写在前面

在一个小时内对一我的作出 yes or no 的判断,是一件复杂的工程 —— 信息的输入、消化、整合、再输出都要在面对面的形态下,实时密集的进行;同时,信息的不对称也增长了咱们的沟通成本,不时伴随着困惑与纠结。技术面试确实容易在不少方面出现问题,本文基于本身在面试经验所成,不妨一看。面试

一些容易被忽视的原则

首先,面试是一个双向选择的过程。从面试角度来说,考察候选人的时候看的是这我的,而反过来候选人看面试官看到的是一个公司的形象表明,因此做为面试官,主要目标应该有两个:一是尽量深刻地了解候选人,二是须要向候选人展现我司形象。(面试官行为规范)算法

其次,切忌和候选人比拼知识技能。一方面知识技能和每一个人的经历关系很大,咱们很难找到彻底匹配当前工做的候选人,考察注重的应该是候选人的学习能力,另一方面展现面试官的自身技能并不是面试的目的。编程

最后,咱们要找的是合做者、将来的同事。一方面在面试过程当中,候选人陷入困局的时候不妨点拨他一下,想一想本身团队若是有个同窗搞不定问题时你会怎么作?另一方面在最终决定要不要经过时若是犹豫不决,必定须要问本身一个问题,那就是若是这我的成为你的同事,你是否是很愿意和他在一个团队并肩做战?设计模式

面试前的准备以及开场

首先,面试前最好可以阅读一下候选人的简历,了解一些基本信息,发现一些有待澄清的疑问点,以及可能的兴趣点。微服务

其次,面试开场白主要是让候选人进入面试的状态,因此简单寒暄几句就好,不建议让他完整地介绍人生旅程,或者重复简历上已有的内容,不然就是在浪费时间。学习

最后,面试的同时能够及时的备注面试者的回答信息,方便后续面试官的信息同步和决策判断。(面试官评价模版)网站

工程的面试问题

1、询问过去工做中碰到过的一个项目或者解决过的问题
尽量按照 STAR (Situation, Task, Action, Result) 的技巧来组织对话,了解问题背后的信息,候选人本人的贡献,以及反映出来的能力。设计

一般来讲这个问题我习惯放在最前面,由于对于这类问题候选人比较熟悉,回答的时候不会过于紧张。另外能够经过这个问题引出后续的一些具体的技术问题。面试技巧

这个问题能够有不少变形,好比你作过的失败的项目是什么,最成功的项目,最难的项目,印象深入的项目等等,提问的时候要考虑候选人对于回答的内容记忆是不是比较清楚的,这样有助于挖出不少细节的信息。同步

对于候选人的回答,须要判断其语言的信息量,若是形容词比较多,好比作得很好,客户反应不错之类的回答,应该要求其给出明确的描述,到底好在什么地方,有没有明确的内容和数据,而不是含糊的形容一下。一般若是一个工程师在获得明确提示的状况下仍是不能切换陈述事实的方式,那么我基本上能够认为这我的对于日常的工做是缺少理性思考的。

2、根据简历 / 背景询问关于某个具体的知识点的细节
算法编程题
算法或者代码编程题阶段,要注意候选人的思考过程,可让他本身说说本身解题的思路,计算的复杂度,潜在的问题和局限性,以及解决的方案等等。(Coding 标准)

设计问题
好比设计一个开放平台系统,一个在线购物网站等等。能够要求画出模块图,给出关键的 API 的定义或者类和类之间的关系。

注意这类问题须要提早准备,注意不要选择脑筋急转弯的问题,而应该是你们能理解的实际可能碰到的问题,另外就是不要一上来把问题所有解释清楚,由于你须要看看候选人可否主动来了解产品需求(产品每每不会把全部需求说清楚)。另一个须要注意的是这类问题能够很容易改变或者新增需求,因此能够考察候选人的方案如何适应变化的需求。

发散的面试问题

关于 * 你怎么看
这一类问题通常是没有明确的答案的,主要考察候选人是否有本身的理解,好比能够问候选人对于一些常见的编程和软件工程理念的见解,DDD、OOP、SOA、设计模式、微服务等等,来看看候选人日常对于这些问题是否有思考和总结,也能够是对于最近的一些技术热点的关注,等等。

不要指望这类问题的回答是否是和本身的观点一致,若是不一致的时候也不要想着和候选人争论,而是应该引导候选人完成地表述本身的逻辑,了解其观点背后的内容,考察候选人对于概念的理解和实践的程度,看看候选人是否有比较严密的可以自圆其说的逻辑。

你的朋友或者同事是怎么评价你的
注意这个问题实际上是候选人本身理解到的外在对他的评价,可是仍是能得到颇有意思的信息,注意有时候须要深挖。深挖的时候要让候选人描述一个能符合其观点的事实,这样才能正确评估候选人实际的状态。

这个问题能够考察候选人是否是一个自省的人,可否认识到本身的长处和短处。

最近在看什么书
我比较喜欢提的一个问题,看起来简单,可是可以观察候选人的学习方式和行为习惯,除了让候选人报出书名,必定须要让他讲讲这本书里面让他印象深入的章节,以及他从中学到了什么?

工做之余作什么事情
提出这个问题是观察候选人是否是真的对技术有兴趣和热情,一个工程师的业余生活也颇有可能和技术有很大的关系,好比看些开源的软件、写些平常的博客等等。

应该避免的状态

候选人反复在同一个问题上纠缠过久
若是候选人思惟陷入某个问题没法自拔,而面试官没法从沟通中获取有效信息,由于总的面试时间是有限的,因此有时候须要礼貌地打断候选人,好比说” 好的,我已经知道了,……“转移话题。

一上来就问很是困难的问题
不少候选人在碰到很是困难的问题又长时间不能解决的时候会很是紧张,影响后续发挥,既然个人目的是为了寻找日常工做中的合做伙伴,一般来讲没有必要把候选人弄得特别紧张。

提早太早结束
即便开始几个问题候选人回答不是特别顺利,最好也能从不一样的侧面考察候选人,由于可能候选人还存在其余比较优秀的方面,并且从礼貌的角度来讲我也尽可能尊重候选人。

陷入争执
这一点必定要避免,一旦出现争执,后面的面试基本上就很难继续了,即便勉强继续下去,也没法真实地考察候选人。在可能争执的点上先放下,不要试图说服候选人,转移到其余问题上。

其余的面试技巧

如何识别技术人才
在个人广泛印象中,好的技术人才每每在面试开始的时候不会很是热情,可是当聊到某个具体问题的时候,可能会忽然涛涛不绝地谈论从上到下的细节,同时又能在适当的时候收回来,不至于让人以为很是不适。优秀的人每每可以从原理到实现都理解得很是透彻,既能回答具体的细节问题,又能提出本身的观点和思考总结,而且对于新的问题可以迅速给出本身的比较靠谱的思考和解释。

面试中的沟通技巧
须要注意的是,在面试的过程当中不只仅要考察问题的回答,同时也要注意不少沟通技巧,好比观察对方是否是可以准确地理解问题,面对问题陈述有没有作适当的复述,有没有在没有问清楚需求的状况下就开始自顾自解答了。

候选人在回答的时候,若是偏题太远,须要经过适当的方式中断候选人的陈述。若是候选人陷入问题出不来的时候,须要给予适当的提示帮助他解答出问题以便顺利结束面试(不等于要最后放他经过)。

相关文章
相关标签/搜索