学习顺序

序号模块知识点
1SQL 基础SQL 执行顺序
2SQL 基础GROUP BY
3SQL 基础WHERE
4SQL 基础HAVING
5SQL 聚合COUNT(*)
6SQL 聚合COUNT(col)
7SQL 聚合COUNT(DISTINCT col)
8SQL 聚合SUM
9SQL 聚合AVG
10SQL 聚合MAX
11SQL 聚合MIN
12SQL 时间时间范围筛选
13SQL 优化索引是否生效判断
14SQL JOININNER JOIN
15SQL JOINLEFT JOIN
16SQL JOINLEFT JOIN + COUNT
17SQL JOINLEFT JOIN + WHERE 陷阱
18SQL 思维行级计算 vs 组级计算
19SQL 思维聚合函数计算对象理解
20Web 基础HTTP 请求方法
21Web 基础HTTP 状态码
22Web 基础HTTP 请求 / 响应结构
23Web 基础Cookie
24Web 基础Session
25Web 基础Token / JWT
26Web 基础RESTful 设计原则
27Web 基础跨域(CORS)
28Web 通信前后端交互流程
29网络与浏览器浏览器渲染流程
30网络与浏览器资源加载顺序
31网络与浏览器浏览器缓存机制
32前端基础HTML 语义化
33前端基础HTML 表单
34前端基础CSS 盒模型
35前端基础CSS 布局(Flex)
36前端基础CSS 布局(Grid)
37前端基础CSS 定位(position)
38前端基础CSS 常见居中方案
39前端基础CSS 响应式设计
40前端基础JavaScript 基础
41前端基础ES6+ 语法
42前端基础作用域 / 闭包
43前端基础this 绑定规则
44前端基础原型链
45前端基础DOM 操作
46前端基础事件冒泡与捕获
47前端基础Event Loop
48React 核心JSX
49React 核心组件化思想
50React 核心Props
51React 核心State
52React 核心Hooks(useState)
53React 核心Hooks(useEffect)
54React 进阶Hooks 规则
55React 进阶useMemo
56React 进阶useCallback
57React 进阶Context
58React 进阶受控组件
59React 进阶非受控组件
60React 性能组件重渲染机制
61React 性能key 的作用
62React 性能memo
63React 性能状态提升
64React 性能副作用管理
65React 工程化项目结构设计
66React 工程化状态管理基础
67React 工程化数据请求与管理
68数据库基础事务基本概念
69数据库基础ACID
70数据库基础事务隔离级别
71数据库基础脏读 / 不可重复读 / 幻读
72并发基础进程
73并发基础线程
74并发基础进程 vs 线程
75并发基础地址空间
76并发基础共享内存
77并发基础并发问题根因
78并发基础原子性
79并发基础非原子操作(count++)
80并发控制synchronized
81并发控制volatile
82并发控制AtomicInteger
83并发控制CAS
84并发控制可见性
85并发控制有序性
86并发模型竞态条件
87并发模型线程安全
88并发模型锁机制
89内存模型栈 vs 堆
90内存模型对象生命周期
91内存模型内存泄漏
92内存模型GC 基本概念
93数据结构基础数组
94数据结构基础哈希表
95数据结构基础时间复杂度
96数据结构基础常见查找
97综合全栈笔试综合模拟
98综合前后端面经高频题

知识点详解

SQL 基础

知识点范围概念定义示例
SQL 执行顺序查询整体流程SQL 实际执行顺序为:FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY → LIMITSELECT b, COUNT(*) FROM t WHERE a>1 GROUP BY b HAVING COUNT(*)>1
GROUP BY行 → 组将多行按 key 分组,后续聚合函数按"组"计算SELECT user_id, SUM(amount) FROM orders GROUP BY user_id
WHERE行级过滤在分组前逐行过滤数据,不能使用聚合函数WHERE amount > 100
HAVING组级过滤在分组后对"组"进行过滤,可使用聚合函数HAVING SUM(amount) > 200

SQL 聚合

知识点范围概念定义示例
COUNT(*)行数统计统计作用范围内的行数,不忽略 NULLCOUNT(*)
COUNT(col)非 NULL 计数统计 col 不为 NULL 的行数COUNT(amount)
COUNT(DISTINCT col)去重计数统计 col 中不同且非 NULL 的值个数COUNT(DISTINCT user_id)
SUM数值求和对非 NULL 数值求和,若全为 NULL 则结果为 NULLSUM(amount)
AVG平均值等价于 SUM(col) / COUNT(col),忽略 NULLAVG(amount)
MAX最大值 / 存在性返回最大非 NULL 值,常用于"是否存在"判断HAVING MAX(amount) >= 100
MIN最小值 / 全称性返回最小非 NULL 值,常用于"是否全部满足"HAVING MIN(amount) >= 100

SQL 时间

知识点范围概念定义示例
时间范围筛选时间条件推荐使用左闭右开区间,避免精度问题created_at >= '2024-01-01' AND created_at < '2024-02-01'

SQL 优化

知识点范围概念定义示例
索引生效判断索引使用索引是否生效取决于能否从索引最左列定位扫描起点WHERE age = 18 AND created_at >= '2024-01-01'

SQL JOIN

知识点范围概念定义示例
INNER JOIN交集仅保留两表匹配成功的行FROM u INNER JOIN o ON u.id = o.user_id
LEFT JOIN左表保留保留左表所有行,右表无匹配则为 NULLFROM u LEFT JOIN o ON u.id = o.user_id
LEFT JOIN + COUNT计数陷阱COUNT(*) 数行,COUNT(右表列) 数匹配行COUNT(o.id)
LEFT JOIN + WHERE 陷阱语义变化WHERE 引用右表会过滤 NULL,使 LEFT JOIN 退化为 INNER JOINLEFT JOIN o ON ... WHERE o.col > 1

SQL 思维

知识点范围概念定义示例
行级计算 vs 组级计算计算层级行级先算再聚合;组级先聚合再算SUM(amount * 0.9) vs SUM(amount) * 0.9
聚合函数计算对象理解计算对象聚合函数计算的是"表达式结果集合",不是行本身COUNT(CASE WHEN amount >= 100 THEN 1 END)