快手校招AI+Agent
面经概览
本文档整理了快手校招 AI+Agent 方向一面的完整面经,共 13 个技术大类、56 道问题,涵盖 RAG 召回、Rerank 策略、上下文工程、Agent 工具调用、安全控制、限流系统、算法基础、数据库索引、RAG 评测与优化、数据处理设计等核心方向。每个大类下列出主问题和追问,方便针对性准备。
主问题
Q1:为什么要设计父子索引,而不是只用普通 chunk 检索?
Q2:检索阶段为什么还要加入 BM25?
追问
Q3:BM25 检索和向量召回是怎么配合的?两者的权重或占比怎么确定?
Q4:从用户 query 进来到最终组装上下文,中间完整链路是怎样的?
Q5:召回之后有没有再做 rerank?具体采用了什么 rerank 方式?
二、Rerank 与结果截断策略
主问题
Q6:经过 rerank 之后,通常会保留多少个文本块?
Q8:rerank 之后的 topK 是如何截断的?
追问
Q7:这个数量是怎么定下来的?有没有做过对比或验证?
Q9:为什么选择当前这个 topK 值?有没有尝试过其他截断策略?
Q10:当上下文内容太少或者超出长度限制时,你是怎么处理的?
三、上下文工程与记忆设计
主问题
Q11:介绍一下你们的上下文工程是怎么做的。
Q14:记忆机制是如何设计的?
追问
Q12:最终拼给模型的上下文结构是什么样的?
Q13:如何控制上下文长度,避免内容过长影响模型效果?
Q15:短期记忆和长期记忆分别存什么?两者怎么区分?
Q16:记忆内容什么时候更新?更新规则是什么?
四、Agent 规划与工具调用
主问题
Q17:Function Calling 在项目里是怎么设计和落地的?
Q18:Agent 的任务规划流程是怎样的?
追问
Q19:任务规划主要依赖模型完成,还是通过规则控制?
Q20:涉及多个工具时,调用顺序是怎么决定的?
Q21:如果某个工具调用失败,系统会怎么处理?
五、安全控制与防护机制
主问题
Q22:如何防御 Prompt 注入攻击?
追问
Q23:有没有做输入过滤、规则拦截或内容校验?
主问题
Q24:工具调用过程中的安全控制怎么做?
追问
Q25:如何避免模型调用敏感接口?
Q26:有没有做权限校验、接口白名单或访问控制?
六、限流相关系统设计
主问题
Q27:讲一下分布式令牌桶限流的实现思路。
Q28:漏桶算法的核心原理是什么?
Q29:滑动窗口限流是怎么实现的?
Q31:滑动窗口和令牌桶有什么区别?
追问
Q30:如果用滑动窗口实现限流,结构体里一般需要包含哪些字段?
Q32:如果基于 Redis 做限流,你会选择什么数据结构?
七、基础算法与数据结构
主问题
Q33:介绍一下布隆过滤器。
追问
Q34:布隆过滤器可能会带来什么问题?
Q35:误判率一般怎么控制?
八、数据库索引
主问题
Q36:哪些场景会导致数据库索引失效?
Q37:like 查询一定会导致索引失效吗?
追问
Q38:哪些 like 写法或者查询方式会让索引无法命中?
九、RAG 评测与数据集建设
主问题
Q39:RAG 系统一般怎么做效果评测?
Q40:RAG 的评测维度有哪些?
Q42:评测数据集通常需要包含哪些内容?
追问
Q41:常见评测指标有哪些?
Q43:怎么构建一套质量比较高的 RAG 评测数据?
十、RAG 效果优化
主问题
Q44:如果要提升检索相关性,你会从哪些方向优化?
Q45:如果要提升最终回答质量,你会怎么做?
追问
Q46:你会优先优化检索阶段,还是优化生成阶段?
Q47:怎么判断一次优化确实带来了效果提升?
十一、数据处理系统设计题
主问题
Q48:如果有一个数据处理任务,比如对一千条数据做求和,你会怎么设计处理流程?
追问
Q49:如果数据量扩大到百万级,方案需要怎么调整?
Q50:如何保证计算效率和系统稳定性?
十二、RAG 性能优化
主问题
Q51:如果要提升 RAG 系统性能,你会从哪些方面入手?
追问
Q52:是从检索层、模型层,还是系统架构层优化?
Q53:有没有使用缓存、并行处理等优化方式?
十三、上下文优化
主问题
Q54:当前上下文是怎么处理和组织的?
追问
Q55:后续有哪些优化方向?
Q56:如何减少无关上下文对模型回答的干扰?