AI应用开发面试备考
基于简历「AI应用开发工程师」定向整理,标记⭐为高频题(被问5次+),标记🎯为与简历高度相关、必考题。
一、MCP Protocol(🎯 简历核心亮点,必被深挖)
🎯 Q1:MCP 是什么?解决了什么问题?
参考回答:MCP(Model Context Protocol)是 Anthropic 推出的开放协议,AI Agent 与外部工具之间的标准化接口。核心价值:工具集成标准化(一套协议接所有工具)、动态工具发现(Agent 启动时自动获取可用工具)、安全沙箱(统一权限和审计)。
结合简历:我们设计并实现了组件库 MCP Server,将 12+ 私有组件的 Props 定义、使用示例、API 接口结构化暴露给 LLM,使 AI 能准确调用企业组件生成代码。
🎯 Q2:MCP 和 Function Calling 有什么区别?
关键区分:
- Function Calling 是 LLM API 层功能(LLM 输出 JSON 说调什么)
- MCP 是连接协议层(Agent 和工具之间的通信管道)
- 类比:Function Calling 是「拨号盘」,MCP 是「电话线」
- 两者不互斥——MCP 管理工具生命周期 + Function Calling 做工具选择
🎯 Q3:MCP Server 怎么构建的?大模型调用 MCP 工具的完整流程?
- 定义 Server(暴露 tools/resources/prompts)
- Transport 层(stdio 或 HTTP/SSE)
- 大模型通过 Client 连接 Server → 获取工具列表 → 选择工具 → 调用 → 返回结果
⭐ Q4:工具太多导致 token 过多怎么解决?(华为真题)
- 分层路由:关键词 + 小模型做意图分类 → 工具组 → 只发该组 schema
- 语义搜索:embedding 预计算工具向量 → query 检索 Top-K
- 效果:token 开销降低 60%,工具选择准确率 82% → 94%
二、RAG 系统(🎯 简历核心项目,必被拷打)
🎯 Q5:RAG 的完整流程?核心挑战?
离线阶段:文档加载 → 文本分割(Chunking)→ Embedding → 存入向量数据库 在线阶段:查询重写 → 向量检索 → 重排序(Reranking)→ 上下文拼接 → LLM 生成
结合简历:对组件库文档进行 Embedding 向量化并构建语义检索索引,匹配率从 30% 提升至 85%。
🎯 Q6:Chunk Size 怎么选?Overlap 的作用?
- 代码文档 500-800 token,产品文档 300-500 token,FAQ 类 100-200 token
- 没有万能值,要按数据类型调优
- Overlap 防止语义断裂,推荐 chunk_size 的 10-20%
- 进阶:多粒度索引——粗粒度做粗筛,细粒度做精排
⭐ Q7:向量检索和关键词检索的区别?什么时候用哪个?
- 向量检索:语义相似度,适合模糊查询、跨语言
- 关键词检索(BM25):精确匹配,适合专业术语、代码名
- 最佳实践:混合检索(Hybrid Search),向量 + BM25 加权融合
⭐ Q8:RAG 的评估指标有哪些?
- 检索质量:Recall@K、MRR、NDCG
- 生成质量:Faithfulness(忠实度)、Answer Relevancy(回答相关性)、Context Precision(上下文精确度)、Context Recall(上下文召回率)
- 评估框架:RAGAS、TruLens、DeepEval
- 端到端:用户满意度、首 token 延迟(P50/P95/P99)、一次回答解决率
⭐ Q9:RAG 和 Fine-tuning 分别适用什么场景?
- RAG:知识频繁更新、需要引用溯源、低成本快速迭代
- Fine-tuning:需要改变模型行为风格、领域术语深度理解、推理模式定制
- 简历场景:我们选 RAG 因为组件库文档更新频繁,且需要精准匹配
Q10:检索到的上下文和问题无关怎么处理?
- Query Rewriting + Multi-Query Retrieval
- 元数据过滤 + HyDE(生成假设性回答来检索)
- 多路召回(向量 + BM25)
- Rerank 重排序(bge-reranker 等)
Q11:RAG 和长上下文模型(1M token 窗口)的关系?RAG 会被替代吗?
- 长上下文局限:成本高、延迟大、Lost in the Middle 更严重
- RAG 优势:精准高效、成本可控、知识更新灵活、可解释性强
- 未来趋势:RAG(精准召回)+ 长上下文(深度推理)混合模式
三、Multi-Agent 系统(🎯 简历有个人项目)
🎯 Q12:Multi-Agent 和 Single Agent 怎么选?
- 值得上 Multi-Agent:任务天然可并行、需要多种专业视角交叉验证、需要「魔鬼代言人」机制
- Single Agent 更好:步骤强依赖、需要大量人机交互、预算/延迟敏感
结合简历:设计任务拆解 → Agent 分配 → 并行执行 → 结果聚合的工作流,已开发 20+ 专业 Agent。
⭐ Q13:Multi-Agent 之间怎么通信和协调?遇到分歧怎么解决?
- 通信模式:Hub-Spoke(推荐)、广播、点对点
- 分歧解决四层:规则优先(安全 Agent 有否决权)→ 多数投票 → Manager 仲裁 → 人工升级
- 成本控制:限制通信长度(上限 800 token)+ Manager 摘要转发
⭐ Q14:Multi-Agent 的「幻觉放大」问题怎么处理?
- 一个 Agent 幻觉 → 第二个信了 → 第三个基于错误决策(级联失败)
- 防线:强制引用(Source Citation)→ 交叉验证 → 地面真相锚点(关键信息直接查 DB/API)→ 分歧即信号
Q15:Agent 框架怎么选?LangChain/AutoGen/CrewAI/LangGraph?
- 快速原型 → CrewAI
- 生产级复杂场景 → LangGraph 手写
- LangChain 陷阱:封装黑盒、版本地狱、过度抽象
- 生产建议:核心 Agent Loop(200 行)自己写,辅助模块用框架
四、Agent 基础架构
⭐ Q16:什么是 AI Agent?和 Chatbot 的本质区别?
- Chatbot:用户输入 → LLM 推理 → 输出文本(被动问答机)
- Agent:用户输入 → LLM 推理 → 决定用什么工具 → 执行 → 观察结果 → 决定下一步 → 循环
- 核心四能力:感知(Perception)、规划(Planning)、行动(Action)、记忆(Memory)
⭐ Q17:Agentic Loop 的流程?终止条件?
User Input → [Think → Act → Observe] → 循环 → Final Output
- 终止条件:最大轮次(如 10 轮)+ LLM 主动判断 finish
- 关键:上下文爆炸问题——工具返回结果做摘要、设最大轮次、定期 compact
⭐ Q18:Plan-and-Execute 和 ReAct 模式的区别?
- ReAct(边想边干):适合任务路径不确定、需要观察结果再调整。灵活但容易跑偏
- Plan-and-Execute(先想好再干):适合多步骤但依赖清晰的确定性任务。可控但不灵活
- 生产推荐:混合模式——大步骤 Plan-and-Execute 规划,子步骤内部 ReAct
五、Prompt Engineering
⭐ Q19:Agent 的 System Prompt 怎么写?和普通 Chat 有什么不同?
Agent System Prompt 六要素:
- 角色定义(2-3句话)
- 能力边界(能用什么工具,不能做什么)
- 决策准则(什么情况调什么工具/什么情况回复/什么情况转人工)
- 输出格式约束(JSON schema)
- 安全规则(禁止操作、敏感数据处理)
- 错误处理策略(工具失败怎么办)
⭐ Q20:Few-shot 和 Chain-of-Thought 在 Agent 中怎么用?
- Few-shot:工具调用参数提取(3-5 个示例),准确率 78% → 96%
- COT:复杂多步骤决策,但要限定思考步骤数(防「想太多」)
- 简单工具调用 → 不需要额外 prompting
⭐ Q21:Prompt 失效怎么办?怎么提高鲁棒性?
- 失效模式:指令冲突、长 prompt 中间指令被忽略(Lost in the Middle,遵循率仅 60%)、场景漂移
- 提高方法:关键规则放首尾位置 + 用反例 + 输出双层约束(Prompt + schema 校验)+ 监控漂移
六、Function Calling & Tool Calling
⭐ Q22:Function Calling 的工作原理?
- 本质:LLM 不是在「调用」函数,而是「生成 JSON 描述调哪个函数和什么参数」——实际执行是你的代码
- 流程:定义 schema → 发送 LLM → LLM 返回函数名+参数 → 代码执行 → 结果返回 LLM
⭐ Q23:工具调用失败怎么办?错误处理策略?
三层错误处理:
- 可重试错误(网络超时、限流)→ 指数退避重试,最多 2 次
- 参数错误 → 返回 error + schema,让 LLM 自行修正(83% 成功率)
- 不可恢复错误 → 返回清晰错误,让 LLM 提出替代方案
七、Memory 系统设计
⭐ Q24:Agent 的 Memory 系统怎么设计?
三层架构:
Working Memory(工作记忆)→ 上下文窗口内的当前对话
Short-Term Memory(短期)→ Redis,session 内的关键信息
Long-Term Memory(长期)→ 向量数据库,历史交互/用户画像
- 写入:用轻量级 LLM 判断「这条信息值得记住吗?」
- 读取:语义检索 Top-5 相关记忆拼入 System Prompt
- 遗忘/衰减:重要度评分 + 最后访问时间
⭐ Q25:上下文窗口有限,长对话怎么管理?
- 渐进式摘要:超过 80K token,前半段压缩成 500 字摘要
- 结构化状态:用 JSON 替代自然语言,省 70-80% token
- 关键信息 Pin:每轮 append 到 messages 末尾
八、LLM 基础
⭐ Q26:Transformer 的核心机制?为什么比 RNN 好?
- Self-Attention 机制:并行计算 token 间关系
- 比 RNN 优势:并行训练、长距离依赖、可扩展性
⭐ Q27:大模型训练流程(预训练 → SFT → RLHF)
- 预训练:大规模无监督学习语言模式
- SFT(Supervised Fine-Tuning):指令微调,学会遵循指令
- RLHF(Reinforcement Learning from Human Feedback):人类反馈对齐
⭐ Q28:Temperature 和 Top-p 怎么调?
- Temperature:控制随机性(0 确定性 → 1 创造性)
- Top-p(nucleus sampling):从概率累积前 p 的 token 中采样
- 代码生成:Temperature 低(0-0.3)
- 创意写作:Temperature 高(0.7-1.0)
九、工程实践
⭐ Q29:模型推理速度怎么优化?
- KV Cache
- 量化(INT8/INT4)
- vLLM 框架
- 批处理(Continuous Batching)
- Speculative Decoding
⭐ Q30:SSE / WebSocket / HTTP 流式输出?
- SSE:单向推送,适合 LLM 流式输出,实现简单
- WebSocket:双向通信,适合需要客户端也发指令的场景
- HTTP 流式:最简单,chunked transfer encoding
Q31:LLM 服务不稳定时的降级策略?
- 多模型路由(主模型挂了切备用)
- 缓存热门 query 的结果
- 降级到关键词检索 + 模板回复
十、安全与系统设计
⭐ Q32:Prompt Injection 怎么防?四层防御模型
- 输入过滤:关键词检测 + 异常分类
- Prompt 层防御:明确拒绝规则 + Few-shot 示例 + 安全规则 append 末尾
- 工具权限层(最有效):最小权限原则 + 危险操作 step-up 确认 + 参数校验
- 输出过滤:内容安全模型 + System Prompt 泄露检测
⭐ Q33:怎么评估 Agent 的好坏?
四层评估:
- 输出质量:准确性、忠实度、完整性
- 行为质量:任务完成率、工具选择准确率、平均步数、无效工具调用率
- 用户体验:解决率、满意度、首 token 延迟
- 业务指标:转人工率、平均处理时长、用户留存
简历项目高频追问预判
🎯 项目一:AI 驱动低代码平台
面试官必问:
- 匹配率从 30% 到 85%,具体怎么衡量的?测试集怎么构建的?
- 12 个私有组件的 MCP Server,工具描述怎么写的?遇到过 LLM 选错工具吗?
- 代码沙箱怎么实现的?安全问题怎么处理?
- 6 种页面模板的抽象依据是什么?怎么判断哪些模式值得模板化?
- 多模型路由的策略?按什么维度路由?延迟差异大吗?
- 单页 2-3 天缩短到 2-3 小时,这个数据怎么测量的?
🎯 项目二:多 Agent 自动化工作流
面试官必问:
- 20+ Agent 是怎么分工的?有没有 Agent 职责重叠的问题?
- 人工介入率从 100% 降到 30%,剩下 30% 是什么类型的任务?为什么不能自动化?
- 500+ 任务的处理,有没有遇到过 Agent 级联失败?怎么恢复的?
- RAG 知识处理流水线,280+ 素材的 Embedding 模型选的什么?效果如何?
- 多平台发布(公众号、小红书),遇到反爬/风控怎么处理?
🎯 项目三:前端基础设施
面试官可能追问 AI 结合点:
- Monorepo 管理组件,和 MCP Server 暴露组件有什么关联?
- 微前端方案中,AI 生成的代码怎么做到子系统间复用?
面试策略建议
- 项目深度 > 知识广度:面试官最关心你做了什么,不是背了多少概念。每个项目准备「问题 → 架构 → 踩坑 → 效果」四段论
- 准备好「为什么这样设计」:背面经能说「是什么」,你能说「为什么」和「为什么不用另一种方案」
- 简历项目数据要站得住:所有百分比和数据要能解释测量方法
- 安全意识是加分项:Prompt Injection 防御、工具权限控制、数据脱敏
参考来源:掘金(19场面试真题)、CSDN(30道Agent面试题双视角版)、牛客网(华为/字节AI面经)、小林coding(530+面试题库)