1. HTTPS,对称和非对称加密
2. commandjs 和 ES6 Module的区别
+ ESM是引用,Commandjs是赋值,有什么区别,在解决循环引用时有区别
+ ESM编译时输出,只能在顶层。Commandjs是运行时加载,可以在任意地方require
3. 微宏任务,手写顺序打印题
4. Vue nextTick作用,原理,为什么会有这个API
+ 因为Vue视图异步更新,节省资源,减少重复渲染
+ 简单说原理就是Promise.then
3. ES6之外ES7 ES8的语法,可选链
4. Vue 2 和 Vue 3的区别
5. Vue scoped css怎么实现,属性选择器的优先级,与class同级
5. VIte 和 Webpack的区别,为什么Vite快,Vite构建的时候和webpack的速度区别
+ Vite按需加载,且只是将其他模块化的规范转换成ESM,构建速度是O(n)
+ Webpack,构建速度是O(n)
+ Wepack和Vite构建速度是一样的,为了兼容性
6. Tree sharking
7. 类型判断, typeof instanceof Object.prototype.toString,这三种类型判断的异同
8. 前端性能优化
8. 寻找一个字符串的最长不重复子串,BF算法、KMP算法优化
#面经#