- 一面汇总
- Vue
- 组件通信(父子 兄弟)
- 生命周期钩子,包括执行顺序,每个阶段标志(每个阶段都做了什么)
- V-if 和 v-show 区别
- Compute 和 watch 的区别
- Mixins 的使用
- Js
- ES6新特性(https://es6.ruanyifeng.com/)
- ES5怎么实现继承 ES6怎么实现继承 区别在哪里
- 原型和原型链
- 闭包(使用场景、优缺点)
- Js获取原型链的方法
- Js 隐式类型转换规则 比如数字转字符串
- 对象的深拷贝 浅拷贝
- ==操作符的强制类型转换
- 数组的随机排序
- 改变this 的方法 区别
- Instanceof的作用
- Promise
- Event loop
- Html、css
- 三列布局(手写)
- 九宫格布局
- Rem适配原理
- 其他适配方案
- 语义化标签的作用
- BFC
- 详细说下css 权重问题
- 浏览器
- 三次握手、四次挥手
- 什么是浏览器同源策略
- 怎么解决跨域
- 请求状态码 从1系列到5系列 500 403 404 304 301 302 以及重定向的过程
- 性能优化
- Seo 搜索优化
- Http请求头 头部常用字段
- Http 和 https 有什么区别 http转https 需要注意什么
- 二面汇总
- Vue
- 双向绑定的实现原理
- Object.defineProperty()方法具体使用原理
- Diff算法实现
- 哈希路由的实现原理
- NextTick的实现原理
- V-if 和 v-for 的哪个优先级高
- Vue 中 的key 工作原理
- Vue 3.0 有什么新特性
- Js
- 缓存 强制缓存、协商缓存
- Js 延迟加载的方法有哪些
- 手写一个简单的promise 并能简单的实现其API 比如promise.all
- 减少reflow 的方法
- WebStorage
- 什么是MVC 什么是MVVM
- 什么是函数式编程 优点有哪些
- React 和 vue 的区别
- 手写系列
- 节流和防抖
- 数组的map方法
- 数组的includes 方法
- 深拷贝
- 字符串的 trim 方法
- 数组的乱序 数组的去重
- 数组的flat
- Call、bing、apply
- 函数的柯力化
- 闭包