面试快结束的时候,我指着一段缓存逻辑问候选人为什么这么写。他说这块是 Copilot 补的,他大概看过一眼。语气很自然,没有遮掩。
我最后没有因为这个否掉他,但在评语里写了一句:这段代码他没有所有权。
这个问题问的不是工具
我问“这段是不是 AI 写的”,想知道的从来不是有没有用。我关心三件事:能不能解释,能不能改,出问题的时候知不知道从哪查起。
这三件事和用不用 AI 没有关系。手写的代码也可能解释不清,只是手写的人通常没有借口。
所以“用了”本身不减分,“用了但接不住”才减分。反过来,真的不用 AI 的人我也不觉得有问题,前提是他试过并形成了自己的判断,而不是不会用所以躲开。这两种状态在回答里很容易区分:前者会说清自己为什么不用,后者会开始解释工具不可靠。
企业那边还有一个更实际的顾虑,是数据。员工把客户代码、财报、未公开的方案贴进公共模型,这类事出过不止一次,所以很多公司对“影子 AI”非常敏感。面试里如果一个人很得意地说“我把上个季度的数据直接喂给它分析”,我会立刻在心里画一条线——不是因为他用了工具,是因为他分不清哪些东西不该离开内网。
这个判断和技能无关,和分寸有关。分寸这件事很难通过培训补上。
这个问题这几年问得越来越多,原因很实际。远程面试、在线笔试、共享屏幕,工具就在手边,与其猜不如直接问。企业的心态也在变:早期是想抓作弊,现在是看工作方式。抓作弊只能得到一个“用没用”的答案,看工作方式能得到一整套判断。
还有一个视角的差别,我觉得比技巧更根本。把面试当成闭卷考试的人,会本能地隐瞒工具的使用,因为在他的理解里,用了就等于承认自己不行。把面试当成工作模拟的人,会主动说明自己怎么用工具,因为他知道企业雇的是解决问题的人,不是记忆力冠军。这两种状态在回答问题的前三十秒就能听出来,跟用不用 AI 没关系。
隐瞒还有一个实际风险:面试官现在很容易察觉“非自然”的地方。回答简单问题时出现不合理的停顿,代码写得很完整但讲不出推导过程,措辞工整得没有任何口语痕迹。一旦被怀疑在演,问题就从工具使用变成了诚信,而后者几乎没有解释空间。
我听过最自然的一种回答很短:“用了。上周那个迁移脚本就是它写的,我改了三处才跑通。”没有立场,只有事实。这种回答几乎不会被追问,因为没什么可追问的。
如果是我,我会怎么答
我会分三步,都很短。
第一步承认,一句话就够。“用了,主要是样板代码和单元测试,核心逻辑自己写。”不铺垫,不道歉,不用“只是”“偶尔”这种词。心虚的语气比事实本身更容易被注意到。
第二步划界,说清哪部分是我的。这里越具体越好,具体到模块、文件、某一段逻辑,而不是“业务逻辑”这种笼统说法。我通常会说清楚 AI 接手的是哪些重复劳动,以及我为什么把那部分交出去。
第三步兜底,说清怎么验证的。跑过什么测试,检查过哪些边界,哪一版被自己改掉了。这一步是整段回答里唯一真正加分的部分,因为它是唯一无法伪造的部分——只要追问两层就会露。
“这个接口的骨架是生成的,但幂等那块是我重写的。生成的版本没考虑重复提交,我在本地压了一轮才发现。”
这种话比任何框架都好用,因为它包含一个具体的失败。
还有一个小地方:不要说“我平时主要靠自己”。这句话听着像道歉,而且会引导对方继续追问“那到底靠不靠”,把主动权交出去。
这个顺序可以记,但句子不要记。我判断一个人是不是在背,通常看几个特征:结构太整齐,每段长度差不多;没有一个失败的部分;没有一个具体的项目名;所有数字都刚好是整数百分比。真实的回答里有杂质,会绕一下,会说“这块当时其实挺乱的”。
有一次我追问一个候选人,他提到“减少了 40% 的重复代码”。我问这 40% 怎么算的,他说是 AI 帮他估的。这个回答本身不致命,但它说明那个数字从来没有被用过,只是被说出来。
所以我的建议是:记住顺序,忘掉句子。组织得不利索没关系,不利索本身就是真实的迹象。
语气也值得注意。同样一句“用了”,有人说得像交代错误,有人说得像陈述事实。差别不在内容,在有没有把它当成一件正常的事。这个很难教,但可以练:找一个朋友,把这段话讲三遍,第三遍通常就正常了。
有三条线我不会碰。一是把敏感数据贴进公共模型,这条没有讨论空间。二是留着明显的机器痕迹交作业,比如文案里还写着“作为 AI 语言模型”,或者格式和正文完全不统一——这说明连最后一遍都没读。三是黑盒:用了,但说不出为什么这么写。前两条是专业素养问题,第三条是能力问题,但在我看来第三条更致命,因为它意味着交付物没有人负责。
问法在变,标准没变
同一个问题,在不同岗位上的落点完全不一样。用一套通用话术去答,通常会被听出来。
技术岗,我关心的是边界感:打字和工程的分界在哪里。承认样板代码是生成的,然后说清哪部分是自己的——并发、事务、边界条件、失败重试。技术面试里最容易被追问的是“这里为什么用这个锁”,如果答案是“生成的”,那这场就基本结束了。
如果是我答,我会在划界那一步多说一句原因,而不只是范围。“样板代码我让它写,因为那部分只有格式差异,没有判断;缓存这块我自己来,因为我线上被击穿过一次。”一句话里既有分工,也有经历,比列清单可信。
内容岗,我关心的是判断有没有发生过。好的回答通常有这个过程:让 AI 出十个方向,自己挑了其中两个,再按品牌语气重写,最后删掉一半。差的回答是“时间紧,就让它写了”。这两者的区别不在于用了多少 AI,在于中间有没有一道人的选择。
数据岗,我关心的是核查习惯。模型最擅长的就是给出一个看起来合理的数字,所以我会问“这个结论你怎么验证的”。答得上来源、口径、交叉验证的人,用不用 AI 都无所谓;答“它算出来的”,那这个人以后交的每一份报表我都要重看。
还有一类问法,是直接给一个题目,让候选人现场用。这类面试在变多,有些团队会明确说可以用任何工具,然后看整个过程。
我观察下来,区分度不在于谁问得漂亮,而在于出错之后谁接管。
好的演示通常是这样的:先说清自己不确定的部分,再用工具去补;工具给出的方案先被质疑一遍,尤其是边界条件;发现方向错了会停下来重问,而不是在错的答案上继续加东西。还有一点很关键,知道什么时候不该用——涉及敏感数据、涉及核心判断的时候,直接切回手动。
差的演示也很好认:一句“帮我写个方案”,然后复制粘贴,被问到细节时说“它就是这么给的”。
这两种人的差距不在提示词写得好不好,在于有没有把工具的输出当成自己的产出。前者把它当草稿,后者把它当答案。
这三个岗位看的东西不同,落点其实是一个:这段产出有没有人负责。负责的人知道它哪里可能错、错了怎么查、需不需要重写。不负责的人只有一个“它给的”作为解释。
一个不太讨喜的判断
有些团队确实还把“承认用 AI”当减分项。这一点我不打算假装不存在。有的面试官觉得效率提升不重要,能背下来才重要;有的公司出于合规,对任何外部工具都敏感。如果判断对面是这种环境,承认是有代价的,这个代价可能是真实的。
但撒谎的代价不可控。它不在你能管理的范围内:一旦被追问到第二层,问题就从能力变成了诚信,而诚信问题的处理方式通常比能力问题重得多,也很难挽回。
还有一种情况我也遇到过:面试官问这个,是因为他自己也在摸索,想听别人怎么用。这种对话没有陷阱,答得越具体越好,甚至可以反问一句他们团队现在怎么处理评审。这时候它就不是答辩,是同行交流。
所以我仍然倾向承认,然后把话题拉回自己能负责的部分。如果一家公司因为我用了工具就否掉我,那它对工作方式的理解大概和我不一样,早点知道也不是坏事。这个说法有点自我安慰的成分,我承认。
真正让我犹豫的只有一种情况:这份工作我非常想要,而我知道对面在意这件事。这种时候要不要说,我没有标准答案,只能说谎言的代价我承担不起。
还有一个观察,可能比上面这些都重要:那些答得最好的人,往往不会把 AI 当成一个需要表态的立场。他们谈起它就像谈起编辑器、谈起搜索引擎,说哪一段好用、哪一段会骗人、哪一段自己宁愿手写。这种平常心很难装出来,也最难被追问倒。
我自己也被问过一次,当时顺着讲了一个方案,讲到一半发现有个参数我其实没搞懂,是生成的代码里带的。我停了一下,说这块我回去要再看一遍。对方笑了一下,说没关系。那之后我确认了一件事:承认不知道不会让人显得弱,硬撑才会,而且撑不过第二层追问。
我不知道这个问题还会被问几年。等工具彻底沉进日常工作,它大概会像“会不会用搜索引擎”一样消失。现在它还有效,是因为它筛的其实不是工具使用,是一个人对自己的产出有没有所有权。
在那之前,能把自己做过的事讲明白,基本就够了。
评论