面灵AI

去哪儿AI应用开发秋招一面面经

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

《面试题目》

  1. JVM 类加载的完整过程是什么?双亲委派模型在实际工程中解决了什么问题?
  2. 在多模型 AI 网关中,如何设计模型路由、降级和故障隔离?
  3. Redis 的 RDB 和 AOF 持久化原理有什么区别?生产环境如何选择?
  4. 为什么 LLM 应用必须区分系统提示词、用户消息和工具返回结果?
  5. 设计生产级 Agent 记忆系统时,如何判断哪些信息应该进入长期记忆?
  6. RAG 系统如何处理长文档切分导致的语义断裂?
  7. 如何评估 AI 应用的效果,避免只依赖人工主观感受?
  8. 模型输出必须严格符合 JSON Schema 时,服务端如何保证结构可靠?

《参考解析》

  1. 类加载与双亲委派:类加载经历加载、验证、准备、解析和初始化。类加载器先委托父加载器,父加载器无法完成时才自行加载,这能防止核心类被业务代码替换,并避免同一层级重复加载;SPI、容器隔离和插件系统会根据场景使用上下文类加载器或自定义加载策略。
  2. 模型网关治理:接入层负责鉴权、限流和请求标识,策略层综合任务能力、延迟、成本、上下文长度与近期健康度选路,适配层统一不同供应商协议。各供应商应使用独立的并发配额、连接池、超时和熔断状态,只有明确可重试且尚未向用户输出内容的失败才允许切换备用目标,并完整记录退级事件。
  3. RDB 与 AOF:RDB 保存某个时间点的内存快照,文件紧凑、恢复快,但快照间隔内的数据可能丢失;AOF 追加写命令,数据丢失窗口更小,但文件更大且重放较慢。生产配置取决于数据是否能从权威存储重建;关键状态不能只依赖 Redis,通常还需要数据库或消息系统作为最终数据源。
  4. 消息角色隔离:系统提示词定义应用边界,用户输入和工具返回都属于不可信数据。后两者即使包含“忽略之前指令”之类文本,也只能作为内容处理;真正的资源权限和工具调用授权必须由服务端依据用户身份、资源归属和审批状态判断。
  5. 长期记忆准入:只保存用户明确表达、跨会话有价值、相对稳定且来源可追溯的事实。每条记忆应带类型、来源、时间和有效期;新旧事实冲突时保留时间范围而非直接覆盖,高敏感信息则需要更严格的明确授权。
  6. RAG 分块:先按标题、段落、列表、表格和代码块做结构化切分,再按 token 上限二次切分。小块用于检索,大块或父段落用于生成,并保留章节、相邻块和文档标识;配合混合检索与重排可降低关键词丢失和跨段语义断裂。
  7. AI 应用评估:离线数据集分别衡量检索召回、答案正确性、引用一致性、格式合规和延迟;线上记录模型、提示词、工具链、错误、成本及用户反馈,并用受控实验比较版本。最终还要对齐问题解决率、转人工率等业务指标,不能只看单一点击或主观评分。
  8. 结构化输出:优先使用供应商原生结构化输出能力,但仍需在服务端解析并按同一份 Schema 严格校验。失败时可以做次数受限、错误可观测的修复重试;仍不合格就明确失败或进入人工处理,不能把无法解析的内容静默当作有效结果。