文章目录

牛客 Agent 开发面经整理:某教育方向(OAuth2.1 / MCP / RAG 一致性 / 切片 / 召回重排 / SSE / K8s)(三十四)

收录日期:2026-05-07
关键词:AI Agent、MCP、OAuth2.1、RAG、一致性、embedding、切片、召回重排、SSE、Kubernetes

1. OAuth2.1 为什么要接入 MCP?(以及怎么接)

参考答案

  • MCP 场景通常需要“代表用户/租户”去调用外部工具与数据源,因此需要标准化授权与令牌管理。
  • OAuth2.1 相比历史版本更强调安全最佳实践(例如 PKCE、减少隐式流等思路),更适合公共客户端与多端接入。
  • 接入要点:
    • 工具端以 resource server 身份校验 access token;
    • Agent/MCP 侧保存最小必要的 token(优先短期 access + 可撤销 refresh);
    • 绑定租户/用户上下文,严格 scopes 与最小权限。

2. 项目中遇到最困难的点是什么?如何回答更有说服力?

参考答案

  • 选一个“可量化”的难点(准确率、延迟、成本、稳定性、合规),讲清取舍。
  • 给出对比:改进前后指标、线上报警/故障复盘、以及你具体做了什么。
  • 避免泛泛而谈“调 prompt”,要体现工程化(评测集、回放、可观测性、版本管理)。

3. 做重构时如何使用 AI?

参考答案

  • 让 AI 生成“迁移计划 + 风险清单 + 回归测试点”,再分批落地。
  • 对关键逻辑:先补测试再改动;用 AI 帮你补齐边界用例与 mock。
  • 每次变更都保留可回滚路径(feature flag / 分支策略)。

4. RAG 项目里 MySQL 和 ES 数据一致性如何处理?

参考答案

  • 建议用 CDC(binlog)异步同步到 ES,保证最终一致;失败可重放。
  • ES 写入必须幂等:同 docId 用版本号或更新时间判断覆盖。
  • 定期对账:抽样比对/全量重建;配合死信队列处理异常数据。

5. embedding 模型如何选型?

参考答案

  • 先定义检索任务:FAQ、文档段落、代码片段等,不同任务评测集不同。
  • 指标以业务为准:Recall@K、MRR/NDCG、以及重排后命中率与“可解释引用率”。
  • 结合成本:吞吐、延迟、向量维度、存储与检索开销、以及可部署性(本地/云)。

6. 手动干预切片怎么实现?

参考答案

  • 分层:文档→章节→段落/条款→chunk;chunk 保留标题路径与引用锚点。
  • 规则可配置:最大 token、重叠窗口、代码块与表格特殊处理。
  • 支持人工修正:对错切/漏切提供可视化编辑,并记录版本。

7. 召回与重排策略怎么设计?

参考答案

  • 多路召回:BM25(关键词)+ 向量(语义)+ 结构化过滤(权限/租户/时间)。
  • 重排:先轻量 rerank(成本低)再必要时用更重模型;并加入业务特征。
  • 目标函数:top 命中率优先,同时控制延迟与成本;线上用 A/B 验证。

8. SSE 流式输出:用户关闭浏览器断开了,怎么保证不中断/可续传?

参考答案

  • 服务端把输出分片持久化(缓存或 DB),按 conversation_id/message_id 记录 offset。
  • 客户端重连携带 offset/Last-Event-ID,从断点续传。
  • 要配套:输出幂等、防重复、过期清理、以及“生成已结束/已取消”的状态机。

9. 是否了解 K8s?Agent 服务上 K8s 的重点是什么?

参考答案

  • 稳定性:HPA、探针、滚动发布、限流熔断、依赖隔离。
  • 观测:日志 + 指标 + trace,按请求维度串起模型调用/检索/工具调用。
  • 安全:Secret 管理、网络策略、最小权限、以及外部工具调用的审计。