Flashcards · System Design · Free
System Design flashcards, generated for you.
Example System Design study cards to learn from right now — then generate a full set from your own notes (plus a practice quiz) and export to Quizlet or Anki. Free, no account needed.
Example System Design flashcards
What is scalability in system design?
The ability of a system to handle increased load (users, data, requests) by adding resources. Measured by how performance changes as scale increases.
Define horizontal vs. vertical scaling with an example.
Horizontal: Add more machines (e.g., add servers to a load-balanced cluster). Vertical: Increase capacity of existing machine (e.g., more CPU/RAM). Horizontal scales better but adds complexity; vertical has limits.
What is the CAP theorem and why does it matter?
A distributed system can guarantee at most 2 of 3: Consistency (all nodes see same data), Availability (system always responds), Partition tolerance (survives network splits). Real systems must choose: CP (strong consistency) or AP (eventual consistency).
Explain the trade-off between consistency and availability.
Consistency: Stricter but slower (all replicas must agree before responding). Availability: Faster but risks stale reads (serve locally, sync later). Choose based on domain: banking needs consistency; social feeds tolerate eventual consistency.
What is latency vs. throughput?
Latency: Time for single request to complete (ms). Throughput: Requests completed per unit time (req/sec). Low latency matters for user experience; high throughput matters for total capacity. Both matter, but priorities differ per use case.
What is the difference between caching and replication?
Caching: Stores copies of data for faster access; data loss acceptable (data-of-record elsewhere). Replication: Maintains redundant copies for fault tolerance; data loss unacceptable. Caching improves latency; replication improves durability.
Define strong consistency, eventual consistency, and causal consistency.
Strong: All reads see latest write immediately. Eventual: Reads eventually see latest write after propagation delay. Causal: Causally-related writes are ordered; concurrent writes may diverge. Strength decreases; scalability increases in that order.
What are the main trade-offs of using a CDN?
Pro: Reduces latency by serving content geographically close; offloads origin server. Con: Added cost, cache invalidation complexity, stale content risk, only effective for read-heavy static assets. Choose if geographic distribution is critical.
Explain the difference between sharding and replication.
Sharding: Partitions data across multiple databases (each shard holds different rows/keyspace). Replication: Multiple databases hold identical data. Sharding increases capacity and throughput; replication increases availability and fault tolerance. Often used together.
What is the trade-off between denormalization and normalization in system design?
Normalization: Reduces redundancy, consistency easier, slower reads (joins required). Denormalization: Data duplication, faster reads, consistency harder (updates must sync replicas). Denormalize when read performance is critical and eventual consistency acceptable.
Make your own System Design study set
Flashcards for related topics
Studying System Design to build with AI? MindloomHQ turns it into real skills — structured courses, agent projects, and certificates.
Explore MindloomHQ →