前端—每天5道面试题(5)

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介: 前端—每天5道面试题(5)

前端—每天5道面试题(5)

每天背5道前端面试题,希望我可以在远方的终点见到你

1、简述一下前端的性能优化问题

(一)、页面内容方面

  • 通过文件合并、css 雪碧图、使用 base64 等方式来减少 HTTP 请求数, 避免过多的请求造成等待的情况。
  • 通过 DNS 缓存等机制来减少 DNS 的查询次数。
  • 通过设置缓存策略,对常用不变的资源进行缓存。
  • 通过延迟加载的方式,来减少页面首屏加载时需要请求的资源,延迟加载 的资源当用户需要访问时,再去请求加载。
  • 通过用户行为,对某些资源使用预加载的方式,来提高用户需要访问资源 时的响应速度。

(二)、服务器方面

  • 使用 CDN 服务,来提高用户对于资源请求时的响应速度。
  • 尽可能减小 cookie 的大小,并且通过将静态资源分配到其他域名下,来 避免对静态资源请求时携带不必要的 cookie。
  • 服务器端自用 Gzip、Deflate 等方式对于传输的资源进行压缩,减少传输文件的体积。

2、谈谈浏览器的渲染原理

  • 首先解析收到的文档,根据文档定义构建一颗 DOM 树,DOM 树是由 DOM 元素及属性节点组成的。
  • 然后对 CSS 进行解析,生成 CSSOM 规则树
  • 根据 DOM 树和 CSSOM 规则树构建 Render Tree。渲染树的节点被称为渲染对象,渲染对象是一个包含有颜色和大小等属性的矩形,渲染对象和 DOM 对象相对应,但这种对应关系不是一对一的,不可见的 DOM 元素不 会被插入渲染树。
  • 当渲染对象被创建并添加到树中,它们并没有位置和大小,所以当浏览器 生成渲染树以后,就会根据渲染树来进行布局(也可以叫做回流)。这一阶段浏览器要做的事情就是要弄清楚各个节点在页面中的确切位置和大小。通 常这一行为也被称为“自动重排”。
  • 布局阶段结束后是绘制阶段,比那里渲染树并调用对象的 paint 方法将它 们的内容显示在屏幕上,绘制使用 UI 基础组件。 为了更好的用户体验,渲染引擎会尽可能早的将内容呈现到屏幕上,并不会等到 所有的 html 解析完成之后再去构建和布局 render tree。它是解析完一部分内 容就显示一部分内容,同时可能还在网络下载其余内容。

3、什么是WebPage?

WebP 是谷歌开发的一种新图片格式,它是支持有损和无损两种压缩方式的使用 直接色的点阵图。使用 webp 格式的最大优点是是,在相同质量的文件下,它 拥有更小的文件体积。因此它非常适合于网络图片的传输,因为图片体积的减少,意味着请求时间的减少,这样会提高用户的体验。这是谷歌开发的一种新的图片格式。

那么浏览器是如何判断是否支持 webp 格式图片的呢?

通过创建 Image 对象,将其 src 属性设置为 webp 格式的图片,然后在 onload 事件中获取图片的宽高,如果能够获取,则说明浏览器支持 webp 格式 图片。如果不能获取或者处罚了 onerror 函数,那么就说明浏览器不支持 webp 格式的图片。

4、分析比较 opacity: 0、visibility: hidden、 display: none 的优劣和适用的场景

  • display: none - 不占空间,不能点击,会引起回流,子元素不影响 。
  • visibility: hidden - 占据空间,不能点击,引起重绘,子元素可设置 visible 进行显示 。
  • opacity: 0 - 占据空间,可以点击,引起重绘,子元素不影响。

5、说一下移动端视口的配置问题

<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" />
  • initial-scale: 初始的缩放比例
  • minimum-scale: 允许用户缩放到的最小比例
  • maximum-scale: 允许用户缩放到的最大比例
  • user-scalable: 用户是否可以手动缩放


相关文章
|
3月前
|
缓存 前端开发 中间件
[go 面试] 前端请求到后端API的中间件流程解析
[go 面试] 前端请求到后端API的中间件流程解析
|
17天前
|
缓存 前端开发 JavaScript
"面试通关秘籍:深度解析浏览器面试必考问题,从重绘回流到事件委托,让你一举拿下前端 Offer!"
【10月更文挑战第23天】在前端开发面试中,浏览器相关知识是必考内容。本文总结了四个常见问题:浏览器渲染机制、重绘与回流、性能优化及事件委托。通过具体示例和对比分析,帮助求职者更好地理解和准备面试。掌握这些知识点,有助于提升面试表现和实际工作能力。
51 1
|
2月前
|
Web App开发 前端开发 Linux
「offer来了」浅谈前端面试中开发环境常考知识点
该文章归纳了前端开发环境中常见的面试知识点,特别是围绕Git的使用进行了详细介绍,包括Git的基本概念、常用命令以及在团队协作中的最佳实践,同时还涉及了Chrome调试工具和Linux命令行的基础操作。
「offer来了」浅谈前端面试中开发环境常考知识点
|
3月前
|
存储 XML 移动开发
前端大厂面试真题
前端大厂面试真题
|
28天前
|
Web App开发 JavaScript 前端开发
前端Node.js面试题
前端Node.js面试题
|
3月前
|
存储 前端开发 JavaScript
44 个 React 前端面试问题
【8月更文挑战第18天】
51 2
|
3月前
|
存储 JavaScript 前端开发
2022年前端js面试题
2022年前端js面试题
38 0
|
3月前
|
存储 前端开发 JavaScript
44 个 React 前端面试问题
44 个 React 前端面试问题
|
3月前
|
存储 JavaScript 前端开发
|
3月前
|
Web App开发 存储 缓存