前端面试宝典

这是前端/后端/网络最经典的面试题,我给你整理成面试能直接背、逻辑清晰、面试官爱听的完整版,按流程一步步说就行。

从输入 URL 到页面显示全过程(面试标准答案)

1. URL 解析

  • 判断是合法 URL 还是搜索内容
  • 解析:协议、域名、端口、路径、参数

2. DNS 域名解析

  • 浏览器缓存 → 系统缓存 → 路由器缓存 → ISP DNS 缓存
  • 递归查询 + 迭代查询,最终拿到服务器 IP

3. 建立 TCP 连接(三次握手)

  • SYN → SYN+ACK → ACK
  • 建立可靠传输通道

4. 发送 HTTP/HTTPS 请求

  • 构造请求行、请求头、请求体
  • HTTPS 会先进行 TLS 握手 加密

5. 服务器处理请求并返回响应

  • 负载均衡 → 后端服务 → 数据库/业务逻辑
  • 返回:状态码、响应头、HTML 内容

6. 浏览器解析 HTML,构建 DOM 树

  • 从上到下解析
  • 遇到 CSS 会并行下载,解析生成 CSSOM
  • 遇到 JS 默认阻塞解析,必须等 JS 执行完再继续

7. 生成渲染树(Render Tree)

  • DOM + CSSOM 合并 → 渲染树
  • 只包含要显示的节点,不包含 display: none

8. 布局(Layout / Reflow)

  • 计算每个节点的位置、大小

9. 绘制(Paint)

  • 绘制颜色、背景、边框、阴影等

10. 合成(Composite)

  • 将各层合成,显示到屏幕

11. 关闭 TCP 连接(四次挥手)

  • 请求完成后断开连接

面试加分简短版(30 秒口述)

  1. 解析 URL,DNS 查询拿到 IP
  2. 三次握手建立 TCP 连接
  3. 发送 HTTP/HTTPS 请求
  4. 服务器返回 HTML
  5. 浏览器解析 HTML → DOM + CSSOM → 渲染树
  6. 布局 → 绘制 → 合成显示页面
  7. 四次挥手断开连接