H5面试

1. 会话跟踪

客户向服务器发送第一个请求的时候,会话就开始了,在关闭浏览器之前,会话的各页面之间是数据共享的,直到关闭浏览器,这就是会话跟踪。
会话跟踪常用的方法:
(1)session:当客户第一次访问服务器到的时候,服务器会为该客户创建一个session对象,并为其设置一个唯一的sessionID,然后将这个ID放入cookie发送到客户端,下一次访问的时候,sessionID会发送到服务器,根据这个ID在服务器识别不同的用户。要注意,session是依赖cookie的,如果cookie被禁用,那么session也将失效。
(2)URL重写:就是在URL地址后面添加一个唯一id来标识该会话,把会话ID通过url地址传递出去,以便在服务端识别不同的用户

2. 节流 和 防抖

节流和防抖是针对响应跟不上触发而提出的两种解决方案。例如当页面滚动,屏幕窗口改变等频繁操作。
节流:固定周期内,只执行一次动作,若有新事件触发,不执行,周期结束后,又有新事件触发,开始新周期。不重置周期,周期开始时执行动作
在这里插入图片描述

防抖:就是当事件被触发的时候,就设定一个周期来延迟执行该事件,若周期内,事件又被触发,则重新设定周期,直到周期结束,执行动作。会重置周期,周期结束时执行动作
在这里插入图片描述

3. HTTP请求头,请求响应

HTTP请求头:用于说明是谁或什么在发送请求、请求源于何处,或者客户端的喜好及能力,包括请求头,请求方式,请求地址等。
HTTP响应 :由三个部分组成,分别是:状态行、响应头、空行、响应正文。向客户端提供一些额外信息,比如谁在发送响应、响应者的功能,甚至与响应相关的一些特殊指令。

4. 回流 和 重绘

回流:页面因为元素的尺寸,显示和隐藏,布局等改变需要重新构建页面的时候,就称为回流,当页面第一次被加载的时候就会发生异常很大的回流。
重绘:页面中一些元素需要更新属性,而这些属性只影响外观,风格,不影响布局,就叫做重绘。
回流必将引起重绘,重绘不一定引起回流。

5. vue路由的钩子函数

(1)全局钩子
beforeEach和afterEach,有三个参数from,to,next
(2)单个路由里的钩子
beforeEnter和beforeLeave
(3)组件路由
beforeRouterEnter、beforeRouterUpdate和beforeRouterLeave
6. 服务端跨域
原因:限制不同源的请求(安全)
这里还是用最常用的方式来讲解,例如用户登录 a 网站,同时新开 tab 打开了 b 网站,如果不限制同源, b 可以像 a 网站发起任何请求,会让不法分子有机可趁。
解决方案:
1.CORS
跨域资源共享(CORS) 是一种机制,它使用额外的 HTTP 头来告诉浏览器 让运行在一个 origin (domain) 上的 Web 应用被准许访问来自不同源服务器上的指定的资源。当一个资源从与该资源本身所在的服务器「不同的域、协议或端口」请求一个资源时,资源会发起一个「跨域 HTTP 请求」
2.jsonP
本质是利用了src跨域的特点。src不受同源策略的限制。通过动态创建script标签,设置src属性为对方的接口地址,以get方式传递请求,并将相应的结果通过回调函返回。

6. 性能优化

  1. 减少HTTP请求:
    解决办法:合并图片(精灵图),合并CSS和JS文件;图片较多的页面也可以使用 lazyLoad(懒加载) 等技术进行优化。
  2. 减少对DOM的操作:
    解决办法:修改和访问DOM元素会造成页面的Repaint和Reflow, 合理的使用JavaScript变量储存内容,考虑大量DOM元素中循环的性能开销,在循环结束时一次性写入。减少对DOM元素的查询和修改,查询时可将其赋值给局部变量。
  3. 压缩CSS和JS文件:
    基本原理: CSS和JavaScript的压缩,直接减少下载的文件体积。
  4. 压缩图片和使用图片Sprite技术(精灵图):
    图片压缩的方式:
    4.1、缩小图片分辨率;
    4.2、改变图片格式;
    4.3、降低图片保存质量;

7 async/await与promise的区别

  1. 函数前使用关键字async,await只能用在async标记的函数内。
  2. 比promise更简洁
  3. 处理结果上:promise需要使用.then()来处理promise返回的结果,而async/await则直接在代码上顺序处理结果。
  4. 错误处理:promise如果在then里出现异常,只能用promise的catch函数来捕获,外面的try/catch捕获不到。async/await可以同时捕获异步和同步代码抛出的异常。

猜你喜欢

转载自blog.csdn.net/qq_45021462/article/details/110098502
H5
今日推荐