记录一下,盛大旗下一个做 deep research 的子公司,agent / 全栈方向,三轮面下来的过程。
先交代下背景。我今年应届,毕业五个月。读书的时候有三段实习:智慧芽(苏州做专利数据库那家,在算法组做 AI 对话、PDF 问答,也写过前端中台)、西湖大学(做 AI 应用,多模型组织起来生成论文综述那种)、商汤(给内部算法团队做大模型测试平台,多模态问答的量化评测)。毕业后没去大厂,进了一家小公司,前端身份入职,但基本啥都干了——写过一两个月前端,做过销售(自己主动跟老板说要去合肥、江苏见客户、进工厂理解需求),还干过技术支持、后端、算法,C# 写过 VS 的代码插件,Rust 写过企业连接器,Python 也搞过。对自己的要求就是不设边界。
代码 90% 以上是 AI 写的,平时会把工作和自己感兴趣的东西沉淀成开源项目和博客。GitHub 在这: https://github.com/tt-a1i ,掘金在这: https://juejin.cn/user/2175258804632332 。开源基本都是 AI coding agent 这个方向的,archify 、hive 、MiroFish 本地版那些( MiroFish 本地版就是这次二面、三面的任务,我后面会讲)。
本来是冲着 AI 用得溜去面的,结果一面差点把我自信心干没了。发出来给同样靠 AI 、做全栈或者 agent 方向的兄弟当个镜子。三轮下来我最大的感受是:AI 用得再溜没用,凡是 AI 写的、或者沿用别人的,面试官一句「为什么」就能把你问到说不出话。
一面:自信进去,被基础题打回原形
岗位本来投的 React Native ,面试官看了简历直接改全栈面。40 分钟没考算法没问八股,全程顺着我简历往死里追问,最后还来了道纯手写题。后来我才反应过来,他全程就想确认一件事:这些东西到底是我懂,还是 AI 懂。
第一个翻车的是技术选型。他问我后端写 C# 又写 Rust ,自己开公司选哪个,我张口就「选 Rust 」,类型安全内存安全对 AI 友好(能编译过线上基本不报语法错误)……讲得挺顺。然后他来了句:
你有没有发现,我问这个问题的时候根本没问你要做什么业务,你就直接给我 Rust 这个答案?
当场被点醒,选型脱离业务场景纯属耍流氓。后面还补刀「你想过自己开公司 Rust 不好招人吗」,我只能认怂。
然后是 gRPC ,连环追问,我全军覆没:
- gRPC 和 HTTP 区别?——基于 HTTP/2 ,效率高,多用于微服务。
- 为什么效率高?——「之前看过……记不清了」
- JSON 不行吗?——「 JSON 应该可以,但我没想过为什么用 proto 」
- 为什么选 gRPC ?——「沿用后端同事的,我接到任务第二天就开始写了,主要靠 AI 」
最后这句基本是自爆。一个「为什么高」答不上,一个「为什么选」说不清,直接把底裤问没了。
手写题更是社死。让我起 React 脚手架,我说没初始化过,又问能不能用 AI 出(被拒),改写原生 HTML+JS 还磕磕绊绊。思路说「挂个全局 class 」方向是对的,但追问「每个组件都要写一套主题 class 吗」我答不上来(正解是 CSS 变量)。body 找不到那个问题,问我怎么解决,我憋了句「loading=lazy?」(错的,是 defer)。面试官直接说「感觉不是很熟练」,我只能解释早就不写了,现在 90% 靠 AI 。
一面最后他那段话我印象很深,大意是:用 AI 这个方式大部分人都能做到差不多效果,区分度特别低,他们内部 99% 代码也是 AI 写的,这事甚至能用钱解决,上最强的模型就行。但弊端是你什么都能做,遇到坑却没经验没意识——AI 让你用 gRPC + protobuf ,那为什么不用 thrift ? AI 不会主动提,这就看候选人自己有没有对比、思考过。他还说了句我记到现在的:所谓的广度不是你做了多少事,而是你对「背后为什么会产生这些问题」的思考形成的广度。
出来的时候我以为凉了。
二面:HR 面 + CEO 面,画风突变
二面轻松很多,HR 和 CEO ,聊的全是 AI 实战。
主要几块:GPT 、Gemini 、Claude 各自什么脾性、什么场景用哪个、我平时怎么搭配;一些实践经验,比如怎么把多个模型组织起来干活、工作流怎么沉淀。然后给了个编码任务——vibecoding 把 MiroFish 的开源版改成能在本地跑起来的版本。
这轮明显能感觉到他们要的不是八股选手,是真能拿 AI 把活干出来的人,跟一面那种考基础的拧巴感完全相反。MiroFish 本地化这个我回去真做出来了,也成了三面的主线。
三面:技术终面,三个人围着我项目往死里挖
三位面试官,一位 agent 方向,一位资深架构师(十几年经验那种),一位技术负责人(就是一面给我布置 MiroFish 任务的人)。70 分钟。一面考你懂不懂基础,三面考你的项目经不经得起挖。
RAG 分块这题我答对了。他问假设 embedding 输入足够大、几十 M 也吃得下,那还有必要分块吗?我说有,分块是为了检索时命中相关度最高的片段,整个文档一块检索粒度太粗,要按语义分。不是因为文件太大——这是 RAG 分块的真正目的。
挖得最深的是我那个企业连接器( Rust ,0→1 ,把飞书 GitHub 这些异构数据源同步到自家 to B 平台)。架构师咬着「异构数据怎么统一数据模型」反复问。我最初想用 WASM 插件方案做到即插即用,被否了( WASM 和宿主通信太麻烦);后来一个同事帮我重构分层,连接器只实现各自拉取逻辑,存储和表结构统一。增量同步上 GitHub 用 commit hash ,飞书用更新时间字段。然后他问为什么用 RabbitMQ ,我实诚答不知道,基础设施不是我搭的,我中间插进来直接复用的。
这一段教训挺深的:架构师根本不在乎你用了什么,在乎你为什么这么选、不这么选会怎样。凡是沿用的、同事搭的,一问就露馅。
全场我最有底气的是 AI 编辑器那块(实习时基于 Quill 从 0 到 1 手写的)。讲了个我挺得意的 bug:给选中内容做高亮的逻辑被记进了 Quill 的 undo/redo 栈,污染了历史栈,导致回退回不去。最后不走 Quill API ,改用 CSS 浮层加 CSS 高亮绕开历史栈解决的。这种真手写真踩坑真自己定位出来的东西,跟那些 AI 写的我说不清的项目放一起,气场完全不一样。
AI coding 工作流他们挺感兴趣。我主力是 Claude Code 做实施、Codex 做 review ,CC 快但思考浅,Codex 慢但深,开 4 、5 个 tab 并行,让 CC 做方案 Codex 审查。自己写了 writer 这个 slash command 、一个 review skill 开源在 GitHub 上、还在折腾 hooks 和 CLAUDE.md 。
skill 系统设计这块被架构师从「会用」一路逼到「会造」。我讲了渐进式披露、open-skill 靠提示词注入、最小工具集( read ,加上有脚本就再加 execute )、hooks 启动阶段注入这些,但我一直说本质就是读目录加提示词没什么稀奇。后来回想他其实想听系统层面的设计——发现、注册、热更新、隔离这些,我一直把它降维成读目录,深度明显不够。架构和系统设计是我的短板,这个我认。
后面还问了一串:团队协作我说文档驱动 spec 驱动,强调开发期一定要加一句「不要兼容旧代码」,不然 AI 不知道上下文会瞎兼容; OOP 还是 FP 我说倾向函数式;设计模式说了适配器( MiroFish 适配新旧方案用了)和策略模式; cron 整点拉取过载怎么办我答放队列加去重,他认可; MCP / Skill / Tool 怎么选我说内部知识流程用 Skill 、外部数据源用 MCP 、内部自定义工具用 Tool 。还问我掘金是不是 AI 写的,我说不是,我写底稿 AI 润色我再改,因为我没 AI 懂得多。
最后技术负责人让我讲二面那个本地化任务。我说 3 小时搞定的,开 1 个 CC 加 2 、3 个 Codex 一起调研,CC 出的结果有错让 Codex 复核、联网搜,写评估和计划文档,CC 实施 Codex review 几遍出 MVP ,中间还给项目提了 issue 和 PR 。他说一面就知道我是纯前端、不擅长这个,故意布置个难任务看我借 AI 完成复杂改造的能力。然后说了段让我挺受用的话,大意是我纯前端纯后端肯定比不过专业选手,但看简历、GitHub 、掘金加上一面,这种学得比较杂的多面手挺适合他们现在的氛围,能接受有这么个把每件事从 0 做到 60 分的角色当团队的「调试剂」,他很欢迎。
三轮下来几条想说的
- AI 用得再溜,基础该被穿还是被穿。「为什么效率高」「为什么选它」就能把你问哑。
- 简历上每个技术点都得扛得住「为什么」的连环追问,尤其「为什么选 A 不选 B 」,这个最能区分你懂还是 AI 懂。
- 留至少一个真手写、能讲到 bug 级别的项目。我那个 undo/redo 的 bug 是全场最有底气的部分,那些跑起来了但说不清的项目根本没法比。
- 不知道就说不知道,反而加分。我答不出 RabbitMQ 、答不出架构方法论,都老实说了,面试官没为难。
- 架构和系统设计是我们这种重度用 AI 的人的通病短板,因为 AI 帮你把怎么做解决了,但为什么这么架它不替你想。这块得自己补。
学得杂不是问题,关键是能不能对每件做过的事讲清楚为什么这么做、不这么做会怎样。这是三轮面试给我上的最大一课,继续前进...