SDET / SWE · Technical Fundamentals

TikTok 手机打开网页:DNS、连接、HTTP 与渲染链路

按缓存、传输和渲染路径解释关键技术,区分各协议条件并定位首屏瓶颈。

题目重点:按缓存、传输和渲染路径解释关键技术,区分各协议条件并定位首屏瓶颈。

题意与假设

这道练习题保留了面经中值得训练的核心约束,并将需要澄清的条件单独列出。现场拿到变体时,先和面试官确认这些条件。

  • 训练输入HTTPS URL,具体连接复用、HTTP版本、缓存和浏览器实现需按实际场景确认。

解题路线

  1. 先解析URL并检查导航/缓存策略,可能从HTTP缓存或Service Worker取内容,并非每次都从DNS到连接完整重做。解释常见新连接路径时先注明冷启动条件。
  2. 域名解析获得服务地址,随后选择连接。HTTPS常见TCP加TLS用于HTTP/1.1或HTTP/2,HTTP/3使用QUIC;不能说所有网页都一定TCP三次握手。
  3. HTTP请求含方法、路径、headers和凭证策略,返回状态、headers与内容;重定向、内容压缩、缓存验证和跨域策略可增加或减少往返,资源请求可并行/复用。
  4. HTML解析建立DOM,CSS构建样式规则,计算样式、布局、绘制与合成;脚本与样式加载会影响解析/渲染时机,图片字体可能导致布局变化。并非所有阶段仅执行一次。
  5. 首屏慢要分DNS/连接/TTFB/资源下载/主线程工作,使用瀑布与性能时间线定位。服务端快并不保证手机低端CPU上布局脚本快,弱网与缓存状态应分测。
  6. 测试HTTPS证书、重定向循环、离线缓存、错误响应、慢资源、JS失败、响应式与可访问内容;关注首屏和交互就绪,不只看最后load事件。

手动走一遍

同站第二次导航可能复用连接并命中缓存,不能把冷启动握手成本重复算。HTML很小但同步大脚本阻塞主线程,TTFB正常仍可能首屏晚;应从时间线分离网络和CPU。

规模与取舍

延迟由往返、字节/带宽、服务器和渲染工作组成,不给单一渐近界。并行请求受连接/优先级约束,缓存命中可跳过网络,DOM规模与脚本算法影响CPU。

易错点与追问

容易失分的边界

  • 每次请求都新DNS新连接。
  • 所有HTTP都必须TCP。
  • load事件等同用户可交互。

继续深挖

  • 弱网下怎样定位首屏?
  • 缓存错误如何排查?
  • 脚本加载属性怎样影响解析?
✓已复制微信号!