你去买房,中介带你看的是精装样板间:明亮、标准、人人在夸。这就是八股。
真买家会带个验房师。他不看装修,他敲墙、开龙头、撬踢脚线,只关心一件事:这房子到底能不能住。
AI 应用岗的面试也是这样。八股部分你可以背,面试官也清楚你能背;而他在你项目上花的那十几分钟,就是他掏出验房工具的时间。
这份分档来自一份 18 场 AI 岗面试的总结。落到项目上,问题集中在两个模块——一个几乎 100% 会问,一个 90% 会问,而第二个是拷打重灾区。
一、模块一:项目背景与业务价值
100% 必问,第一印象定生死。
| 层级 | 面试官问什么 |
|---|---|
| 基础必问 | 项目背景与真实业务痛点 · 你的角色与负责模块 · 用户是谁 · 落地效果与量化数据 |
| 进阶层 | 与同类工具的核心区别 · 技术难点如何拆解 · 商业化落地挑战 |
| 死亡追问 | 10 万级用户如何重构架构(技术 / 成本 / 合规三维度) · 最大失败与复盘 · 重做会改哪些设计 |
避坑:别上来就讲技术细节。顺序永远是 背景 → 痛点 → 成果,用数据说话。
原帖里的示范话术:
帮商家标题优化耗时从 2 小时缩短到 5 分钟,点击率平均提升 18%。
一句话里,用户是谁(商家)、痛点是什么(标题优化要 2 小时)、成果是什么(5 分钟、+18%)全齐了。
要点:这一模块考的是「你有没有在解决一个真实问题」。技术讲得再漂亮也替代不了这一句。量化数据是唯一无法伪造的东西——编一个,追问三层就露馅。
二、模块二:技术选型与模型细节
90% 必问,拷打重灾区。
| 层级 | 面试官问什么 |
|---|---|
| 基础 | 用了什么大模型 / 框架(LangChain / LlamaIndex / AutoGPT)/ 向量数据库,为什么这么选 · 多模态用什么 embedding 模型 |
| 进阶层 | 同类框架对比优缺点 · 上下文窗口与超长文本处理 · 本地部署 vs API 调用的权衡 · 成本 / 速度 / 效果的平衡与测评 |
| 死亡追问 | 模型底层架构差异 · 只能用自研闭源大模型时怎么改造项目 · 参数量选择依据 |
看出区别了吗:模块一问的是「是什么」,模块二几乎每一问都是「为什么」。
三、示范 A:一道「为什么这么选」怎么答出深度
最差的答法是「因为 sqlite 简单」。那不是理由,是懒得想。
好答法是排除法 + 约束:
向量库我选的是纯本地的暴力余弦检索,没上 pgvector。理由三条:
① 向量规模只有约 1000 条,暴力检索 3–6ms 就够,索引结构在这个量级上是过度设计;
② 部署是自有服务器、内存受限,为这一点数据起一个 Postgres 服务,运维成本远大于收益;
③ 我留了
VectorStore接口,要换随时能换。
最后收一句:
什么时候该换才是关键。
拆开看,这三条的结构是可复制的:量级、约束、可替换性。前两条证明「现在够用」,第三条证明「将来不慌」。
面试官听完记住的不会是你用了 sqlite,而是你知道自己站在什么规模上做决策。
四、示范 B:一道压力题怎么答不崩
问:只能用自研闭源大模型时,你怎么改造项目?
这题不是考你认不认识某个模型,是考抽象能力。
答「我知道,换个 XX 就行」是自杀。正确姿势是拆约束:
我的代码里模型调用只出现在一个地方:一个
LlmClient接口,只有completeJson一个方法。换供应商是改配置的事,不是改架构的事。真正要重做的不是接口,是模型能力假设:我现在依赖它输出结构化 JSON、再由运行时校验。如果换成能力弱一些的模型,我会把「一次生成完整对象」拆成「多次生成局部再拼装」——用更多轮次换单轮的成功率。
注意这段话的落点:先证明改动面很小(一个接口),再承认成本在哪(能力假设)。
压力题的正确姿势从来不是「我知道」,而是「我会怎么想」——把问题拆成约束,再给方案。
五、这两块怎么准备
不用背题,而是把项目里的「为什么」列成清单:
- 这个项目解决谁的什么问题?有数字吗?
- 每个技术选型写三条理由:量级、约束、可替换性。
- 每个死亡追问写一句「我会怎么想」,写不出就说明确实没想过。
清单写不出来,面试官一戳就穿;写得出来,上面这十几个问题你都能接住。
六、一句话版本
项目拷打不考记忆力,只考三件事:你做过什么、为什么这么做、撑不撑得住——前两问靠清单,最后一问靠你真的想过。
七、自测
- 为什么说「量化数据是唯一无法伪造的东西」?你的项目里那个数字是什么?
- 讲项目时正确的顺序是哪三步?为什么不能一上来讲技术细节?
- 模块一和模块二的提问方式有什么本质区别?
- 示范 A 里的三条理由分别对应哪三个维度?
- 被问「只能用自研闭源模型怎么办」时,为什么先答「改动面很小」而不是先答改造方案?