面灵AI→

字节跳动 客户端基础技术 一面:TTU 打点与 Agent 评测量化

轮次
一面
时间
2026-10
来源
牛客网

《面试题目》

  1. TTU 为什么选取路由进入作为开始打点时间?
  2. TTU 和 TTI 的区别是什么?TTU 的必要性在哪里?
  3. TTU 优化的量化数据是多少?
  4. Agent 评测相关:原帖只记录「那一堆东西,和其他面试问的点差不多」,未给出具体题面。

《参考解析》

TTU 从路由进入开始打点,是因为用户的时间感知从「点下去」就开始了。 在 SPA 里,点击入口触发的是路由切换,随后才是代码加载、数据请求、渲染和 hydration;如果从首屏渲染或 load 事件才开始计时,就把用户盯着空白页等待的那段漏掉了,也无法横向比较不同入口的体验。打点要明确 start 和 end 两个事件:start 取路由进入或可交互元素点击,end 取「首屏关键内容可见且关键操作可响应」,而不是图片全部加载完。还要处理缓存命中、预取、返回上一页这些分支,否则同一个页面的样本口径不一致,数据没法用。工程上通常把 TTU 拆成几个子阶段(路由解析、请求、渲染、可交互),这样优化时才知道该动哪一段。

TTU 和 TTI 的区别在「可用」的定义。 TTI 是实验室指标,衡量页面加载后主线程安静下来、能稳定响应输入的时间点,关注长任务和 JS 执行;TTU 是用户与业务口径,关注「用户想做的事能不能做成」,包含数据到位、关键按钮可点、骨架屏撤掉。TTI 绿而 TTU 差很常见:接口慢、hydration 没完成、按钮绑事件晚、首屏只有骨架。TTU 的必要性在于它把性能锚定到业务转化,但代价是定义复杂、跨页面不可直接比较,所以实践中常用 TTU 做业务北极星,用 TTI、FCP、LCP、长任务做诊断分解。回答时要点明两者的测量对象不同:一个测主线程可交互,一个测用户任务可完成。

量化要给出分布、对照和样本量,性能与 Agent 评测是同一种方法论。 口径上,RUM 埋点取 p50、p75、p95,按页面、机型、网络、版本、入口分层;对照上,用优化前后同口径对比或灰度 A/B,控制缓存、预取、样本结构这些变量。同时看护栏指标:错误率、交互成功率、跳出率,避免为了压 TTU 把内容延后渲染导致用户点不到。汇报时最好说清「哪个分位改善了、改善了多少毫秒、影响了多少比例的请求」,只报均值会被长尾掩盖。Agent 评测同理,先把「任务成功」定义成可判定的标准:结果正确、引用可追溯、格式合规、无副作用,再拆 trajectory 指标,包括工具选择正确率、参数合法率、平均步数、超时与重试率、失败恢复率。离线用固定回归集覆盖正常、信息不足、工具异常、多跳等场景,线上用抽样人工评审校准 LLM Judge,并报告 Judge 与人工的一致率;做消融证明增益来自哪里,给基线、样本量和置信区间,否则「提升 20%」很可能只是样本波动或评测集泄漏。