【AI 进了面试间:考官和候选人都得换个思路】
程序员面试正在换题。
Google 正在试点一个「代码理解」环节:给候选人一份现成的代码,允许用 Gemini,让他读懂、找 bug、做优化[1]。Canva 把以算法为主的基础面试换成了 AI 辅助编程,题目从「写一个生命游戏」变成了「设计机场起降控制系统」[2]。Meta 明确说面试里用 AI 不算作弊。招聘平台 Codility 还能在候选人用的 AI 里埋隐藏指令,故意让它写出有 bug 的代码。
原因很直接:Google 说公司 75% 的新代码已经由 AI 生成、再交给工程师审核;老的算法题 AI 几秒就能答对,已经区分不出水平了[2]。
【变化的本质:从考「能写」到考「能判断」】
Karpathy 说过,写代码和读代码是大脑里两种不同的能力。现在 AI 很少写错语法,更常见的是一开始就理解错需求,然后顺着错的假设写出一大套看起来很合理的代码[3]。所以真正稀缺的能力,是发现它解决的根本不是对的问题。
【给面试官:怎么考察候选人】
- 换题。AI 一句话就能答对的题没有区分度。改用开放题、读现有代码的题,或者讨论候选人做过的项目里的技术取舍。
- 看过程,不只看结果。Canva 发现,最好的候选人会先提有分量的澄清问题,再把边界清楚的小任务交给 AI[2]。值得记下来的是:他什么时候用 AI、拿到结果后有没有检查、有没有经常运行。
- 主动埋雷。准备一份「能跑但有问题」的代码,或者让 AI 给出一个看着对其实错的建议。敢当场否掉错误建议的人,信号最强。
- 追问「为什么」。随便指一行 AI 写的代码,问他为什么这样写、什么情况下会坏。
- 提前讲清规则。哪一轮能用 AI、用哪个工具,事先说明。最好一轮允许、一轮不允许,协作能力和独立能力都能看到。
【给候选人:怎么准备】
- 先问清需求,再动 AI。把需求、边界和约束先对齐。
- 只把小块交给 AI。整体方案自己掌握,按「提示、审查、运行、确认」的节奏推进。
- 没有证据就不接受。先从已知状态手动跑一遍,再补一个把实现回滚后会失败的测试[4]。
- 保持自己调试的手感。先稳定复现、再缩小范围,最后才让 AI 帮忙。假设和根因判断留在自己手里。
【怎么读懂 AI 写的代码】
无论面试还是日常,最核心的能力都是读懂 AI 的代码。关键是别从第一行顺着往下读,而是先搞清它想干什么,再带着问题去验证:
1. 先读意图。用一句话说出这次改动要解决什么。说不出来就先别看代码,不然很容易被它的思路带着走。
2. 先看全貌。改了哪些文件、各改多少行,和需求是否匹配。小需求动了十几个文件,本身就是信号。
3. 先读测试。测试最能说明它认为「正确」是什么样。重点看有没有改旧断言去迎合新行为,有没有覆盖失败和边界情况。
4. 顺着主流程走一遍。从用户操作或接口入口,一路追到数据写入或展示的地方。先看正常流程,再看异常分支。
5. 专门盯 AI 的常见错误:理解错需求、过度复杂(问一句「能不能简单点」,它常能从 1000 行缩到 100 行[3])、重复造已有的 helper、顺手改无关代码、错误被静默吞掉、调用不存在的 API。
6. 讲给别人听。挑几个关键函数,说清输入输出、什么情况会出错、为什么这样写。讲不清的地方,就是还没读懂的地方。
7. 让 AI 帮你读,但别让它替你判断。可以让它画调用链、列出改动背后的假设;对不对,要靠运行、测试和自己判断。
8. 跑起来看。打个断点、加条日志,看实际行为是不是和你理解的一样。
【比面试更重要的事:别把判断力外包出去】
说到底,这些变化的意义不只是找到一份好工作,或者招到一个好候选人。面试只是把一个更长期的问题提前摆到了桌面上:当 AI 能替你写大部分代码时,你还剩下什么?
Karpathy 坦言,自己手写代码的能力已经在退化[3]。这本身不可怕,工具一直在替人承担体力活。可怕的是连「这样写好不好」「这个方向对不对」也一起交出去。
审美和判断力不是天生的,是一次次自己读代码、自己追 bug、自己做取舍练出来的。如果每次都让 AI 先给答案,你看到的永远是「一个能跑的版本」,而不是「最好的版本」,久而久之就分不出两者的差别了。
所以更好的姿势是:把 AI 当成一个很快、但需要被监督的同事。让它多干活,但方向、标准和最后一票留在自己手里。时不时关掉它,自己从头想一遍,确认自己还能判断什么是好代码。
【最后】
AI 让写代码变得很便宜,判断代码的能力就更值钱了。对面试官来说,最好的题可能就一句话:「这段代码已经能跑了,你觉得它有什么问题?」对候选人来说,这道题 AI 替你答不了。对每个工程师来说,这道题值得每天问自己一遍。
参考来源
1. Business Insider:Google 允许面试使用 AI 助手
www.businessinsider.com2. Canva:Yes, you can use AI in our interviews
www.canva.dev3. Business Insider:Karpathy 谈 Claude Code 与手写能力退化
www.businessinsider.com4. Simon Willison:Your job is to deliver code you have proven to work
simonwillison.net