简单和长期的任务比短期和复杂的任务更能淘汰候选人

tl;博士:编程访谈中的问题和任务似乎过于复杂。 有时会增加压力。 这不是反对他们的唯一论据。 我们的数据表明,更复杂的任务实际上比最简单的任务更无法预测最终结果。

在时间的压力下很难编程。 特别是在面试时。 在正常情况下,这项任务看起来很简单,但在面试室的明亮光线下,它会以某种方式引起巨大的问题。 压力荷尔蒙使大脑蒙上阴影(不幸的是,战斗和逃避都不是编码者问题的有效答案)。 感觉到这些问题似乎是经过特殊设计的,具有复杂性。 我认为这些感觉不是从零开始的。

实际上,面试中的任务是故意复杂的 。 由于招聘失误要比对一名优秀工程师的失误造成的损失更大,因此它鼓励公司提高标准。 那意味着要提出难题。 从直觉上讲,这是有道理的,因为更复杂的问题似乎会淘汰最弱的问题,并揭示最强的问题。 但是直觉在这里失败了。 我们的数据显示,与相对简单的问题相比,更复杂的问题实际上产生的可预测性要差一些。

简单的问题


困难的任务会过滤掉不良的工程师,但也会过滤掉好的工程师 (即,很多假阴性结果)。 相反,简单的问题的假阴性结果较少,但假阳性的结果较多(因为更多的工程师正确回答了问题,包括一些不好的回答)。 在选择问题的最佳复杂度时,需要以某种方式平衡这两个信号。 如果一家公司不惜一切代价寻求避免误报,那么它更有可能倾向于这种艰难的局面。

但是, 正确的回答并不是面试中唯一的信号源 。 您可以评估整个过程:解决需要多长时间,代码是否干净以及解决方案花费了多少精力。 我们的分析表明,第二个信号源(过程)与第一个信号源(正确性)几乎一样重要。

但是,这是另一个折衷方案 。 带有最大过程信号的问题比带有最大正确性信号的问题要简单得多。 如果将流程减少到解决方案所需的工作量(流程的一个方面与任务的难度最直接相关),原因就会变得很清楚。 如果问题很复杂,那么所有候选人都会遇到困难(甚至那些最终会正确回答问题的人)。 因此,在评估工作时,这方面几乎没有任何信号。

相反,对于大多数应聘者而言,具有强大过程信号的任务非常容易,也就是说,仅凭正确答案就无济于事。 最佳复杂度是在平衡过程信号和响应正确性以实现最大信号时,而对于两个因素,信号不一定达到峰值。

我们采访了成千上万的工程师,并以多种方式(包括过程和准确性)评估了他们的答案,并将这些估计值与后续性能进行了比较。 在进行回归分析(同时查看过程和响应信号)之后,我们的数据表明,最大的相关性是由实际上比我们期望的要简单得多(并且比许多公司在面试中提出的问题更简单)给出的。 )

事实证明,更复杂的任务最终会过滤掉太多合格的候选人。 因此,如果您想使招聘过程更加准确,则可能应该问一些更简单的问题。

但是我想明确指出,这并不意味着降低门槛并接受更多候选人。 设定简单的任务并不意味着便利面试 。 问题的复杂程度和决策的门槛相互独立。 如果您提出相对简单的问题,但是招聘过程仍然可能非常严格,但是您需要对其进行评估。 我们的结论是,更简单的问题会发出更多信号。 您将如何处理此信号。

简单的问题也可以减轻压力,这是一个重要的好处。 压力使候选人低估了他们的能力。 当候选人感到更自在时,他将发挥最大的潜力,这使面试更具可预测性。 在我看来,面试官倾向于低估压力对应聘者的影响,而同时却高估了自己的能力。 设置任务后,很容易忘记在30至60分钟内实际可以编写多少代码。 为了消除这种偏见,我们Triplebyte采用了一条规则:访调员解决问题的时间应该比他们认为解决问题的时间多3倍。 通常,这相当于或多或少正确的评估。

任务更长


另一个重要的原因,简单的问题很有用。 它们使您可以在任务中输入更多内容,即可以使用更长,更复杂的任务,这在预测方面具有其他优势。 您可以提出随着时间的流逝变得越来越复杂的问题,并且更长,更真实的问题比简短而棘手的问题更容易预测 。 从逻辑上讲, 预测应聘者表现最简单方法是,如果您让应聘者从事与他在工作中相似的任务

部分原因是,较长的问题更接近于实际编程。 真正的编程需要长时间使用相对较大的代码库,而更长的问题更接近于这种现实。

此外,更长的问题可以让您在候选人被困时提供线索。 我认为这是至关重要的,因为即使是强大的工程师也可能在解决方案中的某些时候绊倒。 较长的任务使您有机会从错误中恢复过来,并稍后展示您的技能。 一个错误的步骤不应破坏整个采访 。 最后,有机会帮助减轻面试的压力,这又可以带来更准确的结果。

结论


通过询问候选人艰巨的任务,公司陷入了恶性循环 。 这些问题最初太难了又太短,导致招聘决策不够理想。 这些决定基于噪声信号。 当公司看到糟糕的结果时,它会尝试通过使选择过程更加严格来纠正这种情况,这通常意味着更复杂的问题 。 但这只会降低面试的准确性,等等。 公司和候选人都遭受这种恶性循环。 我看到公司在人才方面错失了人才,而候选人在职位上错失了-并承受着不必要的压力。

我希望访问员得出结论。 它们不仅可以提高选择的准确性,而且可以简化工作。 提出简单,多阶段的问题比提出复杂的简短问题要容易得多。

这是我们的提示。 如果您确实想使面试更加准确,则需要开始询问更简单的编程任务。 这并不意味着降低标准。 这只是意味着改善信号,以便更有效地淘汰候选人并雇用最有才能的人。

Source: https://habr.com/ru/post/zh-CN441262/


All Articles