美团 AI 应用开发实习一面:多路检索、半开熔断与记忆
本场面试题
- 多路检索怎么做?
- 熔断器处于半开状态时,哪些请求放行,哪些拒绝?
- 会话记忆怎么完成?
面经与参考答法
美团 AI 应用开发实习一面:多路检索、半开熔断与记忆
这份自述记录了美团 AI 应用开发实习一面的题目,部门和面试日期未披露,不能从发布信息或校招届别补出年份。本页选取三组明确问题;原帖未记清的 MCP 问法和概括为“缓存相关”的内容保留缺失,不恢复题干。经历未经外部核实;短答与示例是编辑补充的学习材料,不代表现场回答、项目配置或公司技术栈。
(1)多路检索怎么做?
先明确“多路”指不同检索器、查询变体还是索引,原帖没有披露具体路由。常见方案是在统一的权限、实体、版本等约束下分别召回,保留各路排名,去重后用 RRF 等方法融合,再按需要重排并控制上下文预算。不同来源的原始分数不能直接相加,多路是否有收益要同时检查漏召回、前排相关性、最终答案、时延与成本。
教学示例(非原面试实现):带精确错误码的查询可同时走词法与语义通道;两路命中同一片段时按稳定标识合并,保留来源与版本。若另生成查询变体,还要检查它是否删掉了原问题中的否定或时间限制。
(2)熔断器处于半开状态时,哪些请求放行,哪些拒绝?
半开用于有限恢复探测,应按预设的探测许可决定准入,而不是把冷却结束当成全部恢复。并发请求以线程安全方式取得有限名额,取得许可的请求调用依赖,其他请求快速失败或走已验证的降级路径;再按具体实现配置的探测结果和门槛回到关闭或打开状态。探测要避免高风险副作用,不能把某个库的默认数量当通用答案。
教学示例(非原面试实现):假设教学策略一轮只允许两个探测请求,第三个请求不能因“已经半开”就一起压向依赖。两个探测的超时、失败及恢复判据都要预先约定,而不是只看到一次成功就假定所有流量都能恢复。
(3)会话记忆怎么完成?
先区分本次会话的上下文与可恢复状态,以及跨会话保留的长期事实。运行时按可信的用户、租户和会话标识保存状态或检查点,组装上下文时再读取相关历史、摘要或获准检索的记忆;模型不会自动看到磁盘里的全部记录。写入与召回都要检查来源、权限、时效和版本,摘要也不能覆盖用户后来纠正的事实。
教学示例(非原面试实现):用户在本轮纠正了产品版本,应更新会话状态并处理旧摘要,避免下一轮又召回旧版本。若要跨会话保存偏好,还需明确保留用途、更新与删除机制。