加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

为什么时至今日编码面试依然这么糟糕?

发布时间:2019-09-17 23:08:26 所属栏目:优化 来源:Miraan Tabrez
导读:副标题#e# 作为候选人,最重要的是要记住:45 分钟的编码面试并不能准确评估你是否会胜任这份工作。 高错误否定比率意味着你绝不应该为被拒绝而感到难过。拒绝通常只意味着在一个人工设定的、时间紧迫的环境中,你需要更多练习来展示你已具备的技术能力。

看看 Homebrew 的创始人 Max Howell 的这条推特:

为什么时至今日编码面试依然这么糟糕?

如何改进系统呢?

面试的目的是从候选人那里提取足够的信号,以预测他们是否能够胜任工作。如果你有完全准确的预测,你可以招聘到所有胜任本工作岗位的人,这对公司和候选人来说都很完美。

为什么时至今日编码面试依然这么糟糕?

一种几乎完全准确的方法是在一段固定的时间内给候选人一份工作,如果他们成功了,就给他们提供一份永久的工作。这就是实习,延长版的面试。问题是这对公司来说是一项风险投资。这就是为什么实习机会也依赖于编码面试。

实际上,公司从候选人那里获取信号的时间和资源有限。候选人通常只有有限的时间进行面试。在这些时间限制内,公司希望收集作为软件工程师成功所必需的几个关键信号。

作为一名面试官,我希望看到候选人掌握基础的数据结构和算法知识。通过讨论其他方法和利弊权衡,他们可以利用这些知识为问题提出算法解决方案。我希望看到他们用编程语言编写解决方案代码,解释时间和空间的复杂度,走查他们的代码并予以测试。

因此,如果你只有 45 分钟,这种编码面试的普遍形式确实是有意义的。

改进编码面试

话虽如此,白板是不必要的。如果你没有在白板上编码过,你会感觉有点奇怪并且被干扰。因此,如果候选人更喜欢使用键盘,公司应该让他们用键盘。你不会想因为候选人不喜欢在白板上编码而拒绝他们的。

作为面试官,另一件要改进的事是选择问题。最好不要选择在一些数学或计算机狭窄领域中的问题,同时这些问题还需要重大的创造性思维或特定领域知识才能解决。理想情况下,候选人应该能够逻辑推理并逐步迭代得出最佳解决方案。你不会想因为候选人在 45 分钟的面试中没有灵机一动得出答案而拒绝他们的。

最后,让候选人放松是很重要的。当你的思维在竞争和压力之下时,很难做到合乎逻辑有条不紊。通过几个他们过去最喜欢的项目的快速问题进行面试,可以很好地平息候选人的紧张情绪。你不会希望因为候选人发现时间紧迫、编码压力很大导致没发挥出应有水平而拒绝一个候选人。

但除此之外,如果不放开时间限制,很难提高面试信号的准确性。

获得更多信号

一些公司会请候选人把一个任务带回家来做,以消除时间压力,并会设想一个更复杂的编码问题,以提供更多的信号。

有些公司会通过多个阶段的面试来收集更多信号,所以期望候选人能休几天假来进行面试。

有些公司会进行更多种类的面试,测试更多实用技能,例如浏览大型代码库或者构建与某些公共 API 交互的 React 前端程序。

虽然这些方法提供了更好的信号,让公司向优秀候选人提供更多 offer,但也需要占用候选人的很多时间,这会使面试经历不太愉快。问题是,如果候选人一次申请多家公司,而每个公司都有极其耗时的面试流程,那根本就不可行。

面试即服务

对此的一个解决方案是统一多个公司的编码面试流程。独立的编码面试服务可以比任何一家公司花费多 5-10 倍的时间面试候选人,让他们能够更清楚地了解候选人的技术能力,减少错误否定比率,同时保持很低的错误肯定比率。这将为候选人提供更有效更愉快的体验,因为他们可以避免在多个公司重复相同的面试过程并且避免依靠运气。这样可以释放公司的资源,使公司专注于最终的非技术性面试,如团队和文化契合度面试。像 Triplebyte 这样的公司已经在努力尝试这一做法。但他们似乎更多地将其用于筛选,而不是完全取代技术面试。

我认为用更准确、统一和独立的版本替换大公司自己的技术面试流程的主要挑战是获得他们对流程的信任,同时允许在评估特定技术技能和应聘水平方面进行定制。

最后的想法

作为候选人,最重要的是要记住:45 分钟的编码面试并不能准确评估你是否会胜任这份工作。 高错误否定比率意味着你绝不应该为被拒绝而感到难过。拒绝通常只意味着在一个人工设定的、时间紧迫的环境中,你需要更多练习来展示你已具备的技术能力。

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读