🔥 核心知识(面试占比 70% 精力)
1. HTML/CSS/JavaScript 基础(必须 ” 精通 ” 级)
- JavaScript 核心机制(⭐⭐⭐⭐⭐)
- 异步编程(⭐⭐⭐⭐⭐)
- Promise 实现原理(手写 Promise)
- async/await 本质(Generator 原理)
- 异步并发控制
- CSS 重点(⭐⭐⭐)
- 布局(Flex/Grid/居中/圣杯/双飞翼)
- BFC/IFC
- 移动端适配(rem/vw/视口)
2. 框架(Vue + React 双线并行)
主攻框架(二选一):需要达到 ” 源码级 ” 理解
- Vue3 深度(如果主攻)
- 响应式原理(proxy + 依赖收集)
- 编译原理(模板编译过程)
- diff 算法(双端比较)
- mini-vue
- React18 深度(如果主攻)
- Fiber 架构
- 调和(reconciliation)过程
- Hooks 原理(模拟实现)
- 手写 mini-react
副攻框架:至少达到 ” 能聊 ” 级
- 核心差异对比(Vue vs React)
- 各自的优缺点/适用场景
- 能回答基础面试题
生态必考(⭐⭐⭐⭐)
- 路由原理(两种模式/导航守卫/Hooks)
- 状态管理(Pinia/Zustand/Redux 中间件)
- 组件通信方案(8 种以上)
3. 工程化(⭐⭐⭐⭐)
- 构建工具
- Webpack 核心(loader/plugin 原理 + 手写)
- Vite 原理(ESM + 预构建)
- 打包优化(tree shaking/code split)
- TypeScript(⭐⭐⭐)
- 高级类型(泛型/工具类型/类型守卫)
- 实际项目中的 TS 配置
4. 算法与数据结构(大厂必备)
- 高频手写(⭐⭐⭐⭐⭐)
- 如何实现数组去重?
- 防抖/节流
- 柯里化
- 发布订阅/观察者模式
- LeetCode 热题(⭐⭐⭐⭐)
- 字符串(滑动窗口)
- 数组/链表(反转链表/两数之和)
- 二叉树(遍历/最大深度)
- 动态规划(爬楼梯/打家劫舍)
- 排序(快排/归并)
5. 网络与浏览器(⭐⭐⭐⭐)
- HTTP(HTTP1/2/3、HTTPS、缓存策略)
- 浏览器原理(渲染进程、回流重绘、存储)
- 安全(XSS、CSRF、CORS)
💡 场景化专题(面试占比 20%)
6. 性能优化(能说出完整方案)
- 加载优化
- 懒加载/预加载
- 资源压缩/CDN
- 骨架屏
- 运行时优化
- 虚拟列表(大列表)
- 防抖节流应用
- 避免重排重绘
7. 项目难点(准备 3 个 STAR 案例)
- 复杂表单/表格优化
- 大文件上传/断点续传
- 实时通信(WebSocket)
- 权限控制(RBAC)
- 微前端实践
🎨 加分项(面试占比 10%)
8. 可视化/动画(如果你想要这个方向)
- Canvas/SVG 基础
- Three.js 核心(场景/相机/渲染器/几何体)
- 结合 Vue/React 的 3D demo
9. Node.js 基础
- 常用 API(fs/path/http)
- 中间件概念
- SSR 原理(Nuxt/Next)
🧹 建议砍掉或后置的内容
这些在面试阶段性价比太低,建议上岸后再学:
- ❌ GraphQL / Serverless / Deno
- ❌ Flutter / Electron(除非明确投递相关岗位)
- ❌ WebAssembly / 边缘计算
- ❌ Taro/Uniapp(除非投小程序岗,否则了解即可)
📌 立即执行清单
- 【本周】 把 React 移到核心区,至少补齐 Hooks 原理和常见面试题
- 【本周】 新增算法模块,从高频手写题开始
- 【调整】 进阶知识统一打上 ” 了解即可 ” 标签,别花太多时间
- 【标注】 给每个知识点加上掌握程度目标(如 Vue 响应式 = 手写实现)
需要我帮你细化某个模块的具体学习路径或面试题清单吗?