从年初到现在,大家在 AI Coding 时代的工作方式已经有了很大变化,但我当时在社区交流时发现,大家的面试方式似乎没有相应调整。
正好今年五六月开始,我作为面试官进行了多场面试。在这个过程中也尝试调整了一些面试方式。以下是我从面试官视角做的一些总结,分享出来和大家交流一下。
一、大幅降低了手写代码的比例

在我的面试里,不再要求候选人当场写代码了。
但是,为了防止候选人「只会用 AI、自己完全不懂技术」的情况,我仍然保留了基础门槛:在一面中,我会保留两三道很基础的编码或计算机原理题,属于「会者不难、难者不会」:受过计算机和软件工程训练的人,应该都能答出来。防止招进来的人因为不懂技术,在真实项目里出事故。
二、至少一道 AI Coding 题

推荐在多轮面试里至少有一轮 AI Coding 题。现在大家都会或多或少使用 AI 来协同开发,但是使用的深浅不一。完全不用 AI 的考察,和工作还是有脱节的。而且我也和候选人交流过,候选人也会通过面试形式反推这个团队平时的 AI Native 程度。面试大致就是:
- 先看候选人还没开始写之前,能不能抓住题目里的关键点
- 观察他进行 AI Coding 时的一些实践习惯,收集作为问答内容
- 最后会留一段时间,让他离开代码,把方案裸讲一遍,再往外延几个问题
相比当时,我目前也有一些新的感受,发现了一些待调整的点:
时间是最大限制。我一般会给三十分钟,但三十分钟里,等待生成、读方案代码、审查占掉非常多时间,候选人其实很难深入。对于这个问题,可以把 AI Coding 题放到面试前的非实时考察里,这样可以节省时间,让候选人有更多时间思考和表达。社招面试上我暂时还没有特别好的解法。
评分基线会提高很多。不少题目,AI 基础回答的"基线"挺高,相比前几年(尤其在低职级上),一个同等职级的交付结果要好非常多。所以非常建议面试官能深入准备一些题目,因为它也对面试官问问题的水平提出了更高的要求。
三、重启白板面试,但不是手写代码

我重新用起了白板,但不是让候选人手写代码。相反的,只让候选人手绘技术方案。
这块很类似于之前的系统设计类题目。会从候选人简历的项目里,延伸或切分出一个相关的产品功能或业务场景,让他来进行完整的设计。包括但不限于绘制时序、分层、部署、组件关系等,模拟几个人围着白板设计一个功能。
题目也会整体偏全栈链路,很少只让他局限在前端或者后端这种单一的技术栈。或多或少都会让候选人从完整的系统角度进行设计。面试中也会由浅入深,一般先画一个基础的设计框架,然后针对其中的可深入部分,继续细化设计。
实际上和以前的系统设计、方案设计类的题目很类似。以前随着目标职级变高,这块的比重会变大很多;现在的一大区别是,这类的考察我会向低职级也进行扩展。之所以加大对此的考察,是因为我们在开发工作中,越来越多的角色是给出合理的方案,让 Agent 执行,而不是自己亲自去写代码。所以了解方案的取舍、权衡方案是否合理非常重要。
那为什么一定要在白板上,而不是只靠口头表达?我发现,要求把系统画出来、具象化,可以更直接地看到候选人在部分概念和逻辑上不清晰的地方。反过来说,如果技术方案没想清楚,候选人在白板题上会明显有卡顿。
四、提高了对业务和产品理解的要求
我现在习惯在系统设计和白板讨论后,再追问一些功能或业务问题。希望候选人能够拥有产品意识和产品素养。
同样的,之前可能会在某些职级上问到这类问题,但目前会有更多职级被问到。例如今天下午的面试,我就问候选人:做的这个产品,如果要做一个砍到不能再砍的 MVP,需要做哪些功能?我个人理解,这属于一个业务和技术结合的问题,既要理解核心的业务闭环,也要考虑技术实现的可行性和成本。
另一方面,候选人如果在简历中提到一些业务和技术指标的提升,我会更深入追问这个目标的合理性,以及对整体业务的贡献逻辑。因为能设定一个好的目标,也成为了一个重要且有意义的能力。
五、如何考察 AI 实践能力
为了提供面试考察的覆盖度,我们团队的面试考察分工为:一面包含 AI Coding 题和基础题;二面不再重复进行 AI Coding 考察,而是考察上述其他内容。
说实话,上面一套下来,面试时间就快结束了。但我还是想尝试增加一道 AI 实践能力考察题。
我曾经试图使用「你有哪些好的 AI 实践分享」来考察,发现效果不佳。为什么呢?因为我发现两个情况:
- 讲的内容「听起来」过于基础没有区分度。例如很多讲 SDD 的,里面其实细节很多,但是如果不仔细、深入地问,就很容易被笼统地认为很基础。
- 讲的内容「天花乱坠」。现在网上各种"前沿"实践,如果我经常刷视频,即使没有实际实践,也可以说得很"厉害"。但实际它有没有掌控这个实践也很难考察出来。
所以我目前尝试换了一个方式,我会问「你最近一次最失败的 AI 实践是什么」。失败不是扣分项。反而我认为,别人的成功套路可以复述,但如果没有亲自做过,很难凭空讲出自己的失败。同时,从一个具体的失败里,也可以看出候选人掌控 AI 的能力"上限",以及他的复盘与总结能力。
最后
以上这些做法,都只是我个人的阶段性实践总结。AI Coding 的变化很快,未来对"工程师"的要求也会很快变化。而面试标准往往滞后于工作本身。AI Native 的「Product Builder」的成长路径是什么,似乎还未有定论。
我把现阶段的想法、做法与失败尝试写下来,希望能给大家提供一些参考。