面灵AI→

经纬恒润 AI 应用开发一面面经

轮次
一面
时间
2026-10
来源
牛客网

《面试题目》

  1. 请做一下自我介绍。
  2. 你在电信工作期间有接触 AI 相关的工作吗?本科毕业为什么去电信、做项目管理而不是做开发?
  3. 为什么从电信离职、出国读研?
  4. 为什么用语义检索加关键词(BM25)的双路召回?只用一路会有什么问题?
  5. 关键词、术语是 AI 识别出来的吗?需不需要人工确认?
  6. 有没有遇到模型理解错用户意图的情况?怎么解决的?
  7. 知识库的数据规模有多大?
  8. 评测用了哪些指标?怎么用这些指标指导调优?
  9. 评测集的标准答案是怎么来的?
  10. 支持上传哪些文档格式?上传后怎么解析处理?
  11. 文档里的图片和表格怎么处理?
  12. 有没有对知识库文档本身的内容做审核或质量把控?
  13. 怎么避免模型编造答案?
  14. 介绍一下你的个人项目。
  15. 这个项目是基于 Claude Code / Codex 运行的吗?
  16. 用到了哪些 MCP?
  17. 不同功能之间的 agent 模式是怎么选取的(ReAct 和状态机怎么区分)?
  18. PPT 生成为什么用状态机?
  19. 用 AI 写代码时,你会去看它生成的代码吗?怎么保证质量?
  20. 记忆是怎么实现的?短期记忆和长期记忆分别怎么做?
  21. 这个项目做了多长时间?

《参考解析》

双路召回与查询侧处理:BM25 是词项精确匹配,对型号、专有名词、缩写、编号这类「字面必须对上」的查询命中很准,不依赖模型、可解释、快;向量检索走语义相似,能召回换了说法但意思相同的段落,代价是容易「形似神不似」,对罕见词和数字不敏感。只用 BM25,用户换个说法就召不回;只用向量,型号与编号这类精确查询会漏。做法是两路并行取候选,用 RRF 或加权分数合并(两路分数量纲不可比,必须先归一化或只用排名),再上重排模型。术语表如果由模型从文档里抽,一定会有漏抽和归并过头的问题,所以要落成可编辑的表、由业务方确认后才生效,查询侧再做同义词扩展——这条是「人在回路」的考点。

模型理解错意图怎么办:典型表现是答非所问、检索用了错误实体、把闲聊当业务问题。分三层处理:一是查询改写与澄清,歧义时先反问用户确认关键实体(哪个型号、哪份制度),不要硬猜;二是把意图识别做成受控分类(给定意图集合 + few-shot),置信度低就走澄清,而不是让模型自由发挥;三是把线上错例按「意图识别错 / 召回错 / 生成错」分类归因,只有第一类才去补意图分类的样本与规则。评测时要单独统计意图准确率,否则回答质量差会被错误归因到检索或生成上。

评测指标与评测集怎么造:检索层看 Hit Rate@k、Recall@k、MRR/NDCG,生成层看忠实度(有没有编造)、答案相关性、完整性、拒答是否恰当。评测集理想形态是「真实问题 + 标准答案 + 依据片段」三元组,来源三条:线上真实问题(尤其点踩和追问的)、业务方常见问答、按文档反向生成的问题;标准答案要业务专家写或确认,模型生成的题只能当补充且必须人工过一遍,否则等于把模型的错当成标准。用指标指导调优就是做消融:固定评测集与参数,分别改切分粒度、embedding、召回路数、top-k、重排,看哪一项对哪个指标贡献最大,再决定投入。

文档解析:图片与表格:PDF、Word、Excel、PPT、Markdown 要分别处理,PDF 最难——有文本层的直接抽,扫描件走 OCR,双栏与页眉页脚要过滤,跨页表格要拼接。图片分两种:有信息量的(流程图、结构图)用多模态模型生成描述,把描述作为补充文本随原图链接一起入库;纯装饰图直接丢。表格不能拍平成一行文字,最好按「表头 + 行」结构化成 Markdown 或保留字段,让模型能读懂行列关系。文档级质量把控包括:入库前多版本去重、标注有效期与适用范围、隔离草稿与过期制度,以及定期抽检「高被引用但被点踩」的片段。

怎么避免模型编造答案:检索层设相似度阈值,不到阈值就明确说知识库没有;生成层强制引用片段并要求「资料不足时说明不足」,配合 few-shot 反例;校验层把答案与片段一起做一致性检查,把不被支持的说法标出来或降级为「建议人工确认」。还要把「不知道」做成正常输出:告诉用户为什么没找到(问题太宽泛、知识库未覆盖)并给出改写建议,比编一个看起来合理的答案代价小得多。

Agent 模式怎么选:ReAct 还是状态机:ReAct 灵活,模型自己决定下一步调哪个工具,能处理开放问题,代价是路径不可预测、可能绕圈、成本与延迟不可控、也不保证走到终点。状态机把流程固定成节点与迁移条件,每个节点职责单一、可测试、可重试、可观测,代价是只覆盖设计过的路径,例外要显式加分支。判据是任务有没有确定的步骤结构:生成 PPT 这种有明确阶段(选题 → 提纲 → 内容 → 排版 → 导出)、每阶段输入输出固定的,用状态机——面试官说这其实就是工作流,是对的;查资料答问题这种步数不定、要模型判断的,用 ReAct 循环。真实系统多是混合:外层状态机控阶段,阶段内用 ReAct 处理开放子任务,并给循环设步数与超时上限。

记忆:短期与长期:短期记忆就是当前会话的消息窗口加工具调用记录,难点在上下文预算——常见做法是保留最近 N 轮原文、更早的做滚动摘要,把摘要与关键事实(用户偏好、已确认结论)单独存成结构化字段,保证压缩时不丢。长期记忆跨会话,流程是「抽取稳定事实 → 向量化入库 → 按当前查询召回」,写入要有取舍,只存长期有用的偏好与背景,不存一次性信息;要给用户可见的读写与删除入口,否则脏记忆会长期污染回答。召回回来的记忆同样是不可信输入,要和知识库内容分开标注来源。

转行动机的答法与反问环节:离职与转行按「事实 — 决策依据 — 与岗位的连接」讲:在电信做项目管理期间接触过 AI 相关需求,发现自己更想往技术方向深入,于是出国读研补基础,读研期间做了 RAG 方向实习,确认要长期做 AI 应用工程。时间线要和简历严丝合缝,不抱怨前东家,也别把读研说成逃避,并主动给出到岗与稳定性信息。反问环节他问了二面是否需要准备 PPT、日常工作内容与领导派活方式、上下班与午休安排、自身相比其他候选人的不足、团队怎么做 code review、结果什么时候出——这类问题能换到团队真实状态,比岗位描述可信;问「我有哪些不足」还能拿到直接反馈。