Home/Interview Prep/System Design

System Design Interview Questions

Scaling, CAP theorem, caching, sharding, Saga, CQRS, rate limiting, HA, and real-world design problems.

ScalingCAPCachingDistributed PatternsDesign ProblemsAria-powered explanations
0 / 100 answered
0%
9 Easy46 Medium45 Hard

Showing 120 of 100

#1What is the difference between horizontal and vertical scaling?

Easy
Fundamentals

#2Explain the CAP theorem.

Medium
Fundamentals

#3What is consistent hashing and why is it used?

Hard
Distributed Systems

#4What is database sharding and how does it work?

Hard
Database Design

#5Explain cache invalidation strategies.

Medium
Caching

#6How would you design a URL shortener (like bit.ly)?

Medium
System Design Problems

#7What is the Saga pattern in microservices?

Hard
Microservices Patterns

#8What is CQRS and when should you use it?

Hard
Microservices Patterns

#9What are rate limiting algorithms?

Hard
Distributed Systems

#10What is the Circuit Breaker pattern?

Medium
Microservices Patterns

#11How do you design for high availability?

Hard
Reliability

#12What is eventual consistency?

Medium
Distributed Systems

#13What is a message queue and when should you use one?

Medium
Fundamentals

#14What is the difference between SQL and NoSQL databases?

Medium
Database Design

#15What is a CDN and how does it improve performance?

Easy
Performance

#16How do you handle distributed transactions without 2PC?

Hard
Distributed Systems

#17How would you design a notification system (push, email, SMS)?

Medium
System Design Problems

#18What is the difference between REST and gRPC?

Medium
Fundamentals

#19What is the Outbox Pattern?

Hard
Microservices Patterns

#20How do you design a distributed cache layer?

Hard
Caching

Showing 120 of 100

Ask Aria about System Design

Sign in to chat with Aria

All 100 System Design questions at a glance
  1. What is the difference between horizontal and vertical scaling?(Easy)
  2. Explain the CAP theorem.(Medium)
  3. What is consistent hashing and why is it used?(Hard)
  4. What is database sharding and how does it work?(Hard)
  5. Explain cache invalidation strategies.(Medium)
  6. How would you design a URL shortener (like bit.ly)?(Medium)
  7. What is the Saga pattern in microservices?(Hard)
  8. What is CQRS and when should you use it?(Hard)
  9. What are rate limiting algorithms?(Hard)
  10. What is the Circuit Breaker pattern?(Medium)
  11. How do you design for high availability?(Hard)
  12. What is eventual consistency?(Medium)
  13. What is a message queue and when should you use one?(Medium)
  14. What is the difference between SQL and NoSQL databases?(Medium)
  15. What is a CDN and how does it improve performance?(Easy)
  16. How do you handle distributed transactions without 2PC?(Hard)
  17. How would you design a notification system (push, email, SMS)?(Medium)
  18. What is the difference between REST and gRPC?(Medium)
  19. What is the Outbox Pattern?(Hard)
  20. How do you design a distributed cache layer?(Hard)
  21. What is the difference between synchronous and asynchronous communication in microservices?(Medium)
  22. How do you design a notification system that sends 100M notifications per day?(Hard)
  23. What are the different types of database indexes and when do you use each?(Medium)
  24. How would you design a URL shortener like bit.ly?(Hard)
  25. What is eventual consistency and how do you handle it in practice?(Hard)
  26. How do you design a search system at scale?(Hard)
  27. What is the difference between optimistic and pessimistic locking?(Medium)
  28. How would you design a real-time leaderboard?(Medium)
  29. What is a write-ahead log (WAL) and how is it used?(Hard)
  30. How do you handle distributed transactions across microservices?(Hard)
  31. How do you design a chat application like WhatsApp?(Hard)
  32. What is a service mesh and when should you use one?(Hard)
  33. How would you design a video streaming platform like YouTube?(Hard)
  34. What is the difference between a load balancer and an API gateway?(Medium)
  35. How do you prevent and handle cascading failures in distributed systems?(Hard)
  36. What is the difference between a message queue and a message broker?(Medium)
  37. How do you design a rate limiter for an API?(Hard)
  38. What is the difference between replication and partitioning in databases?(Medium)
  39. How would you design Twitter's news feed?(Hard)
  40. What is observability and what are its three pillars?(Medium)
  41. What is the difference between SQL and NoSQL databases?(Easy)
  42. How do you implement idempotency in APIs?(Medium)
  43. How would you design a distributed job scheduler?(Hard)
  44. What is the Saga pattern vs 2PC for distributed transactions?(Hard)
  45. How do you design a file storage system like Dropbox?(Hard)
  46. What are the trade-offs of microservices vs monolithic architecture?(Medium)
  47. How does DNS work and how is it used in load balancing?(Medium)
  48. What is the strangler fig pattern?(Medium)
  49. How do you design an e-commerce inventory system that handles flash sales?(Hard)
  50. What is the difference between push and pull architectures for data?(Medium)
  51. What is a CDN and how does it work?(Easy)
  52. How do you design a fraud detection system?(Hard)
  53. What is event sourcing and how does it differ from CRUD?(Hard)
  54. How would you design a geospatial service like Uber's nearby driver system?(Hard)
  55. What is API versioning and what are the different strategies?(Medium)
  56. What is a Bloom filter and where is it used in system design?(Hard)
  57. How do you implement zero-downtime deployments?(Medium)
  58. What is the two-generals problem and what does it tell us about distributed systems?(Hard)
  59. How do you design a payment processing system?(Hard)
  60. What are the key principles of the SOLID design principles?(Easy)
  61. How would you design an autocomplete system?(Hard)
  62. What is backpressure and how do you handle it?(Medium)
  63. What is a time-series database and when should you use one?(Medium)
  64. What is a circuit breaker and how do you implement it?(Medium)
  65. How do you handle database migrations safely in production?(Medium)
  66. What is the CQRS pattern?(Hard)
  67. How do you secure an API at the architecture level?(Medium)
  68. What is the difference between synchronous replication and asynchronous replication?(Medium)
  69. How do you design a system for billions of events per day (analytics pipeline)?(Hard)
  70. What is chaos engineering and how do you implement it?(Medium)
  71. What is the database connection pool and how do you tune it?(Medium)
  72. How do you design an access control system?(Medium)
  73. How would you design an online code execution system like LeetCode?(Hard)
  74. What are SLOs, SLIs, and SLAs?(Easy)
  75. How does the request flow work in a typical microservices architecture?(Medium)
  76. What is a hot partition problem and how do you solve it?(Hard)
  77. How do you design a multi-tenant SaaS architecture?(Hard)
  78. What is tail latency and why does it matter?(Hard)
  79. What is the difference between availability and reliability?(Easy)
  80. How do you design a global, low-latency key-value store?(Hard)
  81. What is the N+1 query problem and how do you fix it?(Medium)
  82. How would you design a booking system like Airbnb?(Hard)
  83. What is the difference between a forward proxy and a reverse proxy?(Easy)
  84. What is the difference between stateful and stateless services?(Easy)
  85. How do you design a recommendation system?(Hard)
  86. What is the read-your-own-writes consistency guarantee?(Medium)
  87. How do you design a search-as-you-type / typeahead feature?(Medium)
  88. What is the difference between gRPC unary, server streaming, client streaming, and bidirectional streaming?(Medium)
  89. How do you handle large file uploads efficiently?(Medium)
  90. What are the key considerations when designing for high write throughput?(Hard)
  91. What is the difference between monolithic and microservices deployment strategies?(Medium)
  92. How do you design for disaster recovery?(Hard)
  93. What is the thundering herd problem?(Medium)
  94. What is a vector clock and how does it work?(Hard)
  95. What is the difference between a monorepo and polyrepo?(Medium)
  96. How do you ensure data consistency across microservices?(Hard)
  97. What is the difference between a batch job and a stream processing job?(Medium)
  98. How do you design an API for mobile clients vs web clients?(Medium)
  99. What is the role of a message broker in event-driven architecture?(Medium)
  100. How do you approach capacity planning for a new system?(Medium)