- 책: 가상 면접 사례로 배우는 대규모 시스템 설계 기초 - 알렉스 쉬
- 학습 진행 범위: 주 40~50 page
- 기간: 2025.01.23 ~ 2025.03.06 (목)
- 시간 및 장소: 매주 목요일 오후 9 ~ 11시 (2시간, 온라인)
챕터 | 정리 자료 | 질문 |
---|---|---|
1장. 사용자 수에 따른 규모 확장성 | 강민우 / 추호성 | 강민우 / 추호성 |
2장. 개략적인 규모 추정 | 강민우 / 추호성 | 강민우 / 추호성 |
3장. 시스템 설계 면접 공략법 | 강민우 / 추호성 | 강민우 / 추호성 |
4장. 처리율 제한 장치의 설계 | 강민우 / 추호성 | 강민우 / 추호성 |
5장. 안정 해시 설계 | 강민우 / 추호성 | 강민우 / 추호성 |
6장. 키-값 저장소 설계 | 강민우 / 추호성 | 강민우 |
7장. 분산 시스템을 위한 유일 ID 생성기 설계 | 강민우 / 추호성 | 강민우 |
8장. URL 단축기 설계 | 강민우 / 추호성 | 강민우 |
9장. 웹 크롤러 설계 | 강민우 / 추호성 | 강민우 / 추호성 |
10장. 알림 시스템 설계 | 강민우 / 추호성 | 강민우 / 추호성 |
11장. 뉴스 피드 시스템 설계 | 강민우 / 추호성 | 강민우 / 추호성 |
12장. 채팅 시스템 설계 | 강민우 | 강민우 |
13장. 검색어 자동완성 시스템 | 강민우 / 추호성 | 추호성 |
14장. 유튜브 설계 | 강민우 / 추호성 | |
15장. 구글 드라이브 설계 | 강민우 / 추호성 | 추호성 |
- 1장: 사용자 수에 따른 규모 확장성
- 2장: 개략적인 규모 추정
- 3장: 시스템 설계 면접 공략법
- 4장: 처리율 제한 장치의 설계
- 5장: 안정 해시 설계
- 6장: 키-값 저장소 설계
- 7장: 분산 시스템을 위한 유일 ID 생성기 설계
- 8장: URL 단축기 설계
- 9장: 웹 크롤러 설계
- 10장: 알림 시스템 설계
- 11장: 뉴스 피드 시스템 설계
- 12장: 채팅 시스템 설계
- 13장 : 검색어 자동완성 시스템 - 23p
- 15장 : 구글 드라이브 설계 - 22p
- 14장 : 유튜브 설계 - 30p
- 16장 : 배움은 계속된다 - 7p
- 강민우 (Back-end)
- 추호성 (Back-end)
- 각자 미리 정해둔 챕터 읽고 Github에 요약 → 리딩할 때 사용
- 챕터마다 질문 만들기 (github 이슈로 질문 작성)
- 최대한 본인이 질문에 대한 답변 달아오기 (명확한 정답이 없을 확률이 높아 어떤 방식이 더 좋을지 토론)
- 주마다 한 명이 리딩하고, 해당 챕터에 대해서 공유 & 토론
- 챕터마다 질문 뽑아서 토론 & 결론 정리
- 읽으면서 인상깊었던 점, 중요하게 생각했던 것들 공유
- 공부하면서 찾아봤던 추가적인 자료 공유
Chapter 1: Scale From Zero to Millions of Users
- Hypertext Transfer Protocol
- Should you go Beyond Relational Databases?
- Replication
- Multi-master replication
- NDB Cluster Replication
- Caching Strategies
- Scaling Memcache at Facebook
- Single point of failure
- Amazon CloudFront
- Sticky Sessions
- Active-Active for Multi-Regional Resiliency
- EC2 High Memory Instances
- Running Stack Overflow
- NoSQL Use Cases
Chapter 2: Back-of-the-Envelope Estimation
Chapter 3: A Framework for System Design Interviews
(외부 레퍼런스 없음)
Chapter 4: Design a Rate Limiter
- Rate-limiting strategies
- Twitter Rate limits
- Google Docs limits
- IBM Microservices
- AWS API Gateway throttling
- Stripe rate limiters
- Shopify API limits
- Redis Rate Limiting
- Rate limiter design
- Cloudflare rate limiting
- Redis
- Lyft rate limiting
- Rate limiters design
- Edge computing
- Iptables Rate Limiting
- OSI model
Chapter 5: Design Consistent Hashing
Chapter 6: Design a Key-Value Store
Chapter 7: Design a Unique ID Generator
Chapter 8: Design a URL Shortener
Chapter 9: Design a Web Crawler
Chapter 10: Design a Notification System
Chapter 11: Design a News Feed System
Chapter 12: Design a Chat System
Chapter 13: Design a Search Autocomplete System
Chapter 14: Design YouTube
- YouTube Statistics
- Demographics
- CloudFront Pricing
- Netflix on AWS
- Akamai
- BLOB
- Streaming Protocols
- Facebook Video Processing
- Weibo Video Architecture
- Shared Access Signatures
- Seattle Conference on Scalability: YouTube Scalability
- Understanding the Characteristics of Internet Short Video Sharing: YouTube as a Case Study
- Content Popularity for Open Connect
Chapter 15: Design Google Drive
Chapter 16: The Learning Continues
Real-world systems
- Facebook Timeline: Brought to You by the Power of Denormalization
- Scale at Facebook
- Building Timeline: Scaling up to hold your life story
- Erlang at Facebook
- Finding a needle in Haystack: Facebook’s photo storage
- Serving Facebook Multifeed: Efficiency, performance gains through redesign
- Scaling Memcache at Facebook
- TAO: Facebook's Distributed Data Store for the Social Graph
- Amazon Architecture
- Dynamo: Amazon’s Highly Available Key-value Store
- A 360 Degree View of the Entire Netflix Stack
- It’s All A/Bout Testing: The Netflix Experimentation Platform
- Netflix Recommendations: Beyond the 5 stars (Part 1)
- Netflix Recommendations: Beyond the 5 stars (Part 2)
- Google Architecture
- Google File System
- Differential Synchronization
- YouTube Architecture
- Seattle Conference on Scalability: YouTube Scalability
- Bigtable: A Distributed Storage System for Structured Data
- Instagram Architecture: 14 Million users, Terabytes of Photos, 100s of Instances, Dozens of Technologies
- The Architecture Twitter Uses to Deal with 150M Active Users, 300K QPS, a 22 MB/S Firehose, and Send Tweets in Under 5 Seconds
- Scaling Twitter: Making Twitter 10000 Percent Faster
- Announcing Snowflake
- Timelines at Scale
- How Uber Scales Their Real-time Market Platform
- Scaling Pinterest - From 0 to 10s of Billions of Page Views a Month in Two Years
- Pinterest Architecture Update - 18 Million Visitors, 10x Growth,12 Employees, 410 TB of Data
- A Brief History of Scaling LinkedIn
- Flickr Architecture
- How We've Scaled Dropbox
- The WhatsApp Architecture Facebook Bought For $19 Billion
Company engineering blogs
- Airbnb
- Amazon
- Asana
- Atlassian
- BitTorrent
- Cloudera
- Docker
- Dropbox
- eBay
- GitHub
- Groupon
- HighScalability
- Instacart
- Mixpanel
- Netflix
- Nextdoor
- PayPal
- Quora
- Salesforce
- Shopify
- Slack
- Soundcloud
- Spotify
- Stripe
- System Design Primer
- Thumbtack
- Uber
- Yahoo
- Yelp
- Zoom