Practice
1. A public API needs to support multiple client versions simultaneously without breaking existing integrations. Which versioning strategy best isolates client requests to avoid accidental breaking changes?
easy
Solution
Step 1: Identify version isolation requirements
Embedding version in the URL path clearly separates client requests by version, preventing accidental routing to incompatible handlers.Step 2: Evaluate alternatives
Custom headers and content negotiation can be ignored or mishandled by intermediaries or caches, risking breaking changes. Query parameters are less explicit and can cause caching issues.Final Answer:
Option C -> Option CQuick Check:
URL versioning cleanly isolates versions in routing paths [check]
Hint: URL path versioning isolates clients cleanly [check]
Common Mistakes:
2. A large-scale messaging platform needs to isolate failures to prevent cascading outages during regional network partitions. Which architectural component best limits the blast radius by decoupling service dependencies?
easy
Solution
Step 1: Identify failure isolation mechanism
Asynchronous message queues decouple services, buffering requests and preventing direct cascading failures during outages.Step 2: Evaluate alternatives
Synchronous REST calls (A) cause blocking and cascading failures; monolithic DB (C) is a single point of failure; direct TCP (D) lacks buffering and backpressure.Final Answer:
Option C -> Option CQuick Check:
Async queues buffer and isolate failures, limiting blast radius [check]
Hint: Async queues buffer failures, blocking calls cascade [check]
Common Mistakes:
3. In the faceted search request flow, at Step 4 the Query Coordinator merges partial results from multiple shard nodes. What happens if one shard node responds with a partial result missing some facet counts due to a timeout?
easy
Solution
Step 1: Understand Query Coordinator's merge logic
The coordinator merges partial results from all shards; if a shard times out, its data is excluded to avoid blocking the entire query.Step 2: Eliminate other options
Returning an error breaks availability; marking missing facets as zero is inaccurate; synchronous retries would increase latency.Final Answer:
Option A -> Option AQuick Check:
Timeout shard data excluded -> partial but available results [check]
Hint: Timeout shards excluded to keep query latency low [check]
Common Mistakes:
4. At 10x scale, which component in an Active-Active failover system is most likely to become the bottleneck first, and why?
hard
Solution
Step 1: Identify scaling challenges in Active-Active
Active-Active requires continuous replication and conflict resolution across datacenters.Step 2: Analyze bottleneck at 10x scale
Replication protocol overhead and network latency increase exponentially, causing delays and conflicts that bottleneck the system.Final Answer:
Option D -> Option DQuick Check:
Replication overhead -> first bottleneck at 10x scale [check]
Hint: Replication overhead grows fastest at scale [check]
Common Mistakes:
5. At 10x scale, which component is most likely to fail first and why when estimating system bandwidth for a social media platform with rapidly growing DAU?
hard
Solution
Step 1: Identify bottleneck at 10x DAU scale
DAU Estimator must track millions of active users in real-time, requiring heavy aggregation and state management.Step 2: Eliminate other options
Storage Estimator scales with disk but can be sharded; Bandwidth Estimator aggregates metrics but less stateful; QPS Estimator uses load balancer metrics which scale better.Final Answer:
Option C -> Option CQuick Check:
Real-time DAU tracking state grows fastest, causing bottleneck [check]
Hint: Real-time DAU tracking state grows fastest at scale [check]
Common Mistakes:
