1. Functional
1.1. Databases
1.1.1. SQL (Relationals)
1.1.2. No-SQL
1.1.3. In-Memory DB
1.1.4. Sharding
1.1.5. Replication
1.2. Microservices vs Monoliths
1.3. API Design
1.4. Data Partioning
1.4.1. Consistent Hashing
1.5. Caching
1.5.1. Caching strategies
1.5.2. Famous caching tools like Redis and Memcached
1.6. Rate Limiting
1.6.1. Throttling users and services
1.6.2. Preventing DDOS attacks
1.7. Message Queue
1.7.1. Message brokers such as Kafka and RabbitMQ for async processing
1.8. Monitoring and Logging
1.8.1. System Health
1.8.2. Metrics
1.8.3. Alterting
1.9. Security
1.9.1. OAuth
1.9.2. Encryption
1.10. Connecting Protocols
1.10.1. TCP
1.10.2. UDP
1.10.3. HTTPS
1.10.4. Websockets
2. Questions Asked
2.1. User facing Products
2.1.1. Social Media Platforms
2.1.1.1. Twitter / Facebook/ Instagram
2.1.1.2. Posting update
2.1.1.3. Following users
2.1.1.4. Timeline generation
2.1.2. URL Shortener
2.1.2.1. Bitly
2.1.2.2. Generating short URLs
2.1.2.3. Handling Redirects
2.1.2.4. Analytics
2.1.3. Video Streaming Service
2.1.3.1. Netflix / PrimeVideo /HotStar
2.1.3.2. Video Uploads
2.1.3.3. Video Views
2.1.3.4. Live-Streaming
2.1.3.5. Recommendation Engine
2.1.4. E-Commerce Website
2.1.4.1. Amazon / Flipkart
2.1.4.2. Product Search
2.1.4.3. User Authentication
2.1.4.4. Online Payment Processing
2.1.4.5. Flash Sale
2.1.5. Design Web Crawler
2.1.5.1. URL Queue Management
2.1.5.2. HTML parsing
2.1.5.3. Data Storage
2.1.6. Design Search Engine
2.1.6.1. Crawling
2.1.6.2. Indexing
2.1.6.3. Query seaving
2.1.7. Chat Applications
2.1.7.1. Whatsapp / Facebook Messenger
2.1.7.2. Real-Time messaging
2.1.7.3. Online indicators
2.1.7.4. Group Chats
2.1.8. Ride-Sharing service
2.1.8.1. OLA / Uber
2.1.8.2. Ride Matching
2.1.8.3. Tracking
2.1.8.4. Fail Estimation
2.1.9. Gaming Platforms
2.1.9.1. Handling multiple players
2.1.9.2. Real-time updates
2.1.9.3. Game state management
2.1.10. Email Services
2.1.10.1. Sending mails
2.1.10.2. Receiving mails
2.1.10.3. Storage of mails
2.1.10.4. Searching mails
2.1.11. Reservation and Booking Services
2.1.11.1. Reliability / Bookmyshow
2.2. Technical Products
2.2.1. Distributed File Storage Service
2.2.1.1. S3
2.2.1.2. Data Sharding
2.2.1.3. Replication
2.2.1.4. Fault tolerance
2.2.2. Rate Limiter
2.2.3. Job Scheduler
2.2.3.1. Prioritize and distributed jobs to worker
2.2.4. Real-time Analytics Dashboards
2.2.4.1. Collection of data
2.2.4.2. Processing of data
2.2.4.3. Visualization of data
2.2.5. Logging service
2.2.5.1. High Throughtput
2.2.5.2. Low Latency
2.2.5.3. Easily Searchable
3. Non-Functional
3.1. Scalability
3.2. Consistency vs Availability
3.2.1. CAP Theorem
3.3. Concurrency
3.3.1. Concurrent processing
3.3.2. Multithreading
3.3.3. Synchronization
3.4. Reliability
3.4.1. Data Replication
3.4.2. Single points of failures
3.4.3. System Failover