Computer Science: System Design Basics
Scalability, load balancing, caching, and distributed system fundamentals.
Study these flashcards with spaced repetition
Track your progress, master difficult cards, and export to Anki. Free to start.
Start Studying — FreeFlashcards in This Deck
What is the primary difference between horizontal and vertical scaling?
Horizontal scaling involves adding more machines to a pool (scaling out), whereas vertical scaling involves adding more power (CPU, RAM) to an existing machine (scaling up).
How does the Round Robin load balancing algorithm distribute incoming traffic?
It rotates requests sequentially across a list of available servers, ensuring each server receives an equal number of requests in a circular order.
In the context of the CAP theorem, what do the three letters represent?
Consistency (every read receives the most recent write), Availability (every request receives a response), and Partition Tolerance (the system continues to operate despite network failures).
What is the primary goal of using a Content Delivery Network (CDN)?
To reduce latency for end-users by serving static content from geographically distributed edge servers closer to the user's location.
What is a key architectural difference between REST and GraphQL regarding data fetching?
REST uses multiple endpoints for different resources, while GraphQL typically uses a single endpoint and allows clients to specify exactly which data fields they need.
What does the Least Recently Used (LRU) cache eviction policy do when the cache is full?
It removes the item that has not been accessed for the longest period of time to make room for new data.
Why is consistent hashing preferred over simple modulo hashing (key % n) in distributed systems?
Consistent hashing minimizes the number of keys that need to be remapped when a node is added or removed, whereas modulo hashing requires remapping nearly all keys.
Compare the Write-through and Write-back caching strategies.
Write-through writes data to the cache and the database simultaneously (high consistency), while Write-back writes to the cache first and updates the database later (lower latency, higher risk).
What is database sharding, and how does it differ from horizontal replication?
Sharding partitions data across multiple databases based on a key (horizontal partitioning), whereas replication copies the same data across multiple servers for redundancy and read performance.
According to the CAP theorem, if a network partition occurs, what choice must a system designer make?
The designer must choose between Consistency (canceling the operation to ensure data integrity) or Availability (proceeding with the operation despite potential stale data).
+10 more cards — sign up to see all
Frequently Asked Questions
How many flashcards are in this Computer Science: System Design Basics deck?
This deck contains 20 flashcards with a mix of difficulty levels: 6 easy, 10 medium, and 4 hard cards.
Is this flashcard deck free to use?
Yes! You can study these flashcards for free with our spaced repetition system. Create a free account to track your progress and save your study history.
Can I export these flashcards to Anki?
Pro users can export any deck to Anki (.apkg format) with one click. Free users can export to CSV. Start studying for free and upgrade when you need Anki export.
What is spaced repetition?
Spaced repetition is a study technique that shows you cards at increasing intervals based on how well you know them. Cards you struggle with appear more often, while mastered cards are shown less frequently. This is proven to be one of the most effective ways to memorize information.
Related Flashcard Decks
Ready to study?
Create a free account and start studying these flashcards with spaced repetition.
Get Started — Free