AI 在 LeetCode 中表现优于人类 | AI生成和翻译
问题:当这么多经验丰富的工程师仍在 LeetCode 风格的编码面试中失败时,AI 如何才能被认为是真正先进的?
答案:
AI(尤其是像 GPT-4、Claude 3.5 或 Grok 4 这样的大型语言模型)已经达到了一个水平,它可以在第一次或第二次尝试中解决约 85-95% 的 LeetCode “简单”和“中等”问题,以及约 50-80% 的“困难”问题,通常比普通人类候选人更快、更清晰。在 2024-2025 年的盲测基准(例如 LiveCodeBench、Aider、SWE-bench Verified)中,最好的模型现在在它们从未见过的新竞赛问题上,表现优于 90-95% 的人类竞技程序员。
然而在真实的面试中:
- 拥有 3-10 年经验的申请者中,仍有 60-80% 未能在 30-45 分钟内清晰地解决一个 LeetCode 中等问题。
- 即使是 FAANG 公司的资深工程师,在被临时考查时也经常在模拟面试中失败。
一旦你将所衡量的不同技能分开,这个悖论就很容易解释了:
| 技能 | 顶尖 AI 模型 (2025) | 面试中的普通人类候选人 |
|---|---|---|
| 原始问题解决能力 | 极高(能正确解决大多数问题) | 中等到高 |
| 应对未见问题的速度 | 极高(几秒到几分钟) | 压力下中等到低 |
| 数百种模式的记忆 | 完美(基于所有公共问题进行训练) | 差(大多数人只能记住约 30-50 种模式) |
| 打字速度和语法完美度 | 瞬间,零 bug | 压力下打字慢,许多语法错误 |
| 解释思考过程的能力 | 良好,但有时肤浅或冗长 | 差异很大 |
| 时间压力和焦虑下的表现 | 不受影响(没有紧张情绪) | 大多数人严重下降 |
| 面试特定沟通 | 可被训练得听起来自然 | 许多人会卡壳或语无伦次 |
| 处理含糊不清的需求 | 有时过度拟合或误解 | 提出澄清问题方面通常更好 |
简而言之:AI 在解决算法难题部分比几乎所有人类都做得更好,但编码面试并非纯粹的算法难题。它们是一种高压的表现测试,还衡量:
- 压力下的工作记忆
- 连贯地表达部分想法
- 快速从错误中恢复
- 应对正在默默评判你的面试官
这些是当前 AI 在实时面试循环中仍然 struggling 的技能(尤其是来回澄清和“think aloud”的要求),它们正是人类即使在安静的房间里开着 Google 也能客观地解决问题,却依然失败的主要原因。
所以结论不是“AI 不先进”;而是“LeetCode 面试是一种衡量纯编程能力的糟糕方式,但它们意外地衡量了 AI 在面试环境下尚未完全掌握的其他能力(压力承受能力和模式记忆)。”
当公司转向居家项目、结对编程会话或允许 AI 的面试时,优秀工程师的“失败率”会大幅下降——这证明瓶颈从未是原始智力。
参考文献:
- LiveCodeBench 排行榜 (2025): https://livecodebench.github.io
- SWE-bench Verified 结果 (前沿模型 vs 人类): https://www.swebench.com
- 2024-2025 年关于面试官偏见和 LeetCode 失败率的研究 (例如 interviewing.io 匿名数据)