AI Agent一面、二面面经
完整信息
本篇目录
一面:项目深挖、RAG 与工程基础
1. 自我介绍,重点讲一下实习经历和 AI Agent 相关项目。
2. 介绍会议转写项目的完整流程,你在其中主要负责哪些模块?
3. 音视频流进入系统后,经过哪些步骤生成转写文本和会议纪要?
4. 为什么选择阿里云 ASR?对比过其他云服务或开源语音识别模型吗?
5. ASR 的识别效果怎么评估?遇到专有名词、同音字和错别字时怎么处理?
6. 视频通话、语音和转写文本涉及用户隐私,你们如何保证传输、存储和访问安全?
7. 系统采用中心化还是去中心化架构?当时为什么这样设计?
8. 介绍一下项目中的 RAG 流程,离线建库和在线检索分别做了什么?
9. 文档如何切块?Chunk 大小和重叠窗口是根据什么确定的?
10. 为什么使用当前的切块策略?是否通过 Recall@K、MRR 等指标做过实验?
11. 短期记忆和长期记忆分别怎么设计?历史对话在什么情况下会被摘要或召回?
12. Agent 的工具调用成功率是怎么定义的?项目最初的数据是多少,后来如何提升?
13. 工具调用超时、返回脏数据或重复执行时,系统如何重试和兜底?
14. 进程、线程和协程有什么区别?它们分别适合处理什么任务?
15. 已经有进程了,为什么还需要线程?进程创建和上下文切换为什么更重?
16. 并发和并行有什么区别?多个任务看起来同时运行时,CPU 是否真的在并行执行?
17. 举一个适合使用进程隔离的场景,再举一个适合使用多线程的场景。
18. 手撕:实现 LRU Cache,要求 `get` 和 `put` 的时间复杂度都是 `O(1)`。
二面:Agent 设计、模型原理与系统能力
1. 自我介绍,并选择一个最熟悉的 Agent 项目做深入介绍。
2. 你怎么看当前 Agent 技术的发展?现阶段适合落地在哪些场景?
3. 相比传统工作流,Agent 有哪些优势?生产环境中又存在哪些工程问题?
4. Token 是如何划分的?为什么 `strawberry` 在部分模型中会被拆成多个 Token?
5. 为什么大模型以 Token,而不是字符或完整单词作为基本处理单位?
6. 讲一下 Transformer 和 Self-Attention,Q、K、V 分别有什么作用,具体如何计算?
7. 什么是 Lost in the Middle?长上下文中的重要信息为什么容易被模型忽略?
8. 上下文窗口越大越好吗?它对显存、延迟、成本和模型效果有什么影响?
9. 对话超过上下文限制后怎么处理?滑动窗口、摘要压缩和向量召回怎么选择?
10. 简单介绍 SFT 的训练流程,并比较 PPO、DPO 和 GRPO 的区别。
11. 为什么项目采用多 Agent?如果改成单 Agent,会遇到什么问题?
12. 多个子 Agent 如何分工、分发任务和合并全局状态?为什么没有采用去中心化协作?
13. 两个 Agent 给出冲突结论时如何仲裁?什么情况下需要人工介入?
14. 了解哪些进程和内存监控工具?线上服务出现 CPU 飙高或内存持续增长时怎么排查?
15. `mmap` 是什么?它解决了什么问题,适合哪些文件或进程通信场景?
16. `writev` 是什么?它如何通过聚合多个缓冲区减少系统调用开销?
17. 海量数据中找最大的 K 个数有哪些方案?为什么通常使用容量为 K 的小根堆,具体过程和复杂度是什么?
18. 手撕:将扁平 JSON 列表恢复成树形结构,或者实现二叉树的锯齿形层序遍历。
本篇目录
当前问题0136
- 01
1\. 自我介绍,重点讲一下实习经历和 AI Agent 相关项目。
- 02
2\. 介绍会议转写项目的完整流程,你在其中主要负责哪些模块?
- 03
3\. 音视频流进入系统后,经过哪些步骤生成转写文本和会议纪要?
- 04
4\. 为什么选择阿里云 ASR?对比过其他云服务或开源语音识别模型吗?
- 05
5\. ASR 的识别效果怎么评估?遇到专有名词、同音字和错别字时怎么处理?
- 06
6\. 视频通话、语音和转写文本涉及用户隐私,你们如何保证传输、存储和访问安全?
- 07
7\. 系统采用中心化还是去中心化架构?当时为什么这样设计?
- 08
8\. 介绍一下项目中的 RAG 流程,离线建库和在线检索分别做了什么?
- 09
9\. 文档如何切块?Chunk 大小和重叠窗口是根据什么确定的?
- 10
10\. 为什么使用当前的切块策略?是否通过 Recall@K、MRR 等指标做过实验?
- 11
11\. 短期记忆和长期记忆分别怎么设计?历史对话在什么情况下会被摘要或召回?
- 12
12\. Agent 的工具调用成功率是怎么定义的?项目最初的数据是多少,后来如何提升?
- 13
13\. 工具调用超时、返回脏数据或重复执行时,系统如何重试和兜底?
- 14
14\. 进程、线程和协程有什么区别?它们分别适合处理什么任务?
- 15
15\. 已经有进程了,为什么还需要线程?进程创建和上下文切换为什么更重?
- 16
16\. 并发和并行有什么区别?多个任务看起来同时运行时,CPU 是否真的在并行执行?
- 17
17\. 举一个适合使用进程隔离的场景,再举一个适合使用多线程的场景。
- 18
18\. 手撕:实现 LRU Cache,要求 \`get\` 和 \`put\` 的时间复杂度都是 \`O(1)\`。
- 19
1\. 自我介绍,并选择一个最熟悉的 Agent 项目做深入介绍。
- 20
2\. 你怎么看当前 Agent 技术的发展?现阶段适合落地在哪些场景?
- 21
3\. 相比传统工作流,Agent 有哪些优势?生产环境中又存在哪些工程问题?
- 22
4\. Token 是如何划分的?为什么 \`strawberry\` 在部分模型中会被拆成多个 Token?
- 23
5\. 为什么大模型以 Token,而不是字符或完整单词作为基本处理单位?
- 24
6\. 讲一下 Transformer 和 Self-Attention,Q、K、V 分别有什么作用,具体如何计算?
- 25
7\. 什么是 Lost in the Middle?长上下文中的重要信息为什么容易被模型忽略?
- 26
8\. 上下文窗口越大越好吗?它对显存、延迟、成本和模型效果有什么影响?
- 27
9\. 对话超过上下文限制后怎么处理?滑动窗口、摘要压缩和向量召回怎么选择?
- 28
10\. 简单介绍 SFT 的训练流程,并比较 PPO、DPO 和 GRPO 的区别。
- 29
11\. 为什么项目采用多 Agent?如果改成单 Agent,会遇到什么问题?
- 30
12\. 多个子 Agent 如何分工、分发任务和合并全局状态?为什么没有采用去中心化协作?
- 31
13\. 两个 Agent 给出冲突结论时如何仲裁?什么情况下需要人工介入?
- 32
14\. 了解哪些进程和内存监控工具?线上服务出现 CPU 飙高或内存持续增长时怎么排查?
- 33
15\. \`mmap\` 是什么?它解决了什么问题,适合哪些文件或进程通信场景?
- 34
16\. \`writev\` 是什么?它如何通过聚合多个缓冲区减少系统调用开销?
- 35
17\. 海量数据中找最大的 K 个数有哪些方案?为什么通常使用容量为 K 的小根堆,具体过程和复杂度是什么?
- 36
18\. 手撕:将扁平 JSON 列表恢复成树形结构,或者实现二叉树的锯齿形层序遍历。
