主题
24 · 前端面试题单与口述模板
目标:按优先级刷完一版「前端常考」题单;面试时用四步把题讲清楚;打卡节奏与暑期专项对齐。
为什么需要这篇
前面 23 篇是「会」;这篇是「怎么用」:
- 哪些题先刷、哪些可后放
- 面试白板上怎么说话
- 每天刷几道跟哪份文档
面试讲题四步模板
拿到题后,按这个顺序说(比闷头写更加分):
| 步 | 你说什么 | 时长感 |
|---|---|---|
| 1. 复述 | 输入输出、约束、确认理解 | 30″ |
| 2. 例子 | 手算 1 个正常例 + 1 个边界 | 1′ |
| 3. 思路 | 暴力 → 优化;时空复杂度 | 1~2′ |
| 4. 代码 | 边写边点边界;写完自测例子 | 其余时间 |
卡壳可以说:「我先写 O(n²),再优化到哈希 O(n)。」比沉默强。
口述复杂度句式:
「一遍扫描,哈希表存已见元素,时间 O(n),额外空间 O(n)。」
与暑期文档怎么配合
| 文档 | 你怎么用 |
|---|---|
| 本系列 01~23 | 学什么、怎么讲(主路线) |
| 算法学习专项 | 每天刷几题(A/B/C 配额、打卡天数) |
| 个人暑假计划 | 算法与 Go / 前端的时间切分 |
建议:内容跟本系列篇号走;体能跟专项配额走。专项里的 W0~W4 可忽略,改成「本周读完阶段 X」。
优先级题单(约 55 题)
标注:★ 必刷 · ☆ 加分 · 篇 = 本系列对应文
P0 · 哈希 / 数组基础(★)
| 题 | 篇 | 备注 |
|---|---|---|
| 1 两数之和 | 03 | ★ |
| 217 存在重复元素 | 01 | ★ |
| 27 移除元素 | 04 | ★ |
| 88 合并两个有序数组 | 04 | ★ |
| 66 加一 | 04 | ☆ |
| 26 删除有序数组中的重复项 | 06 | ★ |
| 283 移动零 | 06 | ★ |
P0 · 双指针 / 滑窗 / 前缀和(★)
| 题 | 篇 | 备注 |
|---|---|---|
| 167 两数之和 II | 05 | ★ |
| 11 盛最多水的容器 | 05 | ★ |
| 15 三数之和 | 05 | ★ |
| 3 无重复字符的最长子串 | 07 | ★ |
| 209 长度最小的子数组 | 07 | ★ |
| 76 最小覆盖子串 | 07 | ☆ 框架 |
| 303 区域和检索 | 08 | ★ |
| 560 和为 K 的子数组 | 08 | ★ |
P0 · 哈希进阶 / 栈(★)
| 题 | 篇 | 备注 |
|---|---|---|
| 242 有效的字母异位词 | 09 | ★ |
| 49 字母异位词分组 | 09 | ★ |
| 128 最长连续序列 | 09 | ★ |
| 20 有效的括号 | 10 | ★ |
| 155 最小栈 | 10 | ★ |
| 739 每日温度 | 10 | ☆ |
P0 · 链表(★)
| 题 | 篇 | 备注 |
|---|---|---|
| 206 反转链表 | 12 | ★ |
| 203 移除链表元素 | 12 | ★ |
| 19 删除链表的倒数第 N 个结点 | 12 | ★ |
| 141 环形链表 | 13 | ★ |
| 160 相交链表 | 13 | ★ |
| 21 合并两个有序链表 | 13 | ★ |
| 142 环形链表 II | 13 | ☆ |
| 876 链表的中间结点 | 12 | ☆ |
P0 · 二分(★)
| 题 | 篇 | 备注 |
|---|---|---|
| 704 二分查找 | 14 | ★ |
| 35 搜索插入位置 | 14 | ★ |
| 33 搜索旋转排序数组 | 15 | ★ |
| 875 爱吃香蕉的珂珂 | 15 | ☆ |
| 69 x 的平方根 | 15 | ☆ |
| 34 排序数组中找元素首末位置 | 14 | ☆ |
P0 · 树(★)
| 题 | 篇 | 备注 |
|---|---|---|
| 144 / 94 / 145 遍历 | 16 | ★ 至少前+中+层序 |
| 102 层序遍历 | 16/18 | ★ |
| 104 最大深度 | 17 | ★ |
| 101 对称二叉树 | 17 | ★ |
| 112 路径总和 | 17 | ★ |
| 543 二叉树的直径 | 17 | ☆ |
| 98 验证 BST | 18 | ★ |
| 700 BST 中的搜索 | 18 | ★ |
| 226 翻转二叉树 | 17 | ☆ |
| 199 右视图 | 18 | ☆ |
P1 · 回溯 / DP / 字符串
| 题 | 篇 | 备注 |
|---|---|---|
| 78 子集 | 19 | ★ |
| 46 全排列 | 20 | ★ |
| 39 组合总和 | 20 | ★ |
| 22 括号生成 | 20 | ☆ |
| 70 爬楼梯 | 21 | ★ |
| 198 打家劫舍 | 21 | ★ |
| 322 零钱兑换 | 21 | ☆ |
| 62 不同路径 | 22 | ★ |
| 1143 最长公共子序列 | 22 | ☆ |
| 64 最小路径和 | 22 | ☆ |
| 125 验证回文串 | 23 | ★ |
| 14 最长公共前缀 | 23 | ★ |
| 8 字符串转换整数 | 23 | ☆ |
| 344 反转字符串 | 23 | ☆ |
可选延后(本系列未展开)
图论 BFS/DFS、堆、Trie、并查集——前端初面较少;有余力再开「阶段 G」。
四周使用建议(另起,不绑旧 W 表)
| 周 | 读本系列 | 刷题重点 |
|---|---|---|
| W1 | 01~07 | P0 数组/双指针/滑窗 |
| W2 | 08~13 | 哈希/栈/链表 |
| W3 | 14~18 | 二分/树 |
| W4 | 19~24 | 回溯/DP/字符串 + 回炉 ★ |
每天仍可用专项的 A/B/C 配额;打卡 ≥ 25 天、题量自己定目标即可。
今日验收(系列收束)
- [ ] 能不看稿讲清:双指针、滑窗、链表反转、树递归、回溯框架、一维 DP 各一例
- [ ] P0 ★ 题至少过一轮(可看解但必须自己默写 JS)
- [ ] 模拟一次「四步讲题」(对镜子或录音 5 分钟)
- [ ] 知道卡壳时切 B/C 档,而不是连续空窗
下一步
- 打开 README 索引,从卡壳的那一篇回炉。
- 把 ★ 题录进自己的错题本(题号 + 一句套路)。
- 真面前:抽 3 道 ★ 限时 45 分钟,只讲思路也算练。
