工程面试中仍应保留课后作业:一位面试官谈 AI 时代的评估方式
We Should Still Send Home Assignments in Engineering Interviews
一位有 8 年招聘经验的软件工程师认为,AI 编程智能体能代做课后作业,并不代表作业失去价值,反而打开了新的评估空间。他不再把作业当作面试流程中的孤立环节,而是作为深度技术面试的起点,围绕依赖选型、领域设计、可扩展性等提问,考察候选人是否理解其中的权衡与设计决策。约 95% 的提交都能覆盖作业要求,因此他更关注候选人能否推理这些取舍,以及他们向智能体下达指令时是否留意关键点。
过去 8 年我一直在招聘软件工程师。作为招聘流程的一部分,我审阅过数百份家庭作业。在最近引入的 AI 时代,越来越多的人认为招聘作业已经没用了,因为候选人只需把作业说明喂给最喜欢的编码智能体,然后发回给我们。我认为我们仍然应该继续发送家庭作业,并改变评估它们的方式。
我从未把家庭作业当作连续面试步骤之间的无状态跳板。坐在桌子的另一端,我见过面试官对我的提交一无所知,大多数时候他们甚至不知道家庭作业涵盖了什么内容。相反,我们一直把家庭作业作为深入技术面试的起点。
在 AI 辅助编码时代,我改变了我的面试问题。大约 95% 的提交无论如何都涵盖了作业中要求的内容。但现在,当你去掉语法或语言特定的问题后,可以问的问题有很多。最终,新加入的人会使用编码智能体,就像我们每天做的那样。因此,我们所做的评估也应该验证他们使用编码智能体的情况。
我们可以更多地讨论选择——编码智能体可以根据规格说明解决问题,但如果我们会有长期的工作关系,用户应该了解其中的权衡和设计决策。我最终会问很多问题并与候选人讨论。坦率地说,我并不期待确切的答案;相反,我试图弄清楚他们是否了解这些问题,以及他们能否对这些问题进行推理。比起他们对我问题的确切答案,我更关注他们提出的后续问题。
依赖
你为什么使用这个库?在决定使用它之前,你检查过哪些替代方案?
你为什么使用 Postgres 而不是 Mysql?我们应该如何在它们之间选择,什么会改变你的决定?
领域设计
我看到你用了两个模块来实现这个解决方案,你能告诉我它们之间的边界在哪里吗?是什么促使你在这里划下这条线?
如果我们需要把这个应用拆分成两个不同的服务,你会怎么做?
可扩展性
在你看来,这个应用的瓶颈在哪里?如果我们需要把同步处理替换为异步处理,我们应该如何着手?
你的解决方案是无状态的吗?你把有状态的数据保存在哪里?它能在重启后存活吗?它能以多个副本运行吗?
这些是我目前能总结出的一些示例问题。它们试图评估候选人在这些主题上的专业能力,同时也深入探究候选人在指导他们的智能体时是否关注了重要点。根据上下文、领域、具体职位、经验,会有很多不同的问题。重要的一点是,仅仅因为候选人可以用编码智能体生成家庭作业答案,并不意味着家庭作业就没用了;它只是打开了一千扇新的大门。
来源:Hacker News · mtyurt.net