System Design

Topics to be covered: High-Level System Design

  1. Introduction to System Design
  2. Components of System Design
  3. Client-Side Architecture
  4. Proxies
  5. Data & Data Flow
  6. Database Types: SQL | NoSQL | Column | Search | Key Value
  7. Anatomy of Applications and Services
  8. API (Application Programming Interface)
  9. Caching | Cache patterns | Cache Invalidations & Eviction
  10. What is Rest API? | CRUD APIs | REST vs HTTP
  11. Message Queues | Producer consumer Model
  12. Pub-Sub Messaging | Publisher Subscriber
  13. Performance Metrics
  14. Fault & Failure in distributed System
  15. Scaling in nutshell | Horizontal vs Vertical Scaling
  16. Database Replication | Synchronous vs Asynchronous
  17. CAP | Consistency, Availablity, and Partitioning
  18. What is CAP Theorem? Degrees of CAP Theorem | Use cases
  19. What is Database sharding? Logical and Physical Shards
  20. Key-based Sharding | Shard Key | Hash function | Advantages and disadvantages
  21. Range-based sharding | Advantages, and disadvantages | Hotspots | Use Cases
  22. Directory-based sharding
  23. A simple introduction to the basics of hashing & need for Consistent Hashing
  24. Basics of consistent hashing in plain English
  25. Foundation of System Design Interview starting with Functional vs Non Functional Requirements
  26. How to solve capacity estimation problems faster? | Thumb rules and quick tips

HLD (High-Level system Design) Interview important Topic

  1. Websockets
  2. Polling (Short polling, long polling)
  3. Polling vs web sockets
  4. Server-Side Events (SSE)
  5. HTTPs, HTTP (Get put post delete)
  6. REST vs GraphQL
  7. Message Queues (pub-sub pattern)
  8. Proxy( Forward / Reverse proxy)
  9. Load Balancing (Reverse proxies)
  10. Horizontal scaling and vertical scaling
  11. Latency and throughput
  12. CAP Theorem
  13. Consistent hashing
  14. NoSQL / SQL (ACID)
  15. Storage (BLOB, Graph-based storage)
  16. Indexing
  17. Replication and sharding
  18. Caching (hit/ miss | LRU | LFU)
  19. Resiliency, Availability, Replication
  20. Paging & filtering
  21. Rate limiting
  22. Logging & Monitoring


Leave a Reply

Your email address will not be published.