JavaScript
- 都有哪些数据类型(不要忘记 null和undefined)
- 判断数据类型的方法有哪些,原理是什么
- var,let 和 const有什么区别
- 捕获和冒泡的过程
- 描述一下js事件循环的过程(什么时候渲染UI)
- 垃圾回收机制
- import和require区别
- requestAnimationFrame好处是什么,什么原理
- apply、call、bind的用法和区别
- 防抖和节流的区别和使用场景
- promise作用
- 如何使a==1 && a == 2 && a == 2成立
- 箭头函数(箭头函数可以做做构造函数吗)
- new都做了什么
- 如何实现继承
- async函数是什么
- 数组操作方法
CSS
- rem、em 与 vh、vw的区别
- rem和em去不
- rem和vh的对比
- 如何画一条1px的直线
- 移动端键盘被顶上去如何解决
- 如何解决滚动穿透
- 重绘与重排了解吗
- position和translate相对定位时有什么区别
- 实现垂直居中都有什么方法
- 如何清除浮动
- BFC是什么,可以解决什么问题
- 了解盒子模型吗
Vue
- vue的生命周期
- 路由守卫
- vue对数组的哪些事件做了处理,如果你来做,如何避免不响应的问题
- 组件通信的几种方式
- vue里的data和vuex里的数据都可以监听到变化,两者有什么不同
- 自定义指令vue.directive的用法
- vue3用过吗,有哪些了解
- watch和computed区别
- vue里data为什么是function(引伸到闭包)
- vue的nextTick原理
- diff渲染
网络
- 7层网络模型都有什么,每层有哪些协议
- 描述一下三次握手和四次挥手的过程,为什么这样设计
- http返回码(重点304)
- 服务端304是什么意思
- 跨域的几种方式
- 强缓存和协商缓存
- 拥塞控制
- http1.0和1.1以及2.0都有什么区别
- cookie和session的区别
- cookie是用来干嘛的,如何防止cookie被修改
- tcp与udp的区别
webpack
- webpack可以做哪些优化
- webpack都有哪些部分
- babel是什么,是怎么工作的
- css、style、less三个loader的执行顺序,分别做了什么
其他
- 用过哪些设计模式
- vue里用到了什么设计模式
- es6了解什么
- AST
- 会写node吗
- 会react吗
- 用过websocked吗
- web与nativa交互方式(jsbrige原理)
- video标签的播放拖动等是怎么实现的
- 如何理解模块化
- 图片懒加载
编码
- 实现 JSON.Stringfy
- 数组api,数组sort方法
- 实现数组扁平化
- async/await promise settimeout 输出顺序判断
- promise几个api(all,settled,once,any)的实现方法
- URL上的参数转为数组
- 实现深拷贝
- 实现apply、call、bind
- 防抖、节流函数的实现
- leetcode题
非技术方面
- 自我介绍
- 为什么离职
- 为什么转前端
- 职业规划
- 之前的团队有哪些让你比较认可的东西
- 为什么加入之前的公司
不定期更新~