Chapter 00 · How to Use

00 导读 达到面试不翻车的水平即停

模式 18 个题目 111 道模板 34 个翻车点 87 条
§1 The Threshold 阈值策略

为什么是「阈值」而不是「精通」

算法准备最容易犯的错,是把它当成一门要学完的学科。它不是。对绝大多数工程岗位来说,算法面试是一道及格线:过了线,面试官关心的就转向系统设计、工程判断和沟通;没过线,别的都不用谈。

所以本书的目标不是让你变强,而是让你尽快越过那条线然后停下来,把省下的时间还给别的准备。下面三条是可验证的达标标准,全书每一处设计都为它们服务——你可以拿它们随时检查自己还差多远。

5 分钟
拿到一道陌生的 medium,5 分钟内说出它属于哪个模式、思路框架是什么。做不到,说明识别信号没练熟。
25–30 分钟
陌生 medium 在 25–30 分钟内写出能跑的代码,并说清时间 / 空间复杂度。
18 个模式
18 个核心模式全覆盖,共 111 道题、34 个可默写模板。
§2 Out of Scope 明确不覆盖

这本书不教什么

把不做什么写下来,和写清楚做什么同样重要——否则准备永远没有终点。以下内容在工程岗面试里出现的概率低到不值得投入,本书明确不覆盖:

  • 线段树、树状数组(Fenwick)
  • KMP、后缀数组、AC 自动机等字符串算法
  • 计算几何
  • 高级位运算技巧(状压 DP 之外的那些)
  • 竞赛数论(同余方程、莫比乌斯反演等)

另外几样东西是「知道就行、不必会写」:Dijkstra / 最小生成树、快速选择的完整实现、平衡树。面试里说得出名字和适用场景即可。

书里还有一档更轻的标记:⭐ 认脸(全书 15 道)。它们几乎都是 hard,价值在于「见过、能一句话说出思路」,不要求现场默写。篇幅上它们也刻意比必会题短——篇幅本身就是优先级信号。另有 5 道 🔒 premium 题,没有会员可以跳过。

§3 How to Use 怎么用这本书

平时用章节,考前用速查页

每一章都是同样的五段,顺序固定,方便你跳着读:

段内容什么时候看
§1 一句话心智模型把这个模式讲透的那一句第一次学 / 忘光了重建直觉
§2 识别信号题面关键词 → 想到什么,外加分流条件全书最值钱的部分,反复看
§3 模板代码可默写的 Python,【骨架】不变 /【插槽】随题变练默写;考前扫一眼口诀
§4 题目分层热身 → 标准 → 变体,每题一句话点评按顺序刷;⭐ 的只读不写
§5 翻车点 + 自测3–5 条坑,外加「30 秒识别模式」自测刷完一章后做,检验识别力

太久没自己写代码 → 先完成附录 A · Python 刷题急救包再进正文。那一页的 10 道复健题要求手打提交,同时它们全部收录在正文各章——复健做完,热身进度也已经走了一截。

每章自测都会混入恰好一道「非本章」的分流题,用来防止「读哪章就选哪章」的条件反射——真实面试里没人告诉你这是第几章。

面试前一晚不要重读章节,只翻两页:决策树速查(关键词 → 模式 → 模板口诀,单屏可打印)和错题登记里你自己真正翻过车的那几条。

§4 Maintenance 达标之后

维持模式:每周 3–5 题

达标之后继续大量刷题,边际收益接近零,还会挤占系统设计和项目复盘的时间。维持手感只需要每周 3–5 题,构成固定:

如果某次随机抽查发现某个模式已经想不起模板了,回去只看那一章的 §1 和 §3,十分钟就能捡回来——这正是把书写成工具书的意义。