淘天 AI 应用研发一面面经
- 轮次
- 一面
- 时间
- 2026-10
- 来源
- 牛客网
《面试题目》
- MQA 和 GQA 是如何优化多头注意力的?
- 什么是 token?如何节省 token?
- 微调过模型吗?LoRA 听过吗?
- RAG 的运行过程是什么?检索有哪些类型?
- 如何优化 RAG 链路的性能?
- 如何理解 Skill?
- 如何设计知识库,包括知识的准确性和更新机制?
- 介绍一个熟悉的 Java 垃圾回收器。
- 从 Spring 的角度,如何缩短应用启动时间?
- 常见的索引优化方式有哪些?
- 数据库中的锁有了解过吗?
《参考解析》
MQA/GQA:多头注意力每个头都有独立的 Q/K/V,KV Cache 随头数增长;MQA 让所有头共享一组 K/V,大幅降低推理显存和带宽,但可能损失效果;GQA 把头分组,每组共享 K/V,在效果和成本之间折中。token 是模型处理文本的最小单位,节省 token 可以用更紧凑的提示、摘要历史、按需检索、缓存系统提示和结构化输出。
LoRA 冻结原模型,只训练低秩分解矩阵,参数量小、可多任务切换;适合领域适配和风格对齐,但容量有限,复杂任务可能需要全参或更大 rank。RAG 流程是文档入库、切片、向量化、检索、重排、拼上下文、生成、引用;检索类型包括稀疏(BM25)、稠密向量、混合检索和图检索。性能优化看检索延迟、召回质量、重排成本和上下文长度,可以做缓存、异步、批量、分层索引和裁剪。
知识库要解决准确性和更新:入库前去重、清洗、结构化,切片保留元数据;检索时混合召回加 rerank,答案带引用;更新用增量索引、版本号和失效机制,定期用评测集回归。Java GC 可以讲 G1 的分区、并发标记、可预测停顿;Spring 启动优化包括懒加载、减少扫描、排除自动配置、AOT、并行初始化和精简依赖。索引优化看最左前缀、覆盖索引、避免函数运算和隐式转换;数据库锁分共享/排他、行锁/表锁、间隙锁和意向锁。