2023前端面试
一、正常问答
二、js
2.1、数组常规操作有哪些
2.2、数组去重的常规方法
2.3、面向对象、原型、原型链、继承。原型绑定有几种。时候什么使用场景
2.4、怎么改变this指向
2.5、什么是闭包,使用场景及优缺点?
2.6、什么是深拷贝、浅拷贝?深拷贝有几种方式,JSON.string 有什么缺陷?
2.7、ajax和axios有什么区别
2.8、http和https区别?http请求方式、请求报文、响应报文、get、post区别、状态码
2.9、es6有哪些新增属性
2.10、ts泛型和枚举?
三、css
3.1、伪类选择器有哪些?
3.2、怎么实现让设置100px宽高度并自带padding: 20px的div盒。宽高保持在100
3.3、让div盒绝对居中的方式有哪些?
3.4、对scss的函数方法了解哪些?
3.5、css怎么设置并使用变量属性
3.6、vue3怎么在css中使用变量
3.7、怎么实现一个高性能的轮播图。transform
3.8、实现皮肤几种方案
四、vue
4.1、传统的vue指令有哪些
4.2、vue事件修饰符
.stop 阻止事件继续传播
.prevent 阻止标签默认行为
.capture 使用事件捕获模式,即元素自身触发的事件先在此处处理,然后才交由内部元素进行处理
.self 只当在 event.target 是当前元素自身时触发处理函数
.once 事件将只会触发一次
.passive 告诉浏览器你不想阻止事件的默认行为
4.3、简单聊一下组合式api。
4.4、ref和$ref有什么区别。 组件通讯有哪几种
4.5、computed和watch有为什么区别
4.6、自定义指令 directives(接受参数分别是什么)
4.7、vuex,相关api和常规获取和使用的方式。 pinia
4.8、vue-router,动态路由和权限分配怎么实现
4.9、如何封装一个完整弹框组件的
4.10、slot如何传递数据
五、webpack,vite
5.1、使用过哪些功能
5.2、使用起来有哪些区别
5.3、如果基于构建工具可以做哪些项目优化
5.4、有没有单独构建过前端框架
六、前端优化理解