IT技术博客大学习 共学习 共进步

面试的艺术 - 如何面试别人

唐巧的博客 2021-04-24 23:53:46 浏览 1,624 次

前言

   工作这十年来,我面试了很多不同岗位的人。刚开始是面技术,后面是面产品,再后面是测试、运营、教研、设计。最近还面试了很多硬件相关岗位的人,比如 ID 设计师、结构设计师、质量工程师等。

   我肯定不可能同时是这些岗位的专家,大部分情况下,我都是外行。但是我又要面试这些岗位,尽可能招聘到优秀的候选人。团队如果组建得不好,工作执行上肯定会受影响。

   面试某种程度上是一门艺术,非常不标准化,又非常不确定,每个候选人都是一个独特的个体,需要你调整自己的问题,尽可能准确地判断出候选人的水平,这几乎不可能 100% 做到。

   我是如何面试各种岗位的呢?以下是我的一些小结。

如何面试别人

从 JD 开始

   当你招聘一个岗位,肯定是工作上具体的事情需要增加人手完成,所以梳理 JD(岗位描述)是招聘的第一步。

   通常 HR、面试官、候选人也是通过 JD 来达成对于目标工作的一致性认知。

   JD 主要包括两部分:

  • 岗位职责

  • 任职要求

   岗位职责将这个人进来之后的工作细化,便于你理清楚到底为什么需要这个人,这个人进来之后可以改善哪部分的工作。

   任职要求是对候选人核心素质的描述,便于提前过滤掉不合格的候选人,也便于你之后对核心素质进行考查。

承认面试考查的不完美

   一个候选人,你只花不到一个小时聊,很难完整得判断出这个人的水平。所以,面试考查算是一个不完备的决策行为。你可能误判,错过一个优秀的候选人。你也可能失误,把一个不合格的候选人招进来。

   面试的第一步,就是承认这种决策的不完美。面试就是:

   在非常有限的时间内从一堆候选人中挑出能够胜任的同学。

   而我们能做的就是尽可能提高面试的 正确率召回率

进行有区分度的考查

   面试过程中,你可以提很多问题,但是如果一个问题所有候选人都答对或者答错,那么这个问题就完全没有区分度了。你不可能全部通过或者拒绝所有候选人。

   所以,我们需要精心设计问题,让优秀的候选人能够被挑出来,不合格的能够被淘汰掉。

   在技术面试中,算法题目就是一类有区分度的问题。常常有人问:某某公司面算法,工作中用得到么?其实答案就是,如果不面算法,一般的工程开发问题都答上来了又有什么意义?面试又不是考查记忆力。

   对于工程师来说,逻辑能力和智力都是很重要的底层能力,而算法题就可以做到很好地筛选出这方面优秀的人。

用细节和数据来佐证

   候选人的简历可能非常光鲜,但是细问一下就会发现水分。所以面试的时候,我们需要就着细节问,一个事情他负责的,我们可以:

  • 问宏观。为什么做这个事情,意义是什么,目标是什么。

  • 问时间。这个事情什么时候开始的,具体每个阶段做了什么。

  • 问人员和流程。这个事情相关的同事有哪些,相互之间如何配合的。

  • 问方案。这个事情具体的方案细节是什么样的。

  • 问数据。这个事情最终的数据如何,如何评价这个数据。

  • 问困难。这个事情最大的挑战是什么,如何克服的。

  • 问收获。对这个事情有什么复盘,下一次做会有哪些不一样。

   除了问,我们还可以当场看。对于设计/产品/教研岗位,可以当场让他给你看线上的作品,讨论作品的细节。

   有了细节,你就可以更真实地判断出来他的简历是否真实,事情做得到底好不好。

关注核心基础素质

   虽然我们面试的岗位千差万别,但是有一些基础的素质,每一个岗位都需要。

   比如说:表达沟通能力。有些候选人连自己的答案都说不清楚,如何能够做好工作?而有一些候选人,说起话来滔滔不绝,但是一句也没有回答到重点上,这种人也是表达沟通能力有问题的表现。这种是信息表达的“密度”很低,和这种人工作会特别耽误时间。

   除了表达沟通能力之外,我看重的核心能力还包括:

  • 工作热情。

  • 团队精神。

  • 学习习惯。

   通过问一些案例和工作上的细节,我就可以对候选人的这些能力有一个感受。

考查核心专业能力

   不同岗位的人专业能力不一样,如果条件允许,最好还是让候选人展示一下他的专业能力。如果面试当时时间不够,也可以是以作业的方式来考查。

  • 对于技术岗位,可以当场考查一些代码。

  • 对于产品岗位,可以留一个产品分析的作业,或者当场对一些产品交互进行分析。

  • 对于设计岗位,可以让他当场手绘一张图或者留一个设计作业。

  • 对于测试岗位,可以当场分析一些用例。

  • 对于硬件产品经理,可以做一个策划作业。

标准化和复盘

   当你面试一个岗位的人久了,你就可以形成自己的面试「方法论」。这个方法论包括:

  • 一组你熟悉的面试题目,你可以灵活地使用。

  • 对于这套题目的答案好坏程度的经验值,帮助你将候选人分级。

   这套方法论固化下来,可以共享给同事,大家用一个统一的标准来面试。

   每隔一段时间,你也需要复盘一下。有时候因为环境的变化,一些题目不太适用或者已经太普遍了,无法产生区分度,这个时候需要进行调整。

小结

   面试从梳理 JD 开始,在承认面试不可能完美的前提下:

  • 关注候选人的核心基础能力,通过问细节和数据来获得更详细的信息。

  • 在专业考查上,通过现场和事后的作业,保证专业能力过关。

  • 通过标准化和复盘,总结和迭代自己的面试方法。

建议继续学习

  1. Java开发岗位面试题归类汇总 (阅读 21,761)
  2. 面试题 – 为什么我的朋友圈不见了? (阅读 11,803)
  3. 加州求职记 (阅读 11,362)
  4. 整理了一份招PHP高级工程师的面试题 (阅读 11,303)
  5. 海量数据面试题举例 (阅读 10,826)
  6. 腾讯php程序员面试题目答案 (阅读 8,803)
  7. 面试IT业界顶尖企业所应该知道的10道题(1) (阅读 8,343)
  8. 如何在面试中发现优秀程序员 (阅读 8,102)
  9. 聊聊ThoughtWorks面试 (阅读 7,422)
  10. IBM面试记 (阅读 7,223)