---
title: "System Design & Architecture: Scalability & Resilience"
description: "Master system design: scalability, reliability, performance, trade-offs, distributed systems patterns, and architectural decisions for production systems."
author: "Mohammad Abu Mattar"
canonical: https://mkabumattar.com/quizzes/post/system-design-architecture-quiz
---

# System Design & Architecture: Scalability & Resilience

Welcome to the System Design & Architecture quiz! Test your knowledge on scalability, reliability, performance, trade-offs, distributed systems patterns, and architectural decisions for production systems. Each question has a timer and hints to guide you. Good luck!

## Questions

### 1. What is scalability in the context of system design?

- The ability of a system to handle increased load by adding resources
- The measure of how quickly a system responds to an individual request
- The percentage of total uptime a system maintains over a given year
- The capacity of a system to automatically recover from a node failure

**Hint:** Think about handling growth.

### 2. What is latency?

- The total time taken for a request to travel from client to server and back
- The number of requests a system can process within a specific timeframe
- The delay introduced specifically by the database disk-seek operations
- The variance in response times over a large set of user requests

**Hint:** Think about response time.

### 3. What is throughput?

- The volume of work or number of requests processed in a given period
- The maximum capacity of a single network link in a distributed cluster
- The average time a user spends waiting for a page to load completely
- The amount of data stored in a database divided by the number of nodes

**Hint:** Think about requests per second.

### 4. What is availability?

- The proportion of time a system remains functional and accessible
- The ability of a system to remain consistent during a network partition
- The total number of concurrent users a system can support at peak
- The speed at which a system can reboot after a catastrophic crash

**Hint:** Think about uptime.

### 5. What is consistency in distributed systems?

- The requirement that all nodes see the same data at the same time
- The guarantee that a system will always return a response to every request
- The ability of a database to store data in a strictly normalized format
- The process of ensuring that all log files are formatted identically

**Hint:** Think about data correctness.

### 6. What is partitioning (sharding)?

- Dividing a large dataset into smaller chunks across multiple nodes
- Creating exact copies of the same data across multiple geographic regions
- The process of grouping multiple API requests into a single batch
- A technique for hiding private database fields from the public API

**Hint:** Think about dividing data.

### 7. What is a single point of failure (SPOF)?

- Any component whose failure causes the entire system to stop functioning
- A bug in the source code that causes a single request to fail
- The primary bottleneck that limits the total throughput of the system
- A hardware node that only processes one type of transaction at a time

**Hint:** Think about critical dependencies.

### 8. What is eventual consistency?

- A model where data will be consistent across all nodes given enough time
- A consistency model that guarantees immediate updates to all replicas
- A database feature that prevents any data from ever being overwritten
- A guarantee that a system will never return a stale read under any load

**Hint:** Think about delayed consistency.

### 9. What is CQRS (Command Query Responsibility Segregation)?

- An architectural pattern that uses different models for reading and writing data
- A protocol for ensuring that every database write is encrypted at rest
- A method for merging multiple microservices into a single deployment
- A strategy for caching API queries based on the user identity

**Hint:** Think about separate read/write.

### 10. What is event sourcing?

- A pattern that stores the state of a system as a sequence of immutable events
- A technique for triggering serverless functions based on user clicks
- A method for logging application errors to a centralized dashboard
- A way to automatically generate unit tests from production logs

**Hint:** Think about storing events.

### 11. What is rate limiting?

- The practice of controlling the rate of requests sent or received by a network
- A mechanism that automatically increases server capacity during high traffic
- A compression technique used to reduce the size of large API payloads
- The process of assigning priorities to different types of database queries

**Hint:** Think about controlling traffic.

### 12. What is bulkhead isolation?

- A pattern that partitions resources to prevent a failure in one from affecting others
- A security strategy that places all database servers behind a secondary firewall
- A method for encrypting data as it travels between internal microservices
- The practice of storing all backup files on a physical off-site hard drive

**Hint:** Think about fault boundaries.

### 13. What is the circuit breaker pattern?

- A mechanism to stop requests to a failing service to allow it to recover
- A software tool that automatically restarts a server when it runs out of RAM
- A design rule that requires every function to have a try-catch block
- A load balancing algorithm that redirects traffic to the fastest available node

**Hint:** Prevent cascading failures?

### 14. What is the CAP theorem?

- The principle that a distributed system can only provide two of three specific guarantees
- A law stating that the speed of a system is limited by its slowest component
- A requirement that all cloud providers must maintain three copies of user data
- The rule that an API must respond within 100ms to be considered "high performance"

**Hint:** Consistency, Availability, Partition tolerance trade-offs?

### 15. What is the BASE model?

- A model focusing on availability and eventual consistency over strict ACID rules
- A set of rules ensuring that every transaction is Atomic, Consistent, Isolated, and Durable
- A standard for building APIs that only return data in a binary-serialized format
- A database design where all tables are derived from a single "Base" table

**Hint:** Basically Available, Soft state, Eventually consistent?

### 16. What is database sharding?

- The horizontal partitioning of data across multiple independent database instances
- The process of combining small tables into one large table to reduce joins
- A method for compressing database indexes to save on-disk storage space
- Creating read-only copies of a database to handle high query volume

**Hint:** Partition data horizontally?

### 17. What is database denormalization?

- Adding redundant data to a schema to improve read performance by avoiding joins
- Removing all duplicate fields from a table to ensure data integrity
- The process of converting a relational database into a NoSQL document store
- A security practice where sensitive data is replaced with random tokens

**Hint:** Duplicate data for query performance?

### 18. What is the Cache-Aside strategy?

- A pattern where the application code is responsible for managing the cache state
- A strategy where the database automatically updates the cache on every write
- A method of caching that only stores data for the duration of a single user session
- A hardware-level cache that sits directly between the CPU and the system RAM

**Hint:** When to populate and flush cache?

### 19. What are Bloom Filters?

- A space-efficient probabilistic data structure used to test if an element is in a set
- A type of filter used to remove duplicate entries from a distributed log
- A specialized algorithm for compressing high-resolution images for the web
- A security mechanism that blocks incoming traffic from suspicious IP ranges

**Hint:** Probabilistic set membership test?

### 20. What is consistent hashing?

- A hashing technique that minimizes key remapping when the number of slots changes
- A requirement that all nodes in a cluster use the exact same hashing algorithm
- A method for ensuring that a hash value never changes even if the input data changes
- A security protocol that verifies the hash of a file before it is executed

**Hint:** Distribute cache keys with minimal remapping?

### 21. What is the Saga pattern?

- A sequence of local transactions where each updates data and triggers the next
- A monolithic database transaction that locks all tables until completion
- A storytelling technique used by architects to explain system requirements
- A load testing tool that simulates millions of users over a long duration

**Hint:** Coordinate multi-service transactions?

### 22. What is the difference between Token Bucket and Leaky Bucket?

- Token Bucket allows for bursts of traffic, while Leaky Bucket enforces a steady rate
- Leaky Bucket is used for hardware, while Token Bucket is used for software
- Token Bucket consumes more memory than Leaky Bucket due to token storage
- Leaky Bucket allows for priority-based requests, while Token Bucket does not

**Hint:** Control request rate and burst capacity?

### 23. What is Hexagonal Architecture?

- A pattern that isolates core logic from external concerns using ports and adapters
- A network topology where every server is connected to exactly six other servers
- A database schema where every table has exactly six defined relationships
- A project management style that organizes developers into six-person squads

**Hint:** Core logic isolated from external dependencies?

### 24. What are Bounded Contexts in DDD?

- Explicit boundaries within which a specific domain model is defined and applicable
- A limit on the number of microservices that can belong to a single team
- A technical constraint that prevents a database from growing beyond a certain size
- The scope of a single transaction within a relational database system

**Hint:** Separate domain models by boundaries?

### 25. What are the three pillars of Observability?

- Logs, Metrics, and Traces
- Uptime, Latency, and Throughput
- Compute, Storage, and Networking
- Alerts, Dashboards, and Reports

**Hint:** Understand system behavior via three pillars?

### 26. When is a Time-Series Database (TSDB) most appropriate?

- For handling massive volumes of timestamped data like metrics or sensor readings
- For storing complex relational data with many many-to-many relationships
- For managing high-speed transactional data in a banking application
- For hosting static assets like images and videos for a global audience

**Hint:** High-volume timestamp data patterns?

### 27. What is Semantic Versioning (SemVer)?

- A versioning scheme using MAJOR.MINOR.PATCH to signal the nature of changes
- A way of naming software versions after famous scientists or cities
- A requirement that all API versions must be written in a specific human language
- A method for versioning database rows using a timestamp column

**Hint:** Breaking changes and backward compatibility?

### 28. What is an idempotency key?

- A unique value sent by a client to ensure a request is only processed once
- A secret key used to sign API requests for security and authentication
- A primary key in a database that is generated using a random number
- A key used to compress repetitive data in a JSON payload

**Hint:** Prevent double-charging on retries?

### 29. Why is Average Latency often a misleading metric?

- It hides outliers (tail latency) that significantly affect user experience
- It is mathematically impossible to calculate an average in distributed systems
- It requires significantly more CPU power to calculate than the median
- It only considers successful requests and ignores all failed ones

**Hint:** Why average is misleading?

### 30. What is Distributed Consensus (e.g., Raft)?

- An algorithm for achieving agreement on a single data value across a cluster
- A method for distributing load equally across all web servers in a region
- A legal agreement between cloud providers to share user data in emergencies
- A technique for reducing the total size of a distributed database

**Hint:** Achieve agreement across replicas?
