机器之心报道
参与:杜伟、魔王、小舟
在程序员面试中,白板测试是评估应聘者现场沟通和解决问题能力的一种很好的方式。但北卡罗来纳州立大学和微软最近的一项研究发现,应聘者在白板面试过程中可能会因为紧张焦虑等自身情绪而无法发挥正常水平,进而在社交网络上引发了对白板面试利弊以及其他影响面试因素的热烈讨论。
又快到一年一度的秋招季,想必大家已经在摩拳擦掌跃跃欲试了。但是,除了准备好技术能力以外,你还需要熟悉面试过程的诸多环节,比如白板面试。
在软件技术求职面试中,白板面试旨在测试候选人沟通和解决问题的能力。一般情况下,在白板面试时,候选人会被给予一个任务、一个代码问题,还有一块白板。在面试时,候选人不能依赖外部参考,直接在白板上手写程序,给出整体的解决方案,并向面试官解释过程中的每一个步骤。
与传统的编程环境相比,白板面试过程中,你需要面对不熟悉的编程环境(白板、手写、面试官的目光),还要表达自己的思路和解决方案。许多企业希望通过白板面试检测候选人在陌生环境中解决问题的能力、表达能力、应变能力等等。
不过,业界对白板面试历来褒贬不一。
聚焦白板面试中的「焦虑」问题
最近,北卡罗来纳州立大学和微软合作进行的一项新研究发现,目前在许多招聘软件工程方向职位的技术面试中,测试的方向往往是应聘者是否有表现焦虑,而不是其编程能力。研究者对这个问题做了调查研究,撰写了论文《Does Stress Impact Technical Interview Performance?》,并将在 11 月 8 日 - 13 日召开的 ACM ESEC/FSE 2020 虚拟会议上展示。
论文链接:http://chrisparnin.me/pdf/stress_FSE_20.pdf
这项随机对照试验中包含 48 名计算机科学学生,研究者将他们在私人面试和公共白板面试环境下的表现进行对比后发现,在有一名面试官的情况下,候选人的表现要比私人面试降低一半还多。此外,与私人面试相比,在传统技术面试过程中,候选人的压力和认知负担要高得多。
也就是说,面试官将解决问题的能力和不必要的压力混杂在一起,可能会筛掉原本合格的应聘者。
最后,该研究提出修改面试流程,以便面试过程能够更加公正、更具包容性地评估候选人解决问题的能力。例如,使用私人面试和回顾式出声思维的形式,从而帮助企业从更宽泛和多样性的人才池中选取员工。
该论文的作者之一、北卡罗来纳州立大学计算机科学系助理教授 Chris Parnin 表示:「业界对技术面试的态度是恐惧和憎恶,这些面试方式可能不利于业界聘用到技术能力强的软件工程师。这项研究表明,大量合格的求职者被淘汰的原因,仅仅是他们不善于在观众面前使用白板编程。」
之前的一些研究发现,软件工程领域的许多开发者认为技术面试流程存在严重缺陷。因此这项研究旨在评估面试过程对有抱负的软件工程师的影响。
此外,该研究对 48 位计算机科学专业的本科生和研究生进行了技术面试。一半参与者进行的是常规技术面试,由一名面试官来观察他们的表现。另外一半的参与者被要求在私人房间中使用白板解决问题。私人面试不需要参与者口头解释他们的解决方案,而且也没有面试官观察他们的表现。
研究者通过评估每种解决方案的准确性及效率来衡量参与者的面试表现。换句话说,他们是想了解参与者编写的代码是否有效,以及运行这些代码所需的计算量。
Parnin 表示:「常规面试参与者的表现远远不及私人面试参与者,才达到后者的一半。简而言之,这项研究表明很多公司错失了真正优秀的程序员,只因为他们不擅长在白板上书写,不能在写代码的同时清楚地进行口头解释。」
研究者还注意到,当前的技术面试形式可能还被用来排除某些求职者群体。
Parnin 表示,有的面试官可能会给他们偏爱的应聘者提一些比较简单的问题。但是这种形式可能会影响到特定类别的应聘者。比如该研究发现,所有的女性参与者在公共面试中都失败了,但进行私人面试却都成功了。
这项研究样本有限,可能需要更大的样本量才能得到更确切的结论。但是通过对面试过程进行精心设计就能够有效地排除一整类求职者,这一点非常令人担忧。
而且,技术面试过程的特殊本质意味着,许多求职者会花费数周或数月时间集中精力准备技术面试,而不是为他们实际要做的工作做准备。
该研究第一作者、北卡罗来纳州立大学博士 Mahnaz Behroozi 表示:「技术面试流程使具备行业联结(industry connection)的人更有优势。但是对于那些仅仅花费时间准备技术面试却对工作本身不甚了了的人而言,技术面试给他们带来更多优势。」
「这项研究想要突出的不止是与技术行业招聘流程相关的一系列其他问题。如果技术行业能够以有效方式解决这些问题,它将在更加公平包容的道路上取得巨大进步。更重要的是,行业能够从更大、更多样化的人才池中挑选人才。」Behroozi 补充道。
网友:面试不易,学点心理学吧
这个话题在 Hacker News 等社交媒体上引起了巨大反响,众多网友纷纷以自己的亲身经历来验证这一说法的正确与否。
Hacker News 链接:https://news.ycombinator.com/item?id=23848039
下面这位网友亲身说法,详细描述了自己对候选人认识的前后转变。ta 表示,起初为 FAANG(Facebook、苹果、亚马逊、网飞和谷歌)五大科技巨擘面试职员的时候,震惊地发现一部分具有数年微软和 Facebook 工作经验的应聘者竟然不知道如何编程,并戏谑地称自己大概知道他们为何离职了。
但之后的面试经历打了这位网友大大的「一巴掌」,ta 开始意识到自己错了。显然这些应聘者都是非常棒的程序员,但他们大多数可能因为紧张焦虑而在面试过程中表现糟糕。
所以 ta 承认自己太狂妄无知了,不应该理所当然地认为那些无法在 45 分钟内快速且正确地在白板上解出高难度算法题的应聘者不合格。
由此可见,即使是经验丰富的大厂程序员,如果他们在面试中过于紧张焦虑也会无法发挥自己的真实水平,而这将不可避免地影响面试效果,给面试官留下不好的印象,进而可能无法顺利通过面试。
那么,除了面试过程中的紧张焦虑情绪,还有其他影响面试结果的因素吗?
有网友认为,紧张焦虑当然不是唯一的影响因素。所有的面试,特别是 FAANG 五大科技巨擘的面试,都是随机的。面试官可能会问一些涉及种族和性别歧视等方面的问题。面试官也可能受个人情绪的左右,问一些他们自己了解但应聘者不曾听说过的古怪问题。
还有一种情况,即使应聘者回答对了所有问题,但面试官偏偏不喜欢你回答问题的方式。总之,应聘者真的太难了!
还有网友提到了面试时间和环境也会对面试结果造成影响。
ta 通过自己的面试经历发现,午饭前或者下午 4 点以及更晚时间的应聘者会得到更糟的分数。此外,应聘者在一些味道难闻、嘈杂或由贮藏室改造而成的房间内接受面试,面试分数也可能更低一些。
所以,在调整应聘者房间以及确保他们吃饱喝足之后,面试效果出现了真实的改观。
针对紧张焦虑等面试过程中存在的诸多影响因素,有人建议程序员等知识工作者可以多学习一些心理学知识。这或许有助于调节面试过程中的不利情绪,以一种更冷静的心态面对种种突发情况。
总之,面试不易,且面且珍惜!
参考链接:
https://news.ncsu.edu/2020/07/tech-job-interviews-anxiety/