一面(72min)
1. 项目难点 ✔
2. 重构页面 ✔ -> 封装思路 ✔ -> 业务架构 ✔ -> 性能优化 ✔
3. JWT 鉴权 ✔ -> JWT 安全性 ✔ -> XSS 攻击防御 ✔
4. 预加载 ✔ -> 懒加载 ✔ -> WebP✔
5. 发起图片请求到 CDN 返回图片 ✔
6. 前端埋点监控 SDK❌
7. React Hooks 不能在循环条件嵌套语句中使用的原因 ✔
8. React 输出题 ❌-> useEffect & useRef✔
9. Leetcode 最大连续子数组和 ✔
10. 除了前端还想做些什么 ✔
11. 反问
二面(52min)
1. 介绍最熟悉的项目 ✅ -> 业务架构 ✅
2. lodash.cloneDeep 相比手写深拷贝的优化 ❌ -> 除了 lodash.cloneDeep 外还有哪些类似的深拷贝工具函数 ❌ -> 不完全拷贝对象而拿到嵌套对象某个属性值有哪些性能优化的工具函数 lodash.get?❌
3. Object.defineProperty✅
4. Proxy✅
5. Vue 组件通信 ✅
6. Vuex 数据如何实现响应式更新 ✅
7. PNG & JPEG & SVG & GIFT & WebP 优势和局限性 ✅ -> WebP 兼容性问题 ✅ -> 浏览器兼容性 ❌
8. 图片懒加载实现 ✅
9. 预加载实现 ✅
10. 反问
面个试和吵架差不多,和前辈争论了很久,另外前辈一副爱答不理的样子...