项目拷打
常见的Hooks
useRef和useState区别
useMemo用useRef实现
前端缓存
前端缓存类型对比表
| 类型 | 存储位置 | 生命周期 | 容量 | 数据格式 | 是否自动发送到服务器 |
|---|
| HTTP 强缓存 | 浏览器磁盘 | 由 max-age 或 Expires | 动态分配 | 静态资源文件 | 否 |
| Cookie | 浏览器磁盘 | 会话级或手动设置 | ~4KB | 字符串 | 是(通过请求头) |
| LocalStorage | 浏览器磁盘 | 永久 | 5~10MB | 字符串(需序列化对象) | 否 |
| SessionStorage | 浏览器磁盘 | 页面会话结束 | 5~10MB | 字符串(需序列化对象) | 否 |
| IndexedDB | 浏览器磁盘 | 永久 | 数百 MB 至数 GB | 结构化数据、二进制 | 否 |
| Service Worker 缓存 | 浏览器磁盘/内存 | 手动更新 | 动态分配 | 任意网络资源 | 否 |
| Memory Cache | 浏览器内存 | 页面关闭时释放 | 动态分配 | 当前页面资源 | 否 |
router
新旧路由
redux
redux里的state和组件的state
Provider考察
css网格布局grid 弹性布局flex
css相关估计也得会
定位相关
App和数据结构的区别
stack heap
数据库了解到什么程度
fetch axios
怎么获取数据
结构
数据结构
二分查找
堆排序
冒泡
时间复杂度 空间复杂度
单页面 多页面
ES6和TS
ES6
JS现代的标准,新增let,const,箭头函数,类,模块化
ES6的类(class)是原型继承的语法糖,
class定义类,constructor作为构造函数
extends实现继承,子类需要在constructor中调用super访问父类的构造函数
动态数据类型:变量类型运行确定,没有编译检查
直接在浏览器上运行
TS
扩展了JS,兼容ES6,添加了静态数据类型,接口,泛型等
编译检查类型的错误,编译成JS运行
history使用
手撕代码
观察者模式
高并发(前端的高并发处理就是优化性能,减少资源消耗,提升用户体验。)