面试官让我用AI两小时搭一个完整系统,我说"这不可能",结果……
上周面了一家B轮公司,后端高级工程师岗位。 到了第二轮技术面,面试官是个30出头的技术VP,一上来就甩了一份15页的需求文档: "两小时,用AI把这个系统搭出来。我们要看你使用AI工具的效率。" 需求文档里写的是一个"智能客服系统"——用户输入问题,AI根据知识库回答,支持多轮对话、历史记录、知识库管理后台。 我看了一眼,深呼吸了一下。 这个系统,如果从零开始认真做,至少需要一个3人团队干两个月。

我的选择
我可以选择"演"。 打开Cursor,让AI一口气生成一堆代码,跑起来,截个图,交差。表面上看,两小时确实能"搭"出一个能跑的原型。 但我没有。 我跟面试官说:"两小时能做出一个demo,但这个demo会有很多问题——没有错误处理、没有边界条件覆盖、没有性能优化、没有安全措施。如果我把它交上去,后面接手的团队至少要花两周来还债。" 面试官挑了一下眉毛:"所以你觉得这个面试方式有问题?" 我说:"不是有问题,是方向不对。你用这种方式筛出来的人,不是最好的工程师,而是最会用AI演戏的人。"
接下来发生了两件事 第一件事:面试官沉默了5秒,然后说:"继续说。" 我接着分析: "AI生成代码的核心问题不是'能不能写对',而是'它不知道自己写错了什么'。我上周用Copilot写了一个Redis缓存层,看起来完美运行。但它在序列化时没处理循环引用,上线后第一次遇到嵌套对象就直接OOM了。这种问题,AI不会告诉你,只有经验才能发现。" "你真正需要考察的,不是我能不能两小时搭一个系统。而是——给我一个AI生成的模块,我能不能在30分钟内找出里面的3个隐患。" 第二件事:面试官打开了另一个文档。 "其实这才是第二轮的真正题目。"
对了。顺嘴提一句,技术大厂,前后端-测试机会,全国一线及双线城市均有坑位,待遇和稳定性还不错,感兴趣看看。
真正的面试
他给了我一段AI生成的代码——一个用FastAPI写的用户认证模块,大概200行。 "找出所有的问题。" 我花了25分钟,找到了7个问题:
- 密码哈希用的是MD5——这都2026年了,MD5在密码学上已经不安全。应该用bcrypt或argon2。
- JWT token没有设置过期时间——一旦泄漏,永久有效。
- SQL查询直接拼接用户输入——经典的SQL注入漏洞。AI"默认"用了f-string。
- 没有速率限制——攻击者可以无限次尝试暴力破解。
- 异常处理直接返回了完整的堆栈信息——信息泄漏。
- 数据库连接没有使用连接池——高并发下会耗尽连接。
- 日志记录了用户的明文密码——这要是被审计发现,直接吃官司。 面试官看着我列出来的清单,点了点头:"你之前说的'AI面试筛选演员不是工程师',我同意。"
追问环节
追问1:"如果让你重新设计这个认证模块,你会怎么做?" 我画了一个架构图:
- 认证层:OAuth 2.0 + JWT(RS256签名,15分钟过期)+ Refresh Token
- 密码存储:argon2id,salt随机16字节
- 防暴力破解:Redis令牌桶,每IP每分钟10次
- 数据库:连接池+读写分离
- 日志:脱敏处理,密码字段永远不记录 追问2:"AI工具在你的工作流中占什么位置?" "70%的样板代码交给AI——CRUD接口、数据库migration、单元测试框架。但安全相关的代码、业务核心逻辑、异常处理策略,一定是我自己写。因为AI不知道你的系统要扛多少流量、数据泄漏的后果是什么、用户隐私的边界在哪。" 追问3:"你怎么看'两小时搭系统'这种面试方式?" "它能筛掉完全不会用AI的人。但它筛不出真正的好工程师。真正好的面试应该考判断力——在AI自信输出的代码里,识别出哪些是对的、哪些是坑。"
结果
面试后第3天,HR打电话来了:"通过了。薪资比你上一份涨了25%。VP说你是这轮面试里唯一一个没有开始搭系统、但让他最满意的候选人。" 后来入职后,那个VP跟我说了一句话:"我们之前面了十几个人,有8个在两小时内'搭完'了系统。代码都能跑。但我让他们做code review的时候,没一个能找出问题。" 面试变了。但核心没变——考的不是速度,是判断力。
