1.JS事件循环(同步=>异步(微运动=>宏运动))
2.JS事件委托(事件冒泡,事件捕获)
3.JS闭包
4.JS作用域(var声明提交,const, let块级作用域,函数声明提升)
5.原型和原型链(prototype和__proto__)
6.this指向(指向调用对象的上下文环境,如果找不到,就指向window,严格模式是undefined)
7.http和https的区别(证书机制,对称加密,非对称加密)
8.浏览器渲染(三次握手,四次挥手,DNS解析,构建Dom树,渲染页面)
9.基本类型和引用类型【基本类型:字符串,数字,undefined,对象,null,布尔值,Symbol。引用类型:object,Array,Function】
10.JS常用排序,查找算法【冒泡排序,选择排序,快速排序,二分法排序,二分法查找】
11.防抖(延迟执行,多次操作只调用一次),节流(指定时间内只调用一次,有限时间内操作多次可能调用多次)
12.浏览器缓存或HTTP缓存(强制缓存[走浏览器缓存,Expires,cache-control]和协商缓存[走服务器,304直接返回,Last-Modified, ETag],服务端返回数据的时候,在响应头返回是协商缓存还是强制缓存)
13.Promise原理
14.项目性能优化(图片,静态资源用压缩版的,按需加载,cdn资源,gzip包,骨架屏,css放前js放后、浏览器缓存,长列表优化,首屏优化,减少页面回流等)
15.Vue源码原理(双向绑定原理,nextTick原理,keep-alive原理,diff编译原理)
16.webpack编译原理
17.跨域(请求跨域[跨域资源共享cors,jsonp,websocket,代理转发]和页面跨域[postMessage,改域,window.name])
18.JS重绘和回流(重绘是修改背景色,修改字体,字体颜色等,回流是引起布局发生变化,如增删元素,修改元素宽高,修改浮动方式等。回流会引起重绘,重绘不一定引起回流。要尽可能减少重绘和回流的次数)