Skip to content

深入理解系统设计面试

原书:Grokking-the-system-design-interview

目录

系统设计问题 (System Design Problems)

  • 系统设计面试:循序渐进指南 (System Design Interviews: A step by step guide)
  • 设计 URL 缩短服务,例如 TinyURL (Designing a URL Shortening service like TinyURL)
  • 设计 Pastebin (Designing Pastebin)
  • 设计 Instagram (Designing Instagram)
  • 设计 Dropbox (Designing Dropbox)
  • 设计 Facebook Messenger (Designing Facebook Messenger)
  • 设计 Twitter (Designing Twitter)
  • 设计 YouTube 或 Netflix (Designing Youtube or Netflix)
  • 设计自动完成建议 (Designing Typeahead Suggestion)
  • 设计 API 速率限制器 (Designing an API Rate Limiter)
  • 设计 Twitter 搜索 (Designing Twitter Search)
  • 设计网络爬虫 (Designing a Web Crawler)
  • 设计 Facebook 的新闻订阅 (Designing Facebook’s Newsfeed)
  • 设计 Yelp 或附近的朋友 (Designing Yelp or Nearby Friends)
  • 设计 Uber 后端 (Designing Uber backend)
  • 设计 Ticketmaster (Design Design Ticketmaster)
  • 其他资源 (Additional Resources)

系统设计基础 (System Design Basics)

  • 分布式系统的关键特性 (Key Characteristics of Distributed Systems)
  • 负载均衡 (Load Balancing)
  • 缓存 (Caching)
  • 分片或数据分区 (Sharding or Data Partitioning)
  • 索引 (Indexes)
  • 代理 (Proxies)
  • 冗余与复制 (Redundancy and Replication)
  • SQL 与 NoSQL (SQL vs. NoSQL)
  • CAP 定理 (CAP Theorem)
  • 一致性哈希 (Consistent Hashing)
  • 长轮询 vs WebSockets vs 服务器发送事件 (Long-Polling vs WebSockets vs Server-Sent Events)