指出 AI 编程助手使候选人能在面试中复现算法题解,却无法真实反映工程判断力,论述了 2019 版面试流程与 2026 实际需求的脱节。
去年我参与了一场高级后端岗位的面试循环。候选人在十一分钟内解决了一个图遍历问题——代码干净、复杂度正确、无需任何提示。纸面上,这是一个可以录用的人。九十天后的工作中,同一个人却找不出服务在负载下连接泄漏的原因。不是知识差距——是推理差距。他们从未需要调试过自己不从头到尾都理解的东西。
这种脱节不再罕见。这已经成为 2026 年运行 2019 年代面试循环的默认结果。
经典算法面试精准地衡量一件事:你能否在时间压力下识别出一个已知模式(双指针、DP、BFS、滑动窗口)并正确实现。这是一个「回忆-执行」任务。它从来都不是工程判断力的好代理指标,但在长达十年的时间里,它与「聪明、有准备、能写代码」的相关性足够高,因而是有用的。
AI 打破的是相关性,而非测试本身。任何花过几个月与 AI 助手配对编程的候选人,都通过重复实际上已经把模式库背下来了,无论他们在面试中是否接触了模型。排练循环变快了,所以「在压力下回忆模式」这个信号压缩到了每个人都得分很高。你不再在衡量工程能力——你衡量的是一个人花了多少小时磨一套固定的问题集,这是一个弱得多的信号,而且与工作实际要求的相关性很差。
与此同时,那项始终是真正区分因素的能力——调试不是你写的代码、在你不完全了解其不变量的系统中、在信息不完整的情况下、有人等着你——从未出现在面试中。它大概占高级工程工作时间的 70-80%,而它在评估中占比是零。
我们围绕三个改变重建了面试循环,信号质量差异在那周运行的第一天内对每位面试官来说都立竿见影且显而易见。
用「这里有一段有 bug 的 150-200 行服务,找出它」来取代「实现 X」。我们给候选人提供了真实代码(脱敏后的),其中有一个只在并发条件下才能复现的 bug——缓存失效和读取路径之间的竞态条件。没有什么算法需要回忆。只是:阅读陌生的代码、形成假设、测试它、逐步缩小范围。这才是生产环境调试的真实日常循环,无法通过模式记忆来走捷径。
允许 AI 辅助并明确告知,然后考察的是使用方式,而不仅仅是输出。我们不再假装能够检测或阻止 AI 使用,而是将其视为候选人显然会在工作中拥有的工具。问题从「你用 AI 了吗」转变为「当 AI 建议那个修复方案时,你为什么接受它——这里有一个 AI 建议略微错误的案例,你能发现吗」。理解系统的候选人能在几秒内发现错误的建议。而模式匹配的候选人即使有 AI 帮助也做不到,因为他们没有评估眼前内容的心智模型。
在任务进行中反复追问「为什么」,并观察回答前的停顿。不是刁难的问题——只是「为什么是那行代码、为什么不采用另一种方案」。在 live 推理和排练过的理由之间的犹豫模式,一旦你留意倾听,是很容易区分的。这是一个软信号,但与调试任务搭配之后就不再是噪音了。
这些都不能消除假阳性。它不需要——它只需要把面试表现与 90 天表现之间的相关性拉回到旧格式已跌落的水平之上。
算法面试衡量的是时间压力下的模式回忆——AI 通过使排练变得廉价和普遍而瓦解了这个信号。
预测工作表现的能力——在部分信息下调试陌生代码——在旧格式中从未被直接测试过,无论有没有 AI。
明确允许 AI 并考察其背后的判断力,比试图检测或禁止它能产生更多信号。
观察候选人如何评估一个错误的建议,比观察他们产生一个正确答案能告诉你更多。