"RAG和微调怎么选"——80%的面试官会问,60%的候选人答不好:这份30题面试速查表帮你一次通关

94 阅读14分钟

AI 面试准备指南:从技术知识到面试表达

AI 面试不是考你背了多少概念——是考你能不能讲清楚设计决策。RAG 和微调怎么选?为什么自研不用 Dify?Agent 循环步数上限设多少?这些问题没有标准答案,但有好答案和差答案的区别。这篇文章整理了 30 道高频题的回答模板和 16 个追问方向的应对要点——从项目介绍到追问应对,面试季前花一小时过一遍。

阅读约 20 分钟 | 系列番外篇


〇、AI 面试的特点:与传统后端面试有何不同?

传统后端面试考察链路清晰——JVM、MySQL、Redis、Spring、并发、分布式,面试官的问题有标准答案。AI 应用开发面试则不同:

维度传统后端面试AI 面试
知识体系成熟稳定,答案标准化快速演进,多数问题没有"唯一正确答案"
考察重点"你会不会"——技术点的掌握深度"你怎么想的"——设计决策的思考过程
项目经验CURD 业务逻辑 + 性能优化Agent 设计 + RAG 效果 + 成本控制 + 安全防护
加分项源码级理解、调优经验工程化思维——不仅能用 AI,还能设计可靠的 AI 系统

面试官最想通过面试确认的一件事是:你能独立设计并落地一个可靠的 AI 应用,而不只是"用 ChatGPT 写代码"。

STAR 项目描述模板

用以下框架描述你的 AI 项目,确保面试官在 60 秒内理解你的核心贡献:

S(情境):项目背景和业务目标
T(任务):你需要解决的具体技术问题
A(行动):你的设计和实现决策(为什么这样选)
R(结果):量化效果和教训反思

示例(PrismAI):

S:考试指导场景下学生需大量刷题,但出题成本高——老师出一套 50 题试卷需要 2 小时。T:让 AI 根据考纲自动生成题目,同时确保题目质量达到"老师审核后可直接使用"的水平。A:用 ReAct Agent 架构——Agent 自主决定先检索知识库获取考点范围、再调用出题工具生成题目、最后通过反思检查题目是否覆盖要求的知识点。Embedding 层面放弃多模型策略,统一用 BGE 中文模型保证跨用户检索一致性。R:V1 已跑通,Agent 单次出题响应 8-12 秒;语义缓存命中后降到 2 秒内。最大教训:Agent 循环必须设置步数上限(10 步)和追问深度上限(5 层),否则模型幻觉时可无限循环消耗 Token。


一、核心问答模板

Q1:"介绍一下你的 AI 应用项目"(60 秒版本)

我做了一个基于 Agent 的考试指导 AI 平台,核心流程是用户上传考纲资料→RAG 构建知识库→Agent 自主决策调用检索/搜索/沙箱工具→完成智能问答和模拟考试。技术栈 SpringBoot + Spring AI 2.0,用 DeepSeek/GLM/通义千问多模型。几个亮点:一是 Agent 用 ReAct 循环,LLM 自主决定调哪个工具、调几次,不是固定流程;二是平台统一 Embedding 解决跨用户公共知识库检索一致性问题;三是完整工程化——流式 SSE、语义缓存、三层降级、AES-256 加密 Key、可观测性。V1 已跑通,当前实现了 3 个 Agent 工具,另 3 个在设计中。

Q2:"遇到的最大技术挑战是什么?"(三个备选方向)

方向 A(检索质量)

公共知识库的 Embedding 策略是个坑。一开始设想每个用户用自己配置的模型(GLM Embedding / 千问 Embedding)生成向量,但后来发现不同模型的向量在完全不同的语义空间中——A 用户用 GLM 写的向量,B 用户用千问的模型去检索,余弦相似度全是噪声。最后改成平台统一 BGE 中文模型,所有 Embedding 走同一套,才保证了跨用户检索的一致性。

方向 B(成本控制)

BYOK 模式下用户的 Key 是自己的钱,每多一次无效 LLM 调用用户就多花一分钱。语义缓存是最大的节省手段——考试场景高频问题重复率很高,"synchronized 原理"和"Java 内置锁的工作机制"语义相同,缓存命中直接返回。另外 Agent 循环加了 10 步兜底、追问 5 层上限,防止无限循环消耗 Token。

方向 C(Agent 设计)

怎么让 Agent 的思考过程对用户可见而不是黑箱?设计了 ThinkingEvent + SSE 机制:每次工具调用前后推送事件("正在检索知识库..." → "命中 8 个相关片段" → "正在生成回答..."),用户能看到 Agent 在做什么。技术上是通过 ReActContext 的 thinkingCallback 回调实现的——Agent 层不直接依赖 SSE,通过 Consumer 接口解耦。

Q3:"你们为什么不用成熟的 AI 平台(Dify/Coze),要自己开发?"

Dify/Coze 是通用 AI 应用搭建平台,适合企业内部知识库问答这种标准场景。我们的差异在于:一是考试场景的追问逻辑需要定制 Agent 循环(LLM 自主判断追问深度而非固定次数),平台低代码拖拽做不到;二是用户自带 Key 模式需要细粒度的成本控制和多 Key 管理;三是代码沙箱执行这个能力在通用平台也不提供。本质上我们不是在做另一个 Dify,而是在做一个考试领域的垂直 Agent。


二、核心金句速查

以下短句可在回答中自然穿插,起到"一句话点透本质"的效果:

主题金句
AI 发展本质"AI 的发展就是不断减少'人工'、增加'智能'的过程——从人写规则到人设计特征,再到人设计网络结构,现在是人描述需求。"
Agent vs Chat"Chat 模式 = 驾校教练(嘴说,你开),Agent 模式 = 代驾(直接帮你开)。核心 = 规划 + 工具调用 + 反馈循环。"
RAG vs 微调"RAG = 开卷考试(每次翻书查),微调 = 背书考试(记住的知识直接用)。信息频繁变动的场景选 RAG。"
MCP vs FC"Function Calling vs MCP = 各厂商的私有充电口 vs USB-C。前者够用但换手机得换线,后者一次适配到处能用。"
ReAct"ReAct 就是 AI 的'边想边做'——做一步、看结果、想一步、再做下一步。这和人类解决复杂问题的方式一模一样。"
Prompt 工程化"Prompt 工程化 = 把 prompt 当代码管——模板化、版本化、可测试、可回滚。"
内容安全"Prompt Injection 的本质是 AI 分不清'指令'和'数据'。金融系统防线 = 输入隔离 + 最小权限。"
AI 代码质量"AI 代码 = 实习生作业——看着像样但必须师傅过目。审核的重点永远是异常路径。"
成本控制"省钱不靠抠 Token,靠选对模型——DeepSeek 做 70 件日常的事,Claude 做 1 件复杂的事。"
金融 AI 底线"知道什么时候信任 AI、什么时候不信任,才是真正的 AI 工程素养。核心链路不用 AI 写。"

三、追问速查表

面试官可能从任何一个技术点切入追问,以下为各方向的应对要点:

追问方向面试官为什么问核心要点展开关键词
Agent vs Chat 区别你用 Agent——和 ChatGPT 有什么本质不同?Chat = 动嘴,Agent = 动手规划+工具调用+反馈循环
MCP 解决了什么你们用 MCP 了吗?N×M → N+M,USB 协议类比V1 用 FC,V2 改造 MCP
RAG vs 微调怎么选为什么不用微调?考纲频繁变动 → RAG;资源有限 → RAG先 RAG 验证再决定是否微调
RAG 怎么评估你怎么知道检索质量好不好?三层:检索(MRR) + 生成(RAGAS) + 端到端LLM-as-Judge 自动评估
高级 RAG 了解哪些基础 RAG 有什么问题?检索不准(CRAG) / 跨文档(GraphRAG) / 短问题(HyDE)按实际问题选技术
Prompt 工程怎么做你们 Prompt 怎么管理的?模板化+版本化+变量占位符+可回滚Prompt 当代码管
内容安全怎么做AI 应用怎么防注入?三层防御:输入过滤+Prompt 约束+输出校验Prompt Injection 四道防线
成本怎么控制Token 费用怎么优化?选对模型(省 70 倍) + 语义缓存 + 上下文压缩DeepSeek 日常,Claude 复杂
模型怎么选为什么用 DeepSeek 不用 GPT?性价比 70 倍 + 中文编程最优 + 合规组合策略:DeepSeek+Claude+Kimi
金融行业 AI 特殊要求银行用 AI 有什么不同?数据不出域、代码脱敏、审计追溯、核心链路保守Ollama 本地部署、Co-Authored-By
AI 代码质量怎么保证AI 写的代码你敢直接用?四层审查:限定→逐行→检查→追溯核心链路手写,外围 AI 辅助
结构化输出和流式你们的输出是什么格式?JSON Schema 控制格式 + SSE 控制呈现先流式展示,收完整后解析
ReAct 是什么Agent 的底层机制是怎样的?Thought→Action→Observation 循环Plan-and-Execute、Reflexion
多 Agent 协作多个 Agent 怎么配合?四种模式:流水线/辩论/投票/分层委派人永远是总指挥
模型效果怎么评测AI 应用没有标准答案,你怎么知道它变好了还是变坏了?离线评估集(MRR/Faithfulness)+ 在线 LLM-as-Judge 抽样 + 用户点赞率每次改 Prompt 必须跑离线评估,低于阈值不发布
AI 能替代程序员吗你对 AI 编程怎么看?替代执行,不替代决策写代码能力贬值,判断力升值

四、技能自查清单

技能点优先级证明方式
RAG 全链路(解析/切分/向量化/检索/生成)必掌握系列第 2 篇(RAG)第 4 章 — 完整代码走读
RAG vs 微调选型决策必掌握系列第 2 篇(RAG)决策框架
RAG 评估体系(RAGAS/LLM-as-Judge)必掌握系列第 2 篇(RAG)三层评估
高级 RAG(Self-RAG/CRAG/HyDE/GraphRAG)必掌握系列第 2 篇(RAG)升级路线
Agent ReAct 模式 + Tool Calling必掌握系列第 3 篇(Agent)代码走读
MCP 协议原理与对比必掌握系列第 3 篇(Agent)V2 改造方向
Prompt 工程化管理必掌握系列第 1 篇(AI 全景)Prompt 工程化管理
多模型集成 + BYOK必掌握系列第 1 篇(AI 全景)多模型集成
流式(SSE)+ 结构化输出必掌握系列第 1 篇(AI 全景)流式与结构化输出
语义缓存 + 降级策略必掌握系列第 3 篇(Agent)语义缓存与降级
AI 应用可观测性必掌握系列第 4 篇(工程化实践)可观测性
内容安全(纵深防御)必掌握系列第 4 篇(工程化实践)内容安全
模型部署与量化了解即可系列第 7 篇(模型部署)Ollama/vLLM/量化
微调(LoRA/QLoRA/DPO)了解即可系列第 4 篇(工程化实践)微调
向量数据库选型必掌握系列第 2 篇(RAG)向量数据库选型

五、场景题:展示"你怎么想的"

面试官可能给一个开放式场景,考察设计决策而非标准答案。

场景 1:"给银行设计一个 AI 客服系统"

先拆需求层级:第一层——高频标准问题(账户查询/网点查询),走 RAG 检索知识库直出,不需要 Agent。第二层——复杂操作(挂失/改密码),需要多步验证,用 Agent 调用多个工具(身份认证→风控检查→执行操作→通知用户)。第三层——不要做——投资建议、产品推荐等受监管业务,AI 出问题银行担责。

安全三件事:① 本地部署(Ollama + 内网),数据不出域;② 敏感操作二次确认(Agent 提出操作→用户短信验证码确认→执行);③ 全部对话落库审计。

场景 2:"怎么判断一个场景适合用 Agent 还是 RAG?"

判断标准:是否需要多步工具调用。RAG = 单步检索——用户问"什么是 MVCC",检索知识库返回相关片段→LLM 综合回答。Agent = 多步执行——用户说"找出交易量最大的客户并生成报表",需要:检索客户表结构→生成 SQL→执行查询→整理结果→生成 Excel。如果任务能拆成"检索→回答"一步到位→RAG;如果必须"拆解→执行→观察→再执行"→Agent。

多数生产场景是 RAG + 简单 Agent 组合——80% 问题 RAG 直出,20% 复杂任务触发 Agent。不要为了 Agent 而 Agent——简单场景用 Agent 反而增加延迟和 Token 消耗。

场景 3:"用户说 AI 回答质量不好,怎么排查?"

分层排查:① 检索层——知识库里有没有相关文档?切分是否破坏了语义完整性?Embedding 模型是否正确?用 RAGAS 做 Faithfulness 评估确定是检索问题还是生成问题。② 生成层——Prompt 指令是否明确?System Prompt 是否约束了回答边界?Temperature 是否过高导致随机性过大?③ 如果检索和生成都没问题→是否是知识库本身的内容质量不佳?回到源头——知识库的维护比 RAG 架构更重要。


六、面试前五步准备清单

  • 第一步:用自己的话复述 60 秒项目介绍(§一 Q1),计时——不超过 90 秒
  • 第二步:针对三个追问方向(检索/成本/Agent 设计)各准备一个面案例,能讲出具体决策和反例
  • 第三步:在 IDE 中过一遍项目核心类——ReActLoop / RagSearchTool / EmbeddingService / VectorIndexService——能说出每个类的职责和关键方法
  • 第四步:准备 2 个"反例/教训"(如"V1 我们没做缓存→Token 成本暴涨→V2 加语义缓存后降 40%"),面试官想看到你不仅会做,还能反思
  • 第五步:打开追问速查表(§三),随机挑 3 个方向,口头模拟回答(注意控制每个回答 30-45 秒,不背诵全文)

使用建议

  • 面试前夜通读 §一的三个问答模板,用自己的话复述 2-3 遍
  • 被问到手册中没有的细节时,坦诚说"这个方向我调研过,目前方案是...",比硬编要好
  • 面试前打开 IDE 过一遍项目核心类,能说出每个类的职责和关键方法
  • 项目地址:gitee.com/Shore-w/pri…

核心要点回顾

  1. AI 面试考察的是"你怎么想的",不是标准答案——准备好设计决策的推演过程,比背概念定义重要 10 倍
  2. STAR 模板是 60 秒项目介绍的最佳框架——S(情境)→ T(任务)→ A(行动+决策)→ R(结果+反思),确保面试官快速理解你的核心贡献
  3. 三个核心问答模板(项目介绍/最大挑战/为什么自研)必须用自己的话复述 2-3 遍——不是背诵,是内化
  4. 10 条金句是"一句话点透本质"的弹药——在回答中自然穿插 1-2 条即可,不要全部堆砌
  5. 追问速查表的 16 个方向 + 3 个场景题覆盖了 90% 的 AI 面试追问——面试前随机挑 3 个方向口头模拟回答,每个 30-45 秒
  6. 面试前五步准备清单的最后一步最关键:打开 IDE 过一遍项目核心类,能说出每个类的职责和关键方法

面试准备的核心不是背完 30 道题——是挑 3 个你最有把握的项目经历,用 STAR 格式写好,剩下的用金句速查表一小时过一遍。收藏这张速查表,面试季前翻出来。

上一篇:《AI图片视频处理工具手册》(附录) | 下一篇:《AI项目开发规范体系设计指南》(扩展) 系列合集掘金AI合集