欢迎光临散文网 会员登陆 & 注册

千锋教育web前端高频面试题视频教程,kerwin大话前端面试秘籍(附答案)

2023-07-20 16:17 作者:七十二時h_  | 我要投稿

1.如何理解HTML5结构语义化?

就是用正确的标签做正确的事情。

  • 段落用p标签
  • 标题用h系列标签
  • 边框用aside标签
  • 主要内容用main标签.

对于开发者来说,便于团队的开发和维护,呈现出较好的内容结构和代码结构。

对浏览器来说,有利于SEO,搜索引擎的爬虫依赖于标签来确定上下文和各个关键字的权重,利于无障碍说读等。

2.HTML5的新特性?

html现在主要是关于图像,位置,存储,多任务等功能的增加。

(1). video和audio元素可以用于音频,视频

(2).可以使用localStorage和sessionStrage进行

本地存储

  • localStorage:长期存储数据,浏览器关闭之后不会数据丢失
  • sessionStrage:浏览器关闭之后自动删除数据

(3).语意化更好的内容元素 比如 article, footer,header,nav,section

(4).表单控件(自行控件):calendar(日历),date,time,

email,url,search

(5).新技术

  • webworker:是html5中的一个API,它允许在浏览器中创建一个后台线程,以便执行消耗时的任务,而不会阻塞主线程。
  • websocket:是html5中的一种通信协议,它提供了在web浏览器和服务器之间进行实时双向通信的能力。
  • Geolocation:是html5中的一个API,它可以获取用户设备的地理位置信息。

支持html5新标签

  • IE8/IE7/IE6 支持通过document.createElement方法产生的标签。
  • 可以利用这一特征让这些浏览器支持html5新标签
  • 浏览器支持新标签后,还需要添加标签默认的一些样式

可以直接使用成熟的框架

比如:html5shim

如何区分HTML5:

  • doctype声明
  • 新增的结构元素
  • 功能元素

3.请描述一下cookies,sessionStorage和localStorage的区别?

使用上面

  • cookie:是网站为了标示用户身份而存储在用户本地终端上的数据(通常经过加密)
  • cookie:数据始终在同源的http请求中携带,会在浏览器和服务器之间来回传递。
  • sessionStorage和localStorage不会自动把数据发给服务器,仅是在本地保存。

存储大小

  • cookie:数据大小不能超过4k
  • sessionStorage和localStorage虽然有存储大小的限制,但比cookie大的多,可以达到5M或者更大

有期时间

localStorage:持久存储数据(永久存储),浏览器关闭后数据不会丢失除非主动删除数据

sessionStorage:数据在当前浏览器窗口关闭后会自动删除

cookie:设置过期时间,在有效期时间内就一直有效,即使窗口或浏览器关闭数据不会丢失。

4.浏览器的渲染机制一般分为几个步骤?

  • 处理html,并构建DOM树
  • 处理css构建CSSOM树
  • 将DOM与CSSOM合并成一个渲染树
  • 根据渲染树布局,计算每一个节点的位置
  • 调用GPU绘制,合成图层,显示在屏幕上

js渲染注意的问题:

  • 在构建 CSSOM 树时,会塞染,直至 CSSOM 构建完成。并且构建 CSSOM 树是一个十分消耗性能的过程,所以应该尽量保证层级扁平,减少过度层叠,越是具体的 CSS 选择器,执行速度越慢
  • 当HTML 解析到 script 标签时,会暂停构建 DOM,完成后才会从暂停的地方重新开始。也就是说,如果你想首屏渲染的越快,就越不应该在首屏就加载JS 文件。

5.重绘(Repaint)和回流(Reflow)

重绘是指当节点需要更改外观而不会影响布局的,比如改变字体颜色...就称为重绘。

回流是指布局或者几何属性需要改变就成为回流(需要计算它们在设备视口内的确切位置和大小)

注意:回流必定会发生重绘,重绘不一定会引发回流。回流所需的成本比重绘高得多,改变深层次的节点很可能导致父节点的一系列回流。

可能导致性能问题:

  • 添加或者删除可见的DOM元素
  • 元素的位置发生改变
  • 元素的尺寸发生变化
  • 内容发生变化,比如文本变化或者图片被另一个不同的尺寸的图片所代替
  • 定位或者浮动
  • 浏览器的窗口发生变化(因为回流是根据视口的大小来计算元素的位置和大小的)

如何减少回流和重绘?

  • 批量的修改DOM
  • 对于复杂的动画效果,使用绝对定位让其脱离文档流
  • css硬件加速(GPU加速)transform、opacity、filters这些动画不会引起回流重绘。



千锋教育web前端高频面试题视频教程,kerwin大话前端面试秘籍(附答案)的评论 (共 条)

分享到微博请遵守国家法律