牛客 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 管理、网络策略、最小权限、以及外部工具调用的审计。