字节跳动

Agent全栈开发一面面经

完整信息

28 条问法 · 27 道题

本篇目录

被捞了孩子们

  1. 学校课程多不多?能实习多久?
  2. 你课程上的怎么样?那个操作系统、算法什么这些都上了吗?
  3. 讲一下你在最近的这段实习做了什么
  4. 你说一下这个,比如说在你的这个工作台里,我输入一句 prompt,然后一直到它能够实现,生成这些东西,这个整条链路是怎么转起来的?这块有了解吗?
  5. 你刚刚描述的这一段的整个的一个链路其实是一个比较顺的一个链路,对吧?那整个的这个 Agent 在读用户的 prompt 以及你的 skill 的过程当中,它一轮就能完成这个订单整个的生成吗?还是说它这个 Agent 会有多轮的这种思考或者自动添加的过程,这些是谁来做的?或者怎么做的?
  6. Agent 的这种循环,或者是 Agent 这个 loop 的一些架构有了解过吗?
  7. 你刚才说的这个整个路径当中其实有一个关键的点,就是你的这个前端的后续的一些操作都是基于这个后端给你的这个返回的这个 JSON 去做的,对吧?这个 JSON 的生成的成功率是怎么样的?就是你怎么约束说一定能进到你后续的这个链路里?
  8. 就是说你拿到这个 JSON,然后去渲染这个 widget,有没有自己做过比如说一些技术方案的一些调研,就是有看过比如说 ChatGPT 啊,或者 Claude Code 他们在做类似的这种 UI 动态的这种渲染的时候用的都是什么方案?然后你们用的是什么方案?
  9. 就是比如看一下其他的产品啊,国内的比如说豆包呀、 kimi,或者国外的这种 ChatGPT 或者 Claude Code,他们在做这种动态 UI 的渲染的时候,用的是什么样的方案?然后你们为什么是说采用你们现在这套方案?这个有做过对比吗?
  10. 那你刚才说到,就是说你们这个 widget 或者是这个东西,它是有交互的是吧?可以去点确定或者编辑什么,删除什么这些。那这个过程当中去再和后端通信的时候,这块是怎么做的?
  11. 你修改了之后,这个用户的行为,包括他定的这些东西,你得存到后端的数据库里面不是吗?就是跟后端服务的通信有没有吗?还是说就是纯前端的一个改动?
  12. 这个组件是动态生成的对吧?那你动态生成的时候,你怎么绑定某一个按钮,可以怎么请求后端的哪个接口?我是想了解这个事情,你这个这个方案是怎么设计的?
  13. 那你的这个渲染的这个 UI 的页面,然后又可以在用户侧,又在端侧又可以去做一些交互,对吧?你交互完了之后又要去和后端的服务去做一个通信,是吧?
  14. UI 怎么和后端的服务去做一个映射或者是捆绑呢?那不同的按钮或者不同的操作行为,它肯定最后是有不同的这个请求的,对吧?
  15. 都对应一个后端接口,对吧?只不过是改一些入参什么的,你通过前端的一些变化。
  16. 有听说过 Dynamic UI 或者是 A2UI 的这种方案吗?(没听说过😓)
  17. 你们这个是流式渲染是怎么做的?就是 Markdown 渲染是吧?
  18. 结构化的那个 JSON 就是你们整个的那个,相当于一个小卡片,渲染出来是流式出来的,还是说所有的东西都准备好了之后一下出来?
  19. 增量流式出输出会出现哪些问题?
  20. 你刚才说那个你们那个工具调用有一些 MCP 是吧?然后前面还有一些 skills,你这个对 MCP skills 这些工具的了解大概是什么程度?有了解过吗?
  21. 有自己去实现过一些 MCP Server,或者是自己写过 Skills 吗?
  22. 那你说一下一个 Skill 有哪些组成部分?如果让你写一个 Skill,你会怎么写?
  23. 你说的这所有的内容是写在一个文件里的是吧?
  24. 你觉得一个项目里面的话最多能加载多少个 skill 呢?
  25. 你在做这个前端开发的时候,最后你们的这个项目部署上线,我面向用户去用,然后假如说我作为一个用户去访问你们的这个站点的话,你们这个站点给我一个 URL。一直到我在浏览器里面把这个 URL 打开在浏览器里面,这个过程当中经历了哪些环节?(本质:从输入 URL 到页面完整渲染全链路)
  26. 其实这是个比较常规的一个链路对吧?就是从 DNS 的解析,到整个的页面去渲染出来。那现在比如说,就像从你刚才说的这个所有的节点里面,DNS 解析,TCP 连接,然后 HTTP 请求,包括这个服务端的返回静态资源,然后拼接这个页面,这个所有的这个环节里面,每一个环节想去让你去做一下优化,你会想哪些方案去做这个链路上的优化?就现在比如说这个站点性能有问题,想让你在你刚才所描述的所有的环节里,每一个节点都找一个优化方案,你会怎么去测?
  27. 你听说过闭包这个概念吗?(顺带说了闭包带来的危害)
  28. 我现在想让你写一个闭包函数啊,这个函数就叫做 A。然后这个 A 每次执行的时候可以做一个计数器的的一个效果。比如说我 A 调用一次就返回一,第二次返回二,第三次返回三(P1)
  29. 你平时在做这个前端开发的时候,会请求后端的接口对吧?但是你请求呢,就有可能成功也有可能失败.成功的时候我们就不说了,现在假如说失败的话,我们想要去做一个自动重试的这么一个操作。然后我们会自己去封装一个接口,比如封装一个函数,这个请求函数就叫 request。然后这个里面会给你几个参数,第一个就是 options,就是你去请求的时候去透传给这个请求函数。第二个参数会有一个 maxcount,这个就是说我在请求失败的时候我会去做自动重试,最多重试多少次。第三个参数会传一个叫 interval ,就是说我每隔多长时间去执行这样一个重试。然后这个 request 就是我们自己业务上封装的这么一个 request,这里边你可以去用呃你熟悉的请求方式去去做,或者是其他的都可以。你写一下这个这个函数。(P2)
  30. 不需要写测试用例,你直接说一下思路
  31. 反问

两道手写题居然都是现场出题目,有点意思。第二天就发感谢信了,这次发的真快

#发面经攒人品##秋招##你找实习最大的坎坷是什么##字节求职进展汇总##投了多少份简历才上岸##面试问题记录##面试##第一份工作一定要去大厂吗##字节##牛客AI配图神器#

本篇目录
  1. 01
  2. 02
  3. 03
  4. 04
    你说一下这个,比如说在你的这个工作台里,我输入一句 prompt,然后一直到它能够实现,生成这些东西,这个整条链路是怎么转起来的?这块有了解吗?
  5. 05
    追问
    你刚刚描述的这一段的整个的一个链路其实是一个比较顺的一个链路,对吧?那整个的这个 Agent 在读用户的 prompt 以及你的 skill 的过程当中,它一轮就能完成这个订单整个的生成吗?还是说它这个 Agent 会有多轮的这种思考或者自动添加的过程,这些是谁来做的?或者怎么做的?
  6. 06
  7. 07
    你刚才说的这个整个路径当中其实有一个关键的点,就是你的这个前端的后续的一些操作都是基于这个后端给你的这个返回的这个 JSON 去做的,对吧?这个 JSON 的生成的成功率是怎么样的?就是你怎么约束说一定能进到你后续的这个链路里?
  8. 08
    就是说你拿到这个 JSON,然后去渲染这个 widget,有没有自己做过比如说一些技术方案的一些调研,就是有看过比如说 ChatGPT 啊,或者 Claude Code 他们在做类似的这种 UI 动态的这种渲染的时候用的都是什么方案?然后你们用的是什么方案?
  9. 09
    追问
    就是比如看一下其他的产品啊,国内的比如说豆包呀、 kimi,或者国外的这种 ChatGPT 或者 Claude Code,他们在做这种动态 UI 的渲染的时候,用的是什么样的方案?然后你们为什么是说采用你们现在这套方案?这个有做过对比吗?
  10. 10
    那你刚才说到,就是说你们这个 widget 或者是这个东西,它是有交互的是吧?可以去点确定或者编辑什么,删除什么这些。那这个过程当中去再和后端通信的时候,这块是怎么做的?
  11. 11
    追问
    你修改了之后,这个用户的行为,包括他定的这些东西,你得存到后端的数据库里面不是吗?就是跟后端服务的通信有没有吗?还是说就是纯前端的一个改动?
  12. 12
    这个组件是动态生成的对吧?那你动态生成的时候,你怎么绑定某一个按钮,可以怎么请求后端的哪个接口?我是想了解这个事情,你这个这个方案是怎么设计的?
  13. 13
    追问
    那你的这个渲染的这个 UI 的页面,然后又可以在用户侧,又在端侧又可以去做一些交互,对吧?你交互完了之后又要去和后端的服务去做一个通信,是吧?
  14. 14
    追问
    UI 怎么和后端的服务去做一个映射或者是捆绑呢?那不同的按钮或者不同的操作行为,它肯定最后是有不同的这个请求的,对吧?
  15. 15
  16. 16
  17. 17
    结构化的那个 JSON 就是你们整个的那个,相当于一个小卡片,渲染出来是流式出来的,还是说所有的东西都准备好了之后一下出来?
  18. 18
  19. 19
    你刚才说那个你们那个工具调用有一些 MCP 是吧?然后前面还有一些 skills,你这个对 MCP skills 这些工具的了解大概是什么程度?有了解过吗?
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
    你在做这个前端开发的时候,最后你们的这个项目部署上线,我面向用户去用,然后假如说我作为一个用户去访问你们的这个站点的话,你们这个站点给我一个 URL。一直到我在浏览器里面把这个 URL 打开在浏览器里面,这个过程当中经历了哪些环节?(本质:从输入 URL 到页面完整渲染全链路)
  25. 25
    追问
    其实这是个比较常规的一个链路对吧?就是从 DNS 的解析,到整个的页面去渲染出来。那现在比如说,就像从你刚才说的这个所有的节点里面,DNS 解析,TCP 连接,然后 HTTP 请求,包括这个服务端的返回静态资源,然后拼接这个页面,这个所有的这个环节里面,每一个环节想去让你去做一下优化,你会想哪些方案去做这个链路上的优化?就现在比如说这个站点性能有问题,想让你在你刚才所描述的所有的环节里,每一个节点都找一个优化方案,你会怎么去测?
  26. 26
  27. 27
    我现在想让你写一个闭包函数啊,这个函数就叫做 A。然后这个 A 每次执行的时候可以做一个计数器的的一个效果。比如说我 A 调用一次就返回一,第二次返回二,第三次返回三(P1)
  28. 28
    你平时在做这个前端开发的时候,会请求后端的接口对吧?但是你请求呢,就有可能成功也有可能失败.成功的时候我们就不说了,现在假如说失败的话,我们想要去做一个自动重试的这么一个操作。然后我们会自己去封装一个接口,比如封装一个函数,这个请求函数就叫 request。然后这个里面会给你几个参数,第一个就是 options,就是你去请求的时候去透传给这个请求函数。第二个参数会有一个 maxcount,这个就是说我在请求失败的时候我会去做自动重试,最多重试多少次。第三个参数会传一个叫 interval ,就是说我每隔多长时间去执行这样一个重试。然后这个 request 就是我们自己业务上封装的这么一个 request,这里边你可以去用呃你熟悉的请求方式去去做,或者是其他的都可以。你写一下这个这个函数。(P2)

同作者面经

相关公司