这agent面试这么难,这是要结合背后的算法
点赞 评论

相关推荐

04-09 16:25
门头沟学院 Java
面试1h左右RAG 架构与检索流程1、为什么引入父子索引?2、为什么在检索阶段引入BM25?(追问)BM25和向量检索是怎样组合的?比例是如何设置的?(追问)整体检索流程是怎样的?从query 到最 终上下文的完整流程是什么?(追问)检索阶段有没有做rerank?使用的是什 么方式?Rerank 与检索结果处理1、rerank后一般返回几个块?(追问)为什么选择这个数量?有没有做过验证?2、rerank后的topK截断是怎么做的?(追问)为什么是这个值?有没有尝试过其他策略?(追问)如果上下文长度不够或过长,你是怎么处理的?上下文工程与记忆机制1、讲一下上下文工程是怎么设计的。(追问)上下文拼接的结构是怎样的?(追问)如何避免上下文过长导致模型性能下降?2、记忆机制是怎么做的?(追问)短期记忆和长期记忆是如何区分和存储 的?(追问)记忆更新策略是什么?Agent设计与工具调用1、Function Calling 是怎么设计的?2、Agent的任务规划是怎么做的?(追问)规划是由模型完成还是通过规则实现?(追问)多工具调用时如何决定调用顺序?(追问)如果工具调用失败如何处理?安全与防护机制1、Prompt注入攻击如何防御?(追问)有没有做输入过滤或规则校验?2、工具调用的安全控制是怎么实现的?(追问)如何限制模型调用敏感接口?(追问)是否有权限控制或白名单机制?限流与系统设计1、讲一下分布式令牌桶限流。2、漏桶算法是什么?3、滑动窗口算法是怎么实现的?(追问)如果使用滑动窗口,结构体中会包含哪些字段?4、滑动窗口和令牌桶相比有什么区别?(追问)如果用Redis实现限流,会使用什么数据结构?基础算法与数据结构1、布隆过滤器讲一下。(追问)会出现什么问题?(追问)如何控制误判率?数据库与索引1、数据库索引失效的情况有哪些?2、like查询会不会导致索引失效?(追问)哪些写法会导致索引无法命中?RAG 评测与数据集1、RAG系统如何评测?2、有哪些评测维度?(追问)常见的指标有哪些?3、评测数据集一般包括哪些内容?(追问)如何构建高质量评测数据?RAG 优化与效果提升1、如果要提升相关度,你会怎么做?2、如果要优化回答效果,有哪些思路?(追问)是优化检索阶段还是生成阶段?(追问)如何验证优化是否有效?系统设计题1、如果设计一个数据处理场景,比如有一千条数据需要求和,你会如何设计处理流程?(追问)如果数据规模扩大到百万级怎么处理?(追问)如何保证计算效率和稳定性?RAG 性能优化1、RAG的性能如何提升?(追问)是从检索、模型还是系统架构优化?(追问)有没有做缓存或并行优化?上下文优化1、当前的上下文是如何处理的?(追问)有哪些优化思路?(追问)如何减少无关上下文对模型的干扰?
Agent面试会问什么?
点赞 评论 收藏
分享
04-09 17:45
门头沟学院 Java
一、自我介绍与项目深挖做一下自我介绍。简单讲一个你最有代表性的项目,你在其中解决的最关键问题是什么?结合实习或项目,做细节追问(工作流、职责、决策、挑战等)。二、Agent 与提示工程相关提示词模板是怎么设计与迭代的?你如何判断一个模板真的变好了?你们的 Agent 是单 Agent 还是多 Agent?为什么这么设计?有没有考虑过替代方案?Agent 的任务是怎么拆分的?拆分粒度是怎么决定的?上下文是如何构建的?你们怎么避免上下文过长或信息污染?如果上下文窗口不够,你会优先保留哪些信息?为什么?三、代码理解与单测生成(工程场景)做代码理解时,AST、调用关系这些信息是怎么用起来的?单测生成里,哪些代码不适合生成单测?你们是如何识别并过滤的?覆盖率高但测试质量很差,你见过吗?你们是如何解决的?mock 在单测里什么时候是必须的?什么时候反而会带来问题?如果一个函数同时依赖数据库和 RPC,你怎么让模型生成的单测稳定运行?你们如何评估生成单测的质量? 除了覆盖率,还有哪些指标有效?四、LLM 基础与 Transformer 细节LLM 的输入到底是什么?模型真正看到的内容包含哪些?self-attention 的核心作用是什么?为什么要拆成 Q、K、V?为什么 attention 能建模长距离关系?为什么需要 multi-head?attention 为什么可以看成动态加权?同一个 token 的 Q、K、V 为什么不相同?attention 复杂度很高,当上下文特别长时,你会怎么优化?模型产生幻觉的常见原因是什么?工程上有哪些方法可以降低幻觉?五、后端与系统基础Python 有多线程吗?GIL 是干嘛的?什么时候多线程才是有用的?讲一下 C++ 从源码到可执行文件的完整编译流程。六、算法题(手撕)给定一个数组 nums,计算所有子数组的中位数之和。定义:如果子数组长度为奇数:中位数 = 排序后中间的数。如果为偶数:中位数 = 排序后靠左的那个数。要求:计算所有子数组的中位数之和。
查看24道真题和解析
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务