前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >编程面试问题太难,真的没必要

编程面试问题太难,真的没必要

作者头像
新智元
发布2019-05-08 17:03:07
4580
发布2019-05-08 17:03:07
举报
文章被收录于专栏:新智元


新智元报道

来源:triplebyte

作者:Charles Treichler 编辑:肖琴

【新智元导读】编程面试问题可能会让人感到不必要的困难。有时确实是这样。这不仅仅是因为它们让面试者压力过大。我们的数据显示,编程问题并非越难越好,太难的编程问题相比较容易的问题反而更难筛选到满意的员工。

在有时间压力的条件下编程是很困难的。在面试中尤其如此。正常情况下看似简单的编码练习,在面试室的明亮灯光下,不知怎的会变成一项艰巨的挑战。在面试中,压力荷尔蒙会影响你的思维(尽管对于一个来势汹汹的编程问题,战斗或逃跑都不是有效的应对方式)。而且几乎可以感觉到这些问题被设计得异常困难。我认为这不仅仅是一种感觉。

面试问题被设计得很难。因为雇佣一个糟糕的工程师的成本要比拒绝一个优秀工程师的成本高得多,所以公司往往被鼓励设置高标准。对大多数公司来说,这意味着设计非常难的问题。直觉上,这是有道理的,因为更难的问题似乎应该导致更严格的筛选过程。但是直觉在这里不对。我们的数据显示,较难的问题实际不如相对容易的问题具有预测性

面试问题太难了

困难的问题确实能够过滤掉糟糕的工程师,但它们也会过滤掉一些优秀的人选。相比之下,简单的问题能够避免筛掉优秀人选,但更多的工程师都能答对,包括一些水平不高的工程师。平衡这两个信号是企业在选择面试问题的最佳难度时所面临的核心问题。那些不惜一切代价想要避免招到不合格人选的公司往往倾向于选择更难的面试问题。

然而,候选人回答正确与否并不是面试过程中唯一的参考信号。你也可以评估整个面试过程,例如,观察他们完成的时间、代码的干净程度以及他们在寻找解决方案时的努力程度。我们的分析表明,第二个信号源(过程)几乎和第一个(正确性)同样具有预测性。

但这里有一个额外的权衡。偏重于过程信号的问题比偏重于答案正确性信号的问题要简单得多。当你将过程提炼成候选人在寻找解决方案时的努力程度(这是过程中与问题难度最直接相关的)时,这个问题的原因就很清楚了。如果一个问题实在很难,那么所有的候选人都会很努力去寻找解决方案(包括那些最终回答正确的人)。所以努力程度不足以成为筛选的信号。

相反,对于大多数候选人来说,带有强烈过程信号的问题很容易就能正确回答,因此在正确性信号方面几乎没有什么可参考性。最佳难度的问题是平衡过程信号和正确性信号,从这两个因素的组合中提取最大信号。

我们面试了数千名工程师,对他们的答案进行了多维度评分,包括过程和正确性,并将这些评分与他们后来的表现进行了比较。而且,在回归分析之后(观察过程信号和正确性信号),我们的数据显示,最具预测性的问题实际上比我们预期的要容易得多(也比许多公司的面试问题要容易得多)。

太难的问题最终会筛掉非常多合格的候选人才能达到最佳状态。所以,如果你想让招聘过程更准确,你可能应该问一些更简单的问题。

但是,我想明确指出的是,这并不意味着你应该降低招聘门槛,让更多候选人通过。问一些简单的问题并不意味着面试变得简单了。你问的问题的难度和你的决策门槛是独立的决定。你仍然可以通过问一些相对简单的问题,然后进行苛刻的评估,来实现一个非常严格的招聘流程。我们发现,更简单的问题能提供更多的信号,但是如何处理这些信号取决于你自己。

面试问题更容易,压力也就更小,这是一个重要的优势。压力会导致候选人表现不佳。但是,另一方面,当候选人感觉更舒适时,他们就会表现出真正的最佳状态,这实际上能让面试更具预测性。我认为面试官往往倾向于低估压力对应聘者的影响,同时高估自己的能力。当你提问面试者的时候,很容易忘记在30-60分钟内完成大量编程是多么的困难。为了消除这种偏见,我们采用了一条规则,即面试官必须给候选人3倍于他们自己认为解决问题需要的时间来回答问题。通常这是合适的时间。

面试问题太短

更简单的问题还有另一个重要的好处。它们可以让你在面试中加入更多内容。这意味着你可以设计更长的、多个部分的问题,这些问题在预测上具有复合效益。随着时间的推移,你可以问一些难度越来越大的问题,这些更长、更具现实性的问题比那些更短、更难的问题更具预测性。

这在一定程度上是因为较长的问题可以更好地代表真实的编程。生产中的编程涉及在较长时间里处理相对较大的代码库,而较长的问题能够更好地接近这种现实情况。

此外,较长的问题可以让你在候选人陷入困境时提供提示。我认为这是非常重要的,因为即使是强大的工程师也可能在编码问题的某个时刻出错。问题越长,候选人就越有机会从错误中恢复过来,并在后面的编程中展示自己的技能。一个小小的失误不应该毁掉整个面试。最后,提供提示可以减少面试压力,这也会带来更准确的结果。

结论

当涉及到面试问题难度时,公司可能会陷入恶性循环。他们一开始就问一些太难、太短的问题,这会导致他们根据噪声信号做出次优的招聘决策。当他们发现招聘结果不理想时,可能会试图通过使招聘过程更加严格(这通常意味着提出更加困难的问题)来纠正。但这只会让他们的面试更加不准确。如此反复,恶性循环。公司错过了人才,候选人错失了工作,双方都承受着不必要的压力。

我希望面试官能够欣然接受这一发现。它不仅可以使面试工作更准确,而且更容易。提出简单的、多步骤的问题所花的时间要比提出异常困难的问题所花的时间少得多。

所以,以上是我们的建议。如果你真的想让你的面试更高效准确,你可能需要开始提问一些更简单的编程问题。这并不意味着降低标准。这只是意味着获得更好的信号,从而聘用到合适的人。

读者朋友,你经历的编程面试问题难吗?欢迎留言。

原文:

https://triplebyte.com/blog/interview-questions-are-too-hard-and-too-short

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-02-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 新智元 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 【新智元导读】编程面试问题可能会让人感到不必要的困难。有时确实是这样。这不仅仅是因为它们让面试者压力过大。我们的数据显示,编程问题并非越难越好,太难的编程问题相比较容易的问题反而更难筛选到满意的员工。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档