Skip to content
浏览器面试题
一些常见的浏览器面试题
2025-06-24 11:14
AI总结: 加载中...

浏览器渲染机制

查看答案

首先会从上到下解析 html 生成 dom 树

然后解析 css 生成 css 对象模型

然后将两者合并生成渲染树

然后根据每个节点的几何信息计算布局

最后根据布局绘制内容,分层合成,显示到屏幕上

浏览器的缓存机制

查看答案

浏览器缓存分为强缓存和协商缓存

强缓存通过 cache-control 来控制,他一般有几个属性,分别是:

  • max-age:缓存有效时间

  • public:所有人都可以缓存

  • private: 只有浏览器可以缓存

  • no-cache:使用协商缓存

  • no-store:不使用任何缓存

协商缓存一般由两个部分控制,一个是文件的最后修改时间:last-modified 和 if-modified-since,一个是文件哈希内容:etag 和 if-none-match。 在浏览器第一次请求资源的时候,服务器会在响应头中返回 last-modified 和 etag 这两个字段,之后浏览器再次请求的时候会带上 if-modified-since 和 if-none-match 这两个字段,服务器会根据修改时间和文件哈希进行判断资源是否更新,有则返回 200,没有则返回 304,从缓存中获取。

浏览器一帧做了什么事情?

查看答案

首先会处理事件,比如用户的点击、输入等等

然后执行 js 代码

然后计算样式

计算布局

然后进行绘制

最后进行合成渲染到屏幕上

Released under the MIT License