前端高频面试题
- ES6日常语法:let、const、解构复制、箭头函数、字符串模版、块级、Map、Set、Proxy
- Array日常方法:Array.prototype.map、reduce、find、some、splice、fill、flat等
- Object日常方法:Object.assign、keys、defineProperties; Object.prototype.hasOwnProperty、valueOf
- String日常方法:String.prototype.indexOf、split、includes、match、replace、startsWith、substring
- Promise:Promise 原理;Promise.all、Promise.race、Promise.allSettled用法,使用Promise做并发/流水控制
- class 语法与Function区别,写法如何一一对应、继承
- 深拷贝浅拷贝区别(深比较浅比较),手写深拷贝(简单json格式、存在Map/Function、循环引用等case)
- debounce 和 throttle区别、应用场景、实现
- http跨域:同源策略、预检请求,CSRF,各解决方案
- http缓存:缓存时间(强缓存)和缓存验证(协商缓存)
- http版本:http1.0、http1.1、http2、http3
- https:建立过程、
- 图片懒加载
- 虚拟滚动/列表
- 请求工具类的封装(request/fetch/axios/http),请求/响应的拦截处理,错误提示、权限控制、并发控制
- react 生命周期,react hooks,调用setState会做什么触发哪些生命周期
- react props 注意事项,immutable作用
- react 并发模式(Fiber架构,未来框架趋势,思想)
- webpack基本配置,loader、plugiin作用,dev-server 热更新原理
- 常用算法:深度优先搜索、动态规划、排序算法、回溯算法等
- 正则表达式
- 工具命令:linux命令、git
- 碰到什么困难,如何解决