字节跳动

Agent 开发二面面经

完整信息

22 条问法 · 19 道题

本篇目录

二面已过,三面横向中。。。不知道能不能横出来[牛泪]

一、项目

1. 介绍一下在学校做的 RAG 系统,整体流程是怎样的?

2. Markdown 文档的分块逻辑是怎样的?

2.1 是否先按照标题结构划分模块,再将模块拆成小 chunk?检索时召回小 chunk,再补充对应的父模块吗?

2.2 分块后与前面的内容进行聚合,具体是怎么实现的?相邻块之间是否会存在重合?

2.3 如果一段内容有 1,000 个 token,chunk size 为 400,最后剩余的 200 如何处理?是否会向前补充内容,凑成 400?

2.4 大部分 chunk 是否已经接近设定大小,实际很少触发向前补充上下文的逻辑?

2.5 分块大小、聚合时的 chunk size 分别设置为多少?

3. Markdown 中的图片、ul 等内容是如何处理的?

3.1 每张图片都需要进行一次模型推理,是否会导致文档保存、入库的耗时过长?

4. 项目使用的 Embedding 模型和向量数据库分别是什么?

5. 用户问题改写是如何实现的?

5.1 能否举例说明改写逻辑,以及改写前后的问题分别是什么?例如用户问“知识库里有哪些知识”,或者结合项目中的电商场景说明。

5.2 子问题是如何拆分的?拆分的目的是否是让每次检索只围绕一个问题,召回与该问题相关的知识?

5.3 问题改写和子问题拆分,是在一次模型推理中完成,还是需要多次调用模型?

5.4 这一步模型推理无法直接向用户流式输出答案,是否会导致用户等待答案的时间过长?

6. 混合检索是怎么实现的?

6.1 检索后的重排是怎么做的?

7. 简历中的“企业级 RAG”应该如何理解?企业级 RAG 与学习型 Demo 有哪些不同?

8. 实习拷打

二、算法

1. 算法题:使用 random5() 实现 random7()。

已知 random5() 等概率返回 0~4 的整数,仅使用该随机函数实现 random7(),使其等概率返回 0~6 的整数,不得使用其他随机数生成方法。

三、反问

1. 候选人:对于 Agent 开发方向,校招生需要具备哪些能力,有哪些要求?

本篇目录
  1. 01
  2. 02
  3. 03
    2.1 是否先按照标题结构划分模块,再将模块拆成小 chunk?检索时召回小 chunk,再补充对应的父模块吗?
  4. 04
    2.2 分块后与前面的内容进行聚合,具体是怎么实现的?相邻块之间是否会存在重合?
  5. 05
    2.3 如果一段内容有 1,000 个 token,chunk size 为 400,最后剩余的 200 如何处理?是否会向前补充内容,凑成 400?
  6. 06
  7. 07
  8. 08
  9. 09
  10. 10
    3.1 每张图片都需要进行一次模型推理,是否会导致文档保存、入库的耗时过长?
  11. 11
  12. 12
  13. 13
  14. 14
    5.1 能否举例说明改写逻辑,以及改写前后的问题分别是什么?例如用户问“知识库里有哪些知识”,或者结合项目中的电商场景说明。
  15. 15
    5.2 子问题是如何拆分的?拆分的目的是否是让每次检索只围绕一个问题,召回与该问题相关的知识?
  16. 16
  17. 17
    5.4 这一步模型推理无法直接向用户流式输出答案,是否会导致用户等待答案的时间过长?
  18. 18
  19. 19
  20. 20
    **7. 简历中的“企业级 RAG”应该如何理解?企业级 RAG 与学习型 Demo 有哪些不同?**
  21. 21
    已知 `random5()` 等概率返回 `0~4` 的整数,仅使用该随机函数实现 `random7()`,使其等概率返回 `0~6` 的整数,不得使用其他随机数生成方法。
  22. 22
    反问
    **1. 候选人:对于 Agent 开发方向,校招生需要具备哪些能力,有哪些要求?**

同作者面经

展开其余 4 篇收起其余 4 篇

相关公司