字节跳动 · 中国交易与广告

全栈开发工程师二面面经

完整信息

36 条问法 · 26 道题

本篇目录
  1. 自我介绍
  2. 请从你的实习经历里面挑一个你认为比较有亮点的项目来介绍一下
  3. 主要是在对话框那一部分的,包括这种 SSE 对话处理是吧?
  4. 就是 SSE 对话续传虚拟列表这部分是吧?
  5. 虚拟列表的基本原理
  6. 那从你的这个场景来看的话,什么情况下会用到虚拟列表?然后你是怎么做的?
  7. 你是从前端来去控制的,30 条以上开启虚拟列表的是吗?
  8. 那你是从前端控制,相当于切换了虚拟列表的组件?
  9. 未到 v-if 的情况下,那你在 30 条的时候,那不会有一个整体的一个类似于组件切换的这种,对用户体验上应该有感觉吧?
  10. 那就相当于是如果我在 在你整个系统中对话了 30 条以上,也就相当于你根本就是没有这虚拟列表的逻辑,对吧?只有在历史情况下你才会去做一个类似于优先选择或者用户刷新的情况下,才会去走到你这个渲染组件。
  11. 屏幕区域和那个缓冲区是怎么设置的?
  12. 那个断点续传是怎么做的?
  13. Tool Calling、 MCP 和 CoI 的概念区别
  14. 那什么情况下我应该直接去做这个 Tool Calling,或者是走 Tools?什么情况下你的判断要走到 MCP 呢?
  15. 我看你简历上写了 RAG,然后 LangChain、LangGraph。那如果要搭一个基础的一个 RAG 链路的情况下,你觉得会包含哪些流程?
  16. 你刚刚提到检索,一般检索策略会怎么做?
  17. OK你提到 Rerank 重排,那这个阶段里面常用的策略有哪些?
  18. 你整个 rerank 是怎么排的?就是你拿到这些片段之后,你怎么认为它的相关性比较高?或者是为什么能够得到一个相对精准的结果?在 rerank 的这个阶段。
  19. 那如果你用模型来拿到一个具体的估分情况下,那你的整个 RAG 链路的成本会不会特别高?怎么解决?
  20. 什么情况下适合用 LangChain,什么情况下适合用 LangGraph?
  21. 你刚才在说的这种 LangGraph 持久化的逻辑,它具体是怎么实现的?
  22. 说出它们的输出顺序以及打印的结果(如图)
  23. 在这个文档里面,我不希望这个 script 脚本阻塞它的执行,有哪些方法?(说了 defer 和 async)
  24. 那它们两个有什么区别?
  25. 那请你从浏览器渲染的角度来介绍一下,就是这一段 HTML 到浏览器之后,到最终渲染出来像素,它中间分别会经过哪些阶段?
  26. stacking context 这个概念有了解过吗?(堆叠上下文,决定页面元素谁在上、谁在下)
  27. 在刚才聊这个流程里面,元素谁在上谁在下,是在你刚才说的哪个阶段发生?(发生在 Paint 重绘阶段,但堆叠上下文的信息,是在 Layout 布局阶段就收集确定好的)
  28. 什么情况下会被提升到合成层?
  29. 什么情况下会出现层爆炸呢?
  30. HTTP 3 和 HTTP 2 主要有哪些特性?
  31. 但是如果我 HTTP 2 都二进制分帧呢?就相当于是我的请求数据多路复用加二进制分帧嘛,对吧?你 10 个请求可能都是以帧包的形式依次传过来,那为什么还会有阻塞?你说的阻塞是什么问题?
  32. 那 HTTP 3 里面换成了 UDP,UDP 怎么样保证原有 TCP 的可靠传输?
  33. 然后继续聊 TCP 吧,TCP 的拥塞控制怎么做的?
  34. 那如果遇见错误了呢?就比如像你刚才说的,它一直翻倍对吧?翻倍完成之后,如果碰见错误了,或者是到达一个实际的拥塞了,之后会怎么样?
  35. 在这个流程里面,快重传和快恢复是什么?
  36. 反问

二面挂了[牛泪][牛泪][牛泪]
#发面经攒人品##字节##第一份工作一定要去大厂吗##选实习,你更看重哪方面?##面试##面试问题记录##我的OC时间线##秋招特别不鸣谢##投了多少份简历才上岸##牛客AI配图神器#

本篇目录
  1. 01
  2. 02
  3. 03
  4. 04
  5. 05
  6. 06
  7. 07
    追问
    那从你的这个场景来看的话,什么情况下会用到虚拟列表?然后你是怎么做的?
  8. 08
  9. 09
  10. 10
    追问
    未到 v-if 的情况下,那你在 30 条的时候,那不会有一个整体的一个类似于组件切换的这种,对用户体验上应该有感觉吧?
  11. 11
    追问
    那就相当于是如果我在 在你整个系统中对话了 30 条以上,也就相当于你根本就是没有这虚拟列表的逻辑,对吧?只有在历史情况下你才会去做一个类似于优先选择或者用户刷新的情况下,才会去走到你这个渲染组件。
  12. 12
  13. 13
  14. 14
  15. 15
    追问
    那什么情况下我应该直接去做这个 Tool Calling,或者是走 Tools?什么情况下你的判断要走到 MCP 呢?
  16. 16
    我看你简历上写了 RAG,然后 LangChain、LangGraph。那如果要搭一个基础的一个 RAG 链路的情况下,你觉得会包含哪些流程?
  17. 17
  18. 18
  19. 19
    追问
    你整个 rerank 是怎么排的?就是你拿到这些片段之后,你怎么认为它的相关性比较高?或者是为什么能够得到一个相对精准的结果?在 rerank 的这个阶段。
  20. 20
    追问
    那如果你用模型来拿到一个具体的估分情况下,那你的整个 RAG 链路的成本会不会特别高?怎么解决?
  21. 21
  22. 22
  23. 23
  24. 24
    追问
    在这个文档里面,我不希望这个 script 脚本阻塞它的执行,有哪些方法?(说了 defer 和 async)
  25. 25
  26. 26
    那请你从浏览器渲染的角度来介绍一下,就是这一段 HTML 到浏览器之后,到最终渲染出来像素,它中间分别会经过哪些阶段?
  27. 27
    追问
    stacking context 这个概念有了解过吗?(堆叠上下文,决定页面元素谁在上、谁在下)
  28. 28
    追问
    在刚才聊这个流程里面,元素谁在上谁在下,是在你刚才说的哪个阶段发生?(发生在 Paint 重绘阶段,但堆叠上下文的信息,是在 Layout 布局阶段就收集确定好的)
  29. 29
  30. 30
  31. 31
  32. 32
    追问
    但是如果我 HTTP 2 都二进制分帧呢?就相当于是我的请求数据多路复用加二进制分帧嘛,对吧?你 10 个请求可能都是以帧包的形式依次传过来,那为什么还会有阻塞?你说的阻塞是什么问题?
  33. 33
  34. 34
  35. 35
    追问
    那如果遇见错误了呢?就比如像你刚才说的,它一直翻倍对吧?翻倍完成之后,如果碰见错误了,或者是到达一个实际的拥塞了,之后会怎么样?
  36. 36

相关公司