系统设计与算法结合题¶
目标:补齐高薪岗位更常见的一类题目:不是只问算法,而是问“算法如何落到真实系统里”。
一、这类题为什么重要¶
高薪岗位越来越少考“单点算法背诵”,更常见的是:
- 给一个系统场景
- 让你先定数据结构和复杂度
- 再问如何扩展到并发、缓存、容量、容错
这比单纯刷题更接近真实岗位。
二、典型题型¶
| 场景 | 核心算法/数据结构 | 系统追问 |
|---|---|---|
| LRU / LFU 缓存 | 哈希表 + 双向链表 / 堆 | 并发一致性、热点 key、淘汰策略 |
| 限流器 | 滑动窗口、令牌桶、计数器 | 分布式一致性、时钟问题 |
| 任务调度 | DAG、拓扑排序、优先队列 | 重试、幂等、失败回滚 |
| 搜索/检索 | 倒排索引、Trie、Top-K | 增量更新、冷热分层、延迟 |
| 日志/指标聚合 | 堆、单调队列、哈希 | 流式计算、窗口聚合、容量 |
三、推荐答题顺序¶
错误顺序是:一上来就讲分布式,而没有先把核心算法讲对。
四、你最该优先会的结合题¶
- LRU / LFU 缓存
- 限流器
- DAG 工作流调度
- 数据流 Top-K / 中位数
- Trie / 倒排索引 / 检索服务
这几类题同时覆盖面试算法和工程设计,性价比最高。