前端面试题记录

203 阅读2分钟

最近太忙了,一直没时间把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父子组件传值

低频

  1. for in for of区别
  2. preload和prefetch的区别
  3. AMD、CMD、CommonJS、ES6 Module模块化思想
  4. map和forEach的区别
  5. 判断数组还是对象
  6. watch和watchEffect的区别
  7. websocket
  8. 三栏布局