最近太忙了,一直没时间把9,10月份找工作的面试题记录下
高频
一、事件循环
- js代码分同步任务和异步任务
- js实现异步的方式是基于事件循环模型
异步任务分为
- 微任务(micro-task) job
- 宏任务(macro-task) task
二、vuex及pinia优缺点
vuex 有五个模块 store getter action(异步) mutation(commit提交数据) modules
pinia三个
三、computd和watch的区别
四、wabpack
原理和vite的区别 对比
五、diff算法
六、原型与原型链
七、响应式布局
只需要开发一套代码,只需要一套代码使页面适应不同的屏幕
- 百分比布局
- 媒体查询布局
- rem 响应式布局
- vw 响应式布局
- flex 弹性布局
八、get post的区别
- post比get安全
- post长度不受url限制
- get可以回退 ,缓存
- get数据获取,post数据推送
九、async await promise的关系 优缺点 特点 用法 promise的方法:resolve、reject、then、catch、finally、all、allSettled、race、any
十、解释v-model双向绑定
一方面modal层通过defineProperty来劫持每个属性,一旦监听到变化通过相关的页面元素更新。另一方面通过编译模板文件,为控件的v-model绑定input事件,从而页面输入能实时更新相关data属性值
十一、防抖节流 特点 应用场景
十二、闭包应用场景
十三、前端缓存
十四、wabpack和vite的区别
中频
一、v-if和v-show的区别
二、vue3相比较于vue2的优势
三、图片懒加载原理
通过data-src属性去替换监听可视区域的src属性值
监听方法 1.监听onscroll事件 2.通过html5的监听器方法intersectionObserver
四、浏览器内存泄漏的检测方法
五、浏览器兼容
六、重绘重排,避免重绘重排的方法
1样式集中改变
2使用 absolute 或 fixed 脱离文档流
3使用GPU加速:transform
七、设计模式
八、性能优化
九、computd和watch的区别
十、垂直居中布局
十一、webpack打包过程
十二、vue实例挂载原理
十三、new 之后发生了什么
十四、微前端
十五、数组去重
十六、vue3父子组件传值
低频
- for in for of区别
- preload和prefetch的区别
- AMD、CMD、CommonJS、ES6 Module模块化思想
- map和forEach的区别
- 判断数组还是对象
- watch和watchEffect的区别
- websocket
- 三栏布局