Practice
1. In the request flow of a global load balancing system, at Step 3 the GSLB receives a DNS query for a user in Europe. What does the GSLB do at this step?
easy
Solution
Step 1: Understand GSLB behavior at DNS query
GSLB does not blindly return IPs (Returns the IP of the closest data center without checking health status) or forward queries (Forwards the DNS query to the local data center's DNS server for resolution). It actively checks health and latency to pick the best endpoint.Step 2: Evaluate caching behavior
Indefinite caching (Caches the previous DNS response indefinitely to reduce load) would prevent dynamic failover and load balancing.Final Answer:
Option B -> Option BQuick Check:
GSLB checks health and latency before DNS response [check]
Hint: GSLB checks health before DNS response [check]
Common Mistakes:
2. To handle personalized ranking at scale, should the system use a centralized ranking service with a global user profile store or a distributed ranking service co-located with Trie shards holding local user profiles? Consider latency and data freshness constraints.
medium
Solution
Step 1: Analyze latency and freshness trade-offs
Centralized ranking with global profiles (A) adds network latency; caching (C) adds complexity and stale data risk.Step 2: Evaluate distributed ranking with local profiles
Distributed ranking co-located with Trie shards (B) reduces latency by local data access, tolerating eventual consistency for freshness.Final Answer:
Option B -> Option BQuick Check:
Distributed ranking + local profiles -> low latency, eventual consistency [check]
Hint: Local profiles with distributed ranking reduce latency despite stale data [check]
Common Mistakes:
3. If the Booking Service loses connectivity to the Calendar Availability Service during booking confirmation, what is the most likely failure mode experienced by the user?
medium
Solution
Step 1: Trace failure impact on booking flow
Loss of connectivity prevents immediate calendar update, risking inconsistency.Step 2: Analyze failure handling
Immediate confirmation without calendar update (A) risks double bookings; timeout with error (B) hurts UX; automatic retry without delay (D) is unrealistic under network failure. Local queuing (C) allows eventual consistency with delayed confirmation.Final Answer:
Option A -> Option AQuick Check:
Local queuing delays confirmation but prevents data loss [check]
Hint: Booking queues locally on calendar service failure, delaying confirmation [check]
Common Mistakes:
4. At 10x scale, which component in the file sync system is most likely to become the bottleneck first, and why?
hard
Solution
Step 1: Identify global state bottleneck
The chunk metadata index service maintains global chunk existence info, causing high contention as scale grows.Step 2: Compare other components
Client chunking scales horizontally; network bandwidth can be increased; storage backends can be sharded; metadata index is centralized and harder to shard efficiently.Final Answer:
Option D -> Option DQuick Check:
Metadata index contention is first bottleneck at scale [check]
Hint: Global metadata index faces contention first at scale [check]
Common Mistakes:
5. At 10x traffic scale, which component is most likely to fail first in a latency monitoring system that tracks P50, P95, and P99 latencies, and why?
hard
Solution
Step 1: Identify bottleneck in percentile computation
Computing P50, P95, and P99 latencies in real-time requires sorting or approximation algorithms that are CPU and memory intensive.Step 2: Why aggregation service fails first
At 10x scale, the aggregation service faces exponential resource demands, making it the first to fail before storage or alerting.Final Answer:
Option B -> Option BQuick Check:
Real-time percentile computation scales poorly -> aggregation service fails first [check]
Hint: Percentile computation is CPU-heavy; aggregation fails first [OK]
Common Mistakes:
