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

简介: 前端—每天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: 用户是否可以手动缩放


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

热门文章

最新文章

  • 1
    前端工程化演进之路:从手工作坊到AI驱动的智能化开发
  • 2
    Vue 3 + TypeScript 现代前端开发最佳实践(2025版指南)
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
  • 4
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
  • 9
    前端如何存储数据:Cookie、LocalStorage 与 SessionStorage 全面解析
  • 10
    前端如何禁止用户打开 F12 开发者工具
  • 1
    前端如何禁止用户打开 F12 开发者工具
    73
  • 2
    前端如何存储数据:Cookie、LocalStorage 与 SessionStorage 全面解析
    78
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
    47
  • 4
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
    107
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
    64
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
    153
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
    132
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
    81
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
    42
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
    77