算法准备最容易犯的错,是把它当成一门要学完的学科。它不是。对绝大多数工程岗位来说,算法面试是一道及格线:过了线,面试官关心的就转向系统设计、工程判断和沟通;没过线,别的都不用谈。
所以本书的目标不是让你变强,而是让你尽快越过那条线然后停下来,把省下的时间还给别的准备。下面三条是可验证的达标标准,全书每一处设计都为它们服务——你可以拿它们随时检查自己还差多远。
把不做什么写下来,和写清楚做什么同样重要——否则准备永远没有终点。以下内容在工程岗面试里出现的概率低到不值得投入,本书明确不覆盖:
另外几样东西是「知道就行、不必会写」:Dijkstra / 最小生成树、快速选择的完整实现、平衡树。面试里说得出名字和适用场景即可。
书里还有一档更轻的标记:⭐ 认脸(全书 15 道)。它们几乎都是 hard,价值在于「见过、能一句话说出思路」,不要求现场默写。篇幅上它们也刻意比必会题短——篇幅本身就是优先级信号。另有 5 道 🔒 premium 题,没有会员可以跳过。
每一章都是同样的五段,顺序固定,方便你跳着读:
| 段 | 内容 | 什么时候看 |
|---|---|---|
| §1 一句话心智模型 | 把这个模式讲透的那一句 | 第一次学 / 忘光了重建直觉 |
| §2 识别信号 | 题面关键词 → 想到什么,外加分流条件 | 全书最值钱的部分,反复看 |
| §3 模板代码 | 可默写的 Python,【骨架】不变 /【插槽】随题变 | 练默写;考前扫一眼口诀 |
| §4 题目分层 | 热身 → 标准 → 变体,每题一句话点评 | 按顺序刷;⭐ 的只读不写 |
| §5 翻车点 + 自测 | 3–5 条坑,外加「30 秒识别模式」自测 | 刷完一章后做,检验识别力 |
太久没自己写代码 → 先完成附录 A · Python 刷题急救包再进正文。那一页的 10 道复健题要求手打提交,同时它们全部收录在正文各章——复健做完,热身进度也已经走了一截。
每章自测都会混入恰好一道「非本章」的分流题,用来防止「读哪章就选哪章」的条件反射——真实面试里没人告诉你这是第几章。
面试前一晚不要重读章节,只翻两页:决策树速查(关键词 → 模式 → 模板口诀,单屏可打印)和错题登记里你自己真正翻过车的那几条。
达标之后继续大量刷题,边际收益接近零,还会挤占系统设计和项目复盘的时间。维持手感只需要每周 3–5 题,构成固定:
如果某次随机抽查发现某个模式已经想不起模板了,回去只看那一章的 §1 和 §3,十分钟就能捡回来——这正是把书写成工具书的意义。