System Design
Fundamentals
- Scalability (Horizontal vs Vertical)
- CAP Theorem
- Consistency Patterns
- Availability Patterns
- Load Balancing
- Caching Strategies
- Content Delivery Networks
- DNS & Domain Resolution
Data Layer
Communication
- REST vs gRPC vs GraphQL
- Message Queues (Kafka, RabbitMQ)
- WebSockets & Real-Time Communication
- API Gateway Pattern
Infrastructure
- Microservices Architecture
- Rate Limiting
- Circuit Breaker Pattern
- Observability (Logs, Metrics, Traces)
- Containers & Orchestration
Interview deep-dives
- Back-of-envelope numbers: the constants, the four calculations, the thresholds that turn a number into a decision, and worked chargeback, PIX and authorisation prompts
- Nubank lead system design study notes — Nubank’s prep document decoded (numbers, v1 → v2 → v3, degradation, security, six-day plan), the Hello Interview method they recommend mapped onto the hour, chargebacks, chargeback mock interview, ledger, and pivot prompts (authoriser, credit limit, fraud, PIX, ride-hailing, ad clicks)
Classic Design Problems
- Design: URL Shortener
- Design: Rate Limiter
- Design: Chat System
- Design: News Feed
- Design: Notification System
- Design: Distributed Cache
- Design: Search Autocomplete
Framework
System Design Interview Framework
- Clarify requirements (functional + non-functional)
- Back-of-envelope estimation (QPS, storage, bandwidth): see Back-of-Envelope Numbers
- High-level design (API + data model + architecture diagram)
- Deep dive (pick 2-3 components to detail)
- Bottlenecks & trade-offs (what breaks at 10x scale?)