@tom_doerr:基于畅销指南的系统设计面试笔记 https://github.com/liquidslr/system-design-notes…
摘要
一个 GitHub 仓库,包含基于 Alex Xu 畅销书的综合系统设计面试笔记,涵盖扩展性、一致性哈希和分布式系统等主题。
查看缓存全文
缓存时间: 2026/05/11 06:36
基于畅销指南的系统设计面试笔记:https://github.com/liquidslr/system-design-notes…
liquidslr/system-design-notes
来源:https://github.com/liquidslr/system-design-notes
系统设计面试 - 内部人士指南(第 1 卷和第 2 卷)(https://bytebytego.com/courses/system-design-interview)
这些笔记基于《系统设计面试》书籍 - 第 1 卷和第 2 卷第 2 版 (https://www.goodreads.com/book/show/54109255-system-design-interview-an-insider-s-guide)
在此查看笔记:https://pagefy.io/system-design/system-design-interview-by-alex-xu
注意: 这些笔记仍在不断完善中。
- 第 1 章 - 从零扩展到数百万用户
- 第 2 章 - 粗略估算(信封背面估算)
- 第 3 章 - 系统设计面试框架
- 第 4 章 - 设计限流器
- 第 5 章 - 设计一致性哈希
- 第 6 章 - 设计键值存储系统
- 第 7 章 - 在分布式系统中设计唯一 ID 生成器
- 第 8 章 - 设计 URL 短链接服务
- 第 9 章 - 设计网页爬虫
- 第 10 章 - 设计通知系统
- 第 11 章 - 设计新闻feed系统
- 第 12 章 - 设计聊天系统
- 第 13 章 - 设计搜索自动补全系统
- 第 14 章 - 设计 YouTube
- 第 15 章 - 设计 Google Drive
- 第 16 章 - 邻近服务
- 第 17 章 - 附近的朋友
- 第 18 章 - 设计 Google Maps
- 第 19 章 - 分布式消息队列
- 第 20 章 - 指标监控和告警系统
- 第 21 章 - 广告点击事件聚合
- 第 22 章 - 酒店预订系统
- 第 23 章 - 分布式邮件服务
- 第 24 章 - 类似 S3 的对象存储
- 第 25 章 - 实时游戏排行榜
- 第 26 章 - 支付系统
- 第 27 章 - 数字钱包
- 第 28 章 - 证券交易所
额外资源
限流
- 断路器算法 (https://martinfowler.com/bliki/CircuitBreaker.html)
- Uber 限流器 (https://github.com/uber-go/ratelimit/blob/master/ratelimit.go)
一致性哈希
- 一致性哈希 (https://tom-e-white.com/2007/11/consistent-hashing.html)
- CS168: 引言与一致性哈希:
- Apache Cassandra (http://www.cs.cornell.edu/Projects/ladis2009/papers/Lakshman-ladis2009.PDF)
- 扩展 Discord (https://blog.discord.com/scaling-elixir-f9b8e1e7c29b)
- Google Maglev (https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/44824.pdf)
键值存储
- Amazon Dynamo (https://www.allthingsdistributed.com/files/amazon-dynamo-sosp2007.pdf)
- Cassandra 架构 (https://docs.datastax.com/en/archived/cassandra/3.0/cassandra/architecture/archIntro.html)
- Google BigTable 架构 (https://static.googleusercontent.com/media/research.google.com/en//archive/bigtable-osdi06.pdf)
- Amazon Dynamo DB 内部机制 (https://www.allthingsdistributed.com/2007/10/amazons_dynamo.html)
- Amazon Dynamo DB 中的设计模式 (https://www.youtube.com/watch?v=HaEPXoXVf2k)
- Amazon Dynamo DB 内部机制 (https://www.youtube.com/watch?v=yvBR71D0nAQ)
唯一 ID 生成器
- 票据服务器:廉价分布式的唯一主键 (https://code.flickr.net/2010/02/08/ticket-servers-distributed-unique-primary-keys-on-the-cheap)
- Snowflake (https://blog.twitter.com/engineering/en_us/a/2010/announcing-snowflake.html)
网页爬虫
- 网页抓取 (http://infolab.stanford.edu/~olston/publications/crawling_survey.pdf)
- Google 动态渲染 (https://developers.google.com/search/docs/guides/dynamic-rendering)
聊天系统
- Discord 如何存储数十亿条消息 (https://discord.com/blog/how-discord-stores-billions-of-messages)
- Flannel:一个应用层边缘缓存,使 Slack 能够扩展 (https://slack.engineering/flannel-an-application-level-edge-cache-to-make-slack-scale/)
搜索自动补全
- 我们如何构建 Prefixy (https://medium.com/@prefixyteam/how-we-built-prefixy-a-scalable-prefix-search-service-for-powering-autocomplete-c20f98e2eff1)
- 前缀哈希树 (https://people.eecs.berkeley.edu/~sylvia/papers/pht.pdf)
YouTube
- YouTube 架构 (http://highscalability.com/youtube-architecture)
- YouTube 可扩展性 2012 (https://www.youtube.com/watch?v=w5WVu624fY8)
- 大规模视频转码 (https://www.egnyte.com/blog/2018/12/transcoding-how-we-serve-videos-at-scale/)
- Facebook 视频直播 (https://engineering.fb.com/ios/under-the-hood-broadcasting-live-video-to-millions/)
- Netflix 大规模视频编码 (https://netflixtechblog.com/high-quality-video-encoding-at-scale-d159db052746)
- Netflix 基于镜头的编码 (https://netflixtechblog.com/optimized-shot-based-encodes-now-streaming-4b9464204830)
Google Drive
- 差异同步 (https://neil.fraser.name/writing/sync/)
- 差异同步视频 (https://www.youtube.com/watch?v=S2Hp_1jqpY8)
- 我们如何扩展 Dropbox (https://www.youtube.com/watch?v=PE4gwstWhmc&feature=youtu.be)
相似文章
@heynavtoor: 亚历克斯·徐的《系统设计面试》是技术招聘中最受推荐的书。第1卷:亚马逊上39.99美元。第2卷:4……
一位AWS工程师创建了免费的、结构化的笔记,总结了亚历克斯·徐的《系统设计面试》两卷的内容,可在GitHub和Pagefy.io网站上获取。
@system_monarch: https://x.com/system_monarch/status/2057714149451497544
一份全面的系统设计模式速查表,涵盖12种模式,适用于技术面试,包括每种模式的信号、构建块和深入探讨,基于对顶尖科技公司200多次面试的经验总结。
@Franc0Fernand0:如果我要从零开始学习系统设计基础,我会读这16篇精选文章(链接如下)……
一份包含16篇文章的精选清单,推荐给从零开始学习系统设计基础的读者。
@LearnWithBrij: 系统设计大师 系统设计大师树 │ ├── 1. 基础 │ ├── 什么是系统设计 │ ├── 功能需求…
一个全面的系统设计大师树,涵盖从基础知识到实际应用的各个方面,包括架构模式、数据库、缓存、消息系统、API设计和部署策略。旨在作为软件工程师的结构化学习指南。
@tom_doerr: 300+ 篇解决大规模实际问题的工程文章 https://github.com/ashishps1/awesome-engineering-article…
一个精选的 GitHub 仓库,列出了来自主要科技公司的 300 多篇工程文章,涵盖人工智能、数据工程和系统可扩展性等领域。