字节跳动 · D2C Agent

产研 dev&infra一面面经

完整信息

9 条问法 · 8 道题

本篇目录

#牛客AI配图神器#解释选择JSON to HTML而非直接生成HTML的原因
LCP 和首屏包体积都明显下降。先说清两个数字怎么测的,再选一个改动,从网络加载、JS 执行到浏览器绘制解释为什么有效
你们的 TTU 怎么定义
完整处理链路各阶段的入参出参与作用、schema校验后仍需校验的原因

场景题

  1. “用户说‘看看这个作业为什么慢’,只给了一个作业名,LLM 识别置信度很高。但它可能对应多个集群,也可能没有权限。请设计路由与执行流程;如果规则和模型判断冲突,谁说了算?”
  2. 假设我们有 Gateway、Worker 和 Web UI。Worker 执行一次诊断,Gateway 对外提供任务查询和事件订阅,UI 展示过程与最终报告。你不需要了解 Helix 的内部接口。现在要支持报告 v2、断线重连、取消,以及新旧 Worker 并存。”
    “请画出或口述最小数据流,说明报告与事件字段。若报告已经生成,但 UI 断线;或两个子步骤一个成功、一个失败,整个任务状态由谁决定?前端如何避免重连后重复内容或状态倒退?”

手撕:

实现 async function runLimited(tasks, limit)。tasks 是任务函数数组,不是已启动的 Promise 数组。每个函数调用后返回普通值或 Promise,也可能同步抛错。请执行全部任务并返回结果。

  1. 任意时刻正在执行、尚未结算的任务数不超过 limit;有任务结束且还有待执行项时应立即补位,不能等一整批全部结束。
  2. 结果数组必须与输入顺序一致,不按完成顺序排列。
  3. 任务成功返回 { status: 'fulfilled', value };失败返回 { status: 'rejected', reason }。一个任务失败不影响其他任务,保留原始错误对象。
  4. 每个任务函数恰好调用一次。同步抛错与异步 reject 都要捕获。
  5. limit 必须是正整数,否则函数返回的 Promise 以 RangeError 拒绝;空 tasks 也先校验 limit。合法 limit 下空数组返回 []。
  6. tasks 保证为函数组成的稠密数组,调用期间不变;普通值与 undefined 都合法。不要求处理永不结束的任务、超时、重试、取消或输入数组变更。

面试官业务主要做d2c agent#秋招来发发发疯疯疯##秋招怎么做才不烧心#

本篇目录
  1. 01
  2. 02
    LCP 和首屏包体积都明显下降。先说清两个数字怎么测的,再选一个改动,从网络加载、JS 执行到浏览器绘制解释为什么有效
  3. 03
  4. 04
  5. 05
    “用户说‘看看这个作业为什么慢’,只给了一个作业名,LLM 识别置信度很高。但它可能对应多个集群,也可能没有权限。请设计路由与执行流程;如果规则和模型判断冲突,谁说了算?”
  6. 06
    假设我们有 Gateway、Worker 和 Web UI。Worker 执行一次诊断,Gateway 对外提供任务查询和事件订阅,UI 展示过程与最终报告。你不需要了解 Helix 的内部接口。现在要支持报告 v2、断线重连、取消,以及新旧 Worker 并存。”
  7. 07
    “请画出或口述最小数据流,说明报告与事件字段。若报告已经生成,但 UI 断线;或两个子步骤一个成功、一个失败,整个任务状态由谁决定?前端如何避免重连后重复内容或状态倒退?”
  8. 08
    实现 async function runLimited(tasks, limit)。tasks 是任务函数数组,不是已启动的 Promise 数组。每个函数调用后返回普通值或 Promise,也可能同步抛错。请执行全部任务并返回结果。
  9. 09

相关公司