一条主线,六个阶段。每个阶段都有明确的前置条件、核心文档、产出物、自检问题。 判断一个阶段学完的标准不是"读完了",而是能回答自检问题并交出产出物。
目标:能完整讲清"在地址栏输入 URL 到看见页面"发生了什么。
| 项 | 内容 |
|---|---|
| 前置 | 无 |
| 预计 | 2-3 周 |
| 目录 | 01-计算机基础 |
核心文档
产出:画一张自己的"URL 到上屏"全链路图,标注每一步可能出的性能问题。
自检
<script> 会阻塞渲染?defer 和 async 的区别?已补:
操作系统/4 篇(进程线程 → 内存 → IO → 文件系统),数据结构与算法/9 篇(基础结构 4 + 高级算法 5)。 这两块不要求一次读完——操作系统跟着 P1 的事件循环、P2 的性能优化穿插看,算法按笔试题型单独开一条线。
目标:JS 不再是"能写",而是"知道它为什么这样执行"。
| 项 | 内容 |
|---|---|
| 前置 | P0 |
| 预计 | 4-6 周 |
| 目录 |
核心文档(编号即顺序,43 篇按 JavaScript 索引 推进)
产出:手写 promise.all、debounce、deepClone、new 的等价实现。
自检
setTimeout + Promise 的输出顺序class 和原型继承的关系:class 是语法糖吗?它多做了什么?var / let / const 在变量环境和词法环境中的差异缺口:TypeScript 已补类型系统基础,仍缺「泛型进阶 → 条件类型深入 → 工程配置」。
目标:理解 React 的渲染模型,能定位"为什么这个组件重渲染了"。
核心文档
产出:用 React 实现一个带分页、搜索、乐观更新的列表页,并说明每一处 memo/useMemo 的必要性。
自检
setState 之后发生了什么?从调度到提交经历哪几个阶段?useEffect 里拿到的是旧值?闭包陷阱怎么破?key 的作用是什么,用 index 会有什么问题?缺口:路由、数据请求(SWR/React Query)、表单方案尚无正文。
目标:能独立把一个项目从本地跑到线上,并能排查构建与部署问题。
| 项 | 内容 |
|---|---|
| 前置 | P2 |
| 预计 | 3-4 周 |
| 目录 | 04-工程化 |
核心文档
产出:给现有项目加一条 CI:lint → test → build → 部署,并写清每一步失败怎么查。
自检
目标:能主导一个 RN 应用从环境搭建到上架、再到性能调优的完整流程。
| 项 | 内容 |
|---|---|
| 前置 | P2(P3 可选) |
| 预计 | 4-6 周 |
| 目录 | React Native |
核心文档
产出:一个可上架的 RN 应用 + 一份启动耗时报告(冷启动各阶段耗时拆解)。
自检
缺口:UniApp、小程序只有面试提纲,无正文。
目标:把知识转成可表达的能力,并用面试反馈反向补洞。
| 项 | 内容 |
|---|---|
| 前置 | P0-P4 任一阶段完成后即可开始(不必等全部学完) |
| 节奏 | 每周 1 次 |
| 目录 | 07-面试专项 |
核心文档
产出:每次面试后 24 小时内写一篇复盘,格式:日期 公司 面试.md,包含「问了什么 / 我答得如何 / 正确答法 / 对应知识点链接」。
做法
P0 基础 2-3 周 ┐
P1 语言内核 4-6 周 ├─ 约 3-4 个月,达到"能独立开发"
P2 框架 4-6 周 ┘
P3 工程化 3-4 周 ┐
P4 跨端实战 4-6 周 ├─ 约 2-3 个月,达到"能独立交付"
P5 复盘 持续 ┘
时间不是硬指标。判断能否进入下一阶段的唯一标准:本阶段的自检问题能不看资料答出来。