浏览器面试题

本文最后更新于 2025年8月5日 晚上

参考:
https://juejin.cn/post/6844904021308735502
https://juejin.cn/post/6844903951377104903

常见浏览器内核

浏览器 内核(渲染引擎) JavaScript 引擎
Chrome Blink V8
FireFox Gecko SpiderMonkey
Safari Webkit JavaScriptCore
Edge EdgeHTML Chakra(for JavaScript)
IE Trident Chakra(for JScript)
PhantomJS Webkit JavaScriptCore

浏览器输入 URL 按下回车后发生什么

参考:
https://juejin.cn/post/6935232082482298911
https://juejin.cn/post/6844904021308735502

  • 输入网址并解析
    • URL 解析
    • DNS 查询
    • HTTP 缓存
  • TCP 三次握手建立连接
  • 浏览器发送 HTTP 请求报文
  • 服务器处理 HTTP 请求报文并返回 HTTP 响应报文
  • 浏览器处理 HTTP 响应报文
  • TCP 四次挥手断开连接
  • 浏览器渲染页面
    • 解析 HTML 文件,构建 DOM Tree
    • 解析 CSS 文件,构建 CSSOM Tree
    • 利用 DOM Tree 和 CSSOM Tree 构建 Render Tree
    • 布局 Render Tree 计算每个节点的位置大小等信息(回流)
    • 绘制 Render Tree 每个节点像素信息渲染到屏幕(重绘)
    • 合并渲染层

网络攻击

参考:
https://juejin.cn/post/6844903685122703367
https://juejin.cn/post/6844903638532358151

前端性能优化

参考:
https://juejin.cn/post/6892994632968306702
https://juejin.cn/post/6911472693405548557

其它问题

  • 跨域
  • 同源策略
  • 解析渲染页面

浏览器面试题
https://xuekeven.github.io/2021/09/08/浏览器面试题/
作者
Keven
发布于
2021年9月8日
更新于
2025年8月5日
许可协议