System Design MCQ
Test your System Design knowledge with 100 multiple choice questions covering fundamentals to advanced concepts, with instant feedback and explanations.
What is the primary goal of system design in software engineering?
2What is the difference between "functional" and "non-functional" requirements?
3What does "scalability" mean for a system?
4What is the difference between "vertical scaling" and "horizontal scaling"?
5What is a "load balancer" used for?
6What is "caching" in system design?
7What is a "database index" used for?
8What is the difference between a SQL (relational) database and a NoSQL database?
9What is an "API" in the context of system design?
10What does "latency" mean in the context of system performance?
11What does "throughput" measure in a system?
12What is the purpose of a CDN (Content Delivery Network)?
13What does "availability" mean for a system?
14What is meant by a "single point of failure" (SPOF)?
15What is "redundancy" in system design?
16What is the role of a reverse proxy (e.g., Nginx) in a web architecture?
17What is "replication" in the context of databases?
18What is the difference between "synchronous" and "asynchronous" communication between services?
19What is a "message queue" (e.g., RabbitMQ, SQS) used for?
20What does "fault tolerance" mean for a system?
21What is the purpose of a "health check" endpoint in a microservice?
22What is a "monolithic" application architecture?
23What is a "microservices" architecture?
24Why might a system use "rate limiting"?
25What is "DNS" (Domain Name System) responsible for?
26What is the difference between "HTTP" and "HTTPS"?
27What is "data partitioning" (sharding) in a database?
28What is the purpose of a "queue" in a producer-consumer system?
29What does it mean for an API to be "stateless"?
30What is "vertical partitioning" of a database table?
31What is the purpose of "logging" in a production system?
32What is "monitoring" in the context of running systems in production?
33What is an "SLA" (Service Level Agreement)?
34What is the role of an "object storage" service (e.g., Amazon S3) in system design?
35What is the difference between "read-heavy" and "write-heavy" systems, and why does it matter for design?
36What is "polling" as a communication technique between a client and server?
37What is a "WebSocket" used for?
38What is the purpose of a "rate of growth" estimation (capacity planning) in system design interviews?
39What is the purpose of "load testing" a system before launch?
40What is the difference between a "session" and a "token" (e.g., JWT) for authentication?
What is the CAP theorem, and what trade-off does it describe for distributed systems?
2What is the difference between "strong consistency" and "eventual consistency"?
3What is "database sharding" and what is a common challenge it introduces?
4What is the difference between "read replicas" and "sharding"?
5What is a "cache eviction policy", and what does "LRU" stand for?
6What is "cache invalidation" and why is it considered a hard problem?
7What is the difference between "write-through" and "write-back" (write-behind) caching strategies?
8What is the purpose of a "message broker" like Kafka or RabbitMQ in a microservices architecture?
9What is "idempotency" in the context of API design, and why is it important for retries?
10What is the difference between "horizontal" and "vertical" partitioning, and which generally scales better for very large systems?
11What is the purpose of "consistent hashing" in distributed systems?
12What is the role of an "API Gateway" in a microservices architecture?
13What is "service discovery" and why is it needed in a dynamic microservices environment?
14What is the "circuit breaker" pattern used for in distributed systems?
15What is the purpose of "rate limiting" algorithms like the "token bucket" or "leaky bucket"?
16What is the difference between "pessimistic locking" and "optimistic locking" in databases?
17What is a "leader-follower" (master-slave) replication model in databases?
18What is "multi-leader" (multi-master) replication, and what challenge does it introduce?
19What is the purpose of "database connection pooling"?
20What is "blue-green deployment"?
21What is a "canary release"?
22What is the role of a "bloom filter" in system design, and what is its key limitation?
23What is the purpose of "database denormalization" in high-read systems, and what trade-off does it introduce?
24What is "horizontal scaling" of stateless services typically paired with, to distribute incoming requests?
25What is "event-driven architecture"?
26What is the purpose of "database normalization" versus "denormalization" trade-off in system design?
27What is the difference between "vertical" and "horizontal" autoscaling in cloud environments?
28What is a "thundering herd" problem, and how can it be mitigated?
29What is the purpose of "database transactions" with ACID properties?
30What is the difference between "horizontal sharding by range" and "sharding by hash"?
31What is the purpose of a "dead letter queue" (DLQ) in a messaging system?
32What is "graceful degradation" in system design?
33What is the difference between "push" and "pull" models for delivering updates (e.g., notifications)?
34What is the purpose of "feature flags" (feature toggles) in system design and deployment?
35What is a "hot partition" (hot key) problem in a sharded or partitioned system?
36What is the purpose of "data sharding by tenant" in a multi-tenant SaaS application?
37What is the difference between "synchronous replication" and "asynchronous replication" for databases?
38Why might a system use "pagination" or "cursor-based pagination" for large result sets, and what advantage does cursor-based pagination have over offset-based?
39What is the purpose of "request tracing" (distributed tracing) in a microservices system?
40What is the trade-off of using a "single shared database" versus "database per service" in a microservices architecture?
When designing a globally distributed system requiring strong consistency for certain operations, what is a common architectural approach?
2In designing a URL shortener (like bit.ly) at scale, what is a key consideration for generating unique short codes across distributed servers?
3When designing a news feed system (like Twitter/Facebook) for users with millions of followers, what is the trade-off between "fan-out on write" and "fan-out on read"?
4In a distributed system using the Raft consensus algorithm, what happens if the current leader becomes unreachable?
5When designing a rate limiter for a distributed API gateway with multiple instances, why is a centralized store like Redis often used instead of in-memory counters on each instance?
6What is "write amplification" in the context of LSM-tree-based storage engines (e.g., used in Cassandra, RocksDB)?
7In designing a globally distributed key-value store, what does "quorum-based" reads and writes (e.g., R + W > N) achieve?
8When designing a notification system that must guarantee "at-least-once" delivery, what complexity does this push onto downstream consumers?
9In a large-scale search system, what is the purpose of an "inverted index", and why is it central to search performance?
10What design challenge does "clock skew" introduce in distributed systems, and how do logical clocks (e.g., Lamport timestamps) help?
11When designing a system for processing financial transactions that must never lose data, what role does a "write-ahead log" (WAL) play?
12In designing a chat application supporting millions of concurrent users, why might "sticky sessions" with WebSocket connections create challenges for horizontal scaling?
13What is the significance of "idempotency keys" when designing a payment processing API?
14When designing a globally distributed file storage system (like Google Drive or Dropbox), what is a key challenge in handling concurrent edits to the same file from multiple devices?
15What is the purpose of "backpressure" mechanisms in a streaming data pipeline, and what can happen if they are absent?
16In a microservices architecture, what is the "saga pattern" used for, and how does it differ from a traditional distributed transaction?
17When scaling a relational database vertically reaches its limits, and sharding introduces too much complexity for a team, what is a common intermediate strategy?
18What is the role of "vector clocks" in detecting conflicting concurrent updates in a distributed system?
19When designing a system to handle "hot spots" in a sharded database where one shard receives disproportionate traffic, what is an effective mitigation beyond simply re-sharding?
20In a system using event sourcing, what is the trade-off of storing every state change as an immutable event rather than just the current state?