cswork / 路线图打开 500 路题单

路线图 · 编码 / 系统设计 / 行为面试 / CS 基础

先学什么、再学什么,一张图看清。

四条轨道看清准备顺序:35 个算法知识点的先修关系图,系统设计从答题框架到案例、LLD、并发和 ML 系统设计的章节,行为面试的准备入口,以及操作系统、计算机网络等 8 个 CS 基础科目。登录后显示自己的进度。

按岗位的路线

选一个目标岗位,按顺序走完一条线:算法站点、系统设计、SQL、选择题和一个简历项目,都指向站内已有的内容。

算法之外更看重系统设计、API、数据库和并发,简历项目最好是能讲清楚取舍的服务。

登录后,每一步会显示你的完成度。

  1. 用这几站生成学习计划
  2. 用这几站生成学习计划
  3. 用这几站生成学习计划

排期

目标和节奏

完成一步的标准:读完、做对或答过其中 80% 的内容;项目以标记「完成」为准。选做不计入进度。

1编码:35 个知识点

从左到右是建议的学习顺序,连线指向依赖它的知识点。点一站就去练这一站的题。状态只是建议,任何一站都可以直接开始。

第 01 站:原地数组,共 20 题01原地数组第 02 站:哈希计数,共 19 题02哈希计数第 03 站:字符串,共 20 题03字符串第 04 站:双指针滑窗,共 38 题04双指针滑窗第 05 站:前缀和区间,共 25 题05前缀和区间第 06 站:二分查找,共 29 题06二分查找第 07 站:单调栈与堆,共 34 题07单调栈与堆第 08 站:贪心调度,共 25 题08贪心调度第 09 站:链表,共 27 题09链表第 10 站:树的遍历,共 26 题10树的遍历第 11 站:树上路径,共 13 题11树上路径第 12 站:树的构造,共 6 题12树的构造第 13 站:二叉搜索树,共 15 题13二叉搜索树第 14 站:网格搜索,共 15 题14网格搜索第 15 站:并查集,共 16 题15并查集第 16 站:拓扑排序,共 7 题16拓扑排序第 17 站:最短路,共 12 题17最短路第 18 站:生成树,共 3 题18生成树第 19 站:回溯枚举,共 12 题19回溯枚举第 20 站:拆分构造,共 10 题20拆分构造第 21 站:剪枝搜索,共 8 题21剪枝搜索第 22 站:动规入门,共 10 题22动规入门第 23 站:网格动规,共 8 题23网格动规第 24 站:背包计数,共 10 题24背包计数第 25 站:子序列,共 11 题25子序列第 26 站:字符串动规,共 10 题26字符串动规第 27 站:回文区间,共 7 题27回文区间第 28 站:状态机,共 6 题28状态机第 29 站:股票买卖,共 6 题29股票买卖第 30 站:分段调度,共 6 题30分段调度第 31 站:树形博弈,共 6 题31树形博弈第 32 站:迭代器设计,共 8 题32迭代器设计第 33 站:缓存索引,共 12 题33缓存索引第 34 站:字典树序列化,共 6 题34字典树序列化第 35 站:位运算,共 14 题35位运算

登录后,每一站会显示你的进度和建议。

2系统设计:57 章

先学答题框架和基本构件,再做案例,然后是面向对象设计和并发,最后是 ML 系统设计。

  1. 答题框架

    1. 第 1 章:系统设计面试框架
  2. 基本构件

    1. 第 2 章:系统设计的基本构件
  3. 经典案例

    1. 案例 1:短链接服务
    2. 案例 2:分布式限流器
    3. 案例 3:信息流与时间线
    4. 案例 4:设计即时通讯系统(类 WhatsApp)
    5. 案例 5:设计网约车派单系统(类 Uber)
    6. 案例 6:设计通知系统
    7. 案例 7:设计视频流平台(类 YouTube)
    8. 案例 8:设计网络爬虫
    9. 案例 9:设计分布式键值存储
    10. 案例 10:支付系统与记账账本
    11. 案例 11:搜索自动补全(Typeahead)
    12. 案例 12:票务抢购系统(类 Ticketmaster)
  4. 面向对象设计(LLD)

    1. OOD 面试方法论:45 分钟的节奏
    2. SOLID 原则在面试里的真实用法
    3. LLD 案例 1:停车场
    4. LLD 案例 2:带 TTL 的 LRU 缓存
    5. LLD 案例 3:电梯系统
  5. 并发

    1. 并发原语:面试需要掌握到什么程度
    2. 并发题 1:有界阻塞队列
    3. 并发题 2:限速执行器
  6. ML 系统设计

    1. ML 系统设计框架
    2. ML 案例 1:推荐排序(视频首页)
    3. ML 案例 2:电商搜索排序
    4. ML 案例 3:广告点击率预估
    5. ML 案例 4:支付欺诈检测
  7. 关键技术(选读)

    1. 关键技术:Kafka
    2. 关键技术:Redis
    3. 关键技术:PostgreSQL
    4. 关键技术:DynamoDB 与 Cassandra
    5. 关键技术:Elasticsearch
    6. 关键技术:ZooKeeper 与 etcd
    7. 关键技术:Flink 与流处理
    8. 关键技术:对象存储(S3)
  8. 通用设计模式(选读)

    1. 设计模式:实时更新
    2. 设计模式:资源争抢
    3. 设计模式:多步骤流程
    4. 设计模式:长时间运行的任务
    5. 设计模式:大文件处理
    6. 设计模式:扩展读
    7. 设计模式:扩展写
  9. LLD 案例库(选读)

    1. LLD 案例:ATM 取款机
    2. LLD 案例:自动售货机
    3. LLD 案例:国际象棋
    4. LLD 案例:图书馆管理系统
    5. LLD 案例:酒店预订
    6. LLD 案例:Splitwise 分账
    7. LLD 案例:电影院选座购票
    8. LLD 案例:自提快递柜
    9. LLD 案例:外卖订单
    10. LLD 案例:日志框架
  10. API 设计(选读)

    1. API 设计 1:REST、RPC 与 GraphQL
    2. API 设计 2:分页与幂等
    3. API 设计 3:版本演进与错误设计
    4. API 设计 4:认证授权与限流
    5. API 设计 5:Webhook 与长任务

3行为面试

4CS 基础:8 个科目

后端、基础设施岗位和国内校招常考的计算机基础。每一行的科目建议在上一行之后学;每个科目都有选择题,操作系统和计算机网络另有图解课。

    1. 计算机体系结构无先修选择题 20 道
    2. Linux 命令行无先修选择题 20 道
    3. Git无先修选择题 15 道
    1. 操作系统先修:计算机体系结构选择题 20 道操作系统图解课
    1. 并发先修:操作系统选择题 22 道并发原语:面试需要掌握到什么程度
    2. 计算机网络先修:操作系统选择题 21 道计算机网络图解课
    1. 数据库先修:并发选择题 22 道第 2 章:系统设计的基本构件
    2. Web 安全先修:计算机网络选择题 20 道

登录后,每个科目会显示你的答题、阅读和复习进度。 学完数据库再看轨道 2:系统设计。