System Design
System Design Topics
Web & Protocols
- HTTP Evolution (1.0 -> 1.1 -> 2.0 -> HTTP 3.0/QUIC)
- HTTPS Implementation
- API Architectures (SOAP vs REST vs GraphQL vs RPC)
- Modern Browser Architecture
- Browser Request Flow
- DNS Lookup Process
Security & Authentication
- Password Storage Best Practices
- Single Sign-On (SSO)
- Secure API Design
- Payment Security Systems
Database & Storage
- Database Isolation Levels
- Database Selection Guide
- Redis vs Memcached Comparison
- Storage Types (Block vs File vs Object)
- Data Partitioning Strategies
- Read Replica Pattern
System Design Case Studies
- Twitter Architecture
- Google Docs Design
- Gmail System Design
- Google Maps Architecture
- Payment System Design
- Flash Sale System Design
- Stock Exchange Architecture
- Kafka Performance Analysis
- Redis Performance Deep-dive
- Low-latency Exchange Systems
- Caching:
- Cache Strategy Patterns
- Cache Miss Attack Prevention
- Content Delivery Networks (CDN)
Cloud & Infrastructure
- Cloud Service Models (IaaS/PaaS/SaaS)
- AWS Lambda Internals
- Cloud Provider Selection for Big Data
- Virtualization vs Containerization
Architecture & Patterns
- Design Pattern Implementation
- Microservices Communication
- Push vs Pull Architecture
- Message Delivery Guarantees
- Optimistic Locking Implementation
Operations & Monitoring
- Deployment Strategy Patterns
- Outage Management
- Amazon’s Engineering Practices
- Process Diagnostics
- Metrics Monitoring Systems
Specialized Systems
Payment Systems
- SWIFT Network Architecture
- Money Movement Systems
- Double-charge Prevention
- Foreign Exchange Integration
Location Services
- Proximity Search Systems
- Map Rendering Techniques
- Quadtree Implementation
Data Processing
- Big Data Architecture
- Data Evolution Patterns
- Large File Upload Systems
- Web Crawler Deduplication
Core Concepts
- Process vs Thread
- System Estimation Techniques
- Latency vs Consistency Tradeoffs
- Distributed ID Generation