Practice
Solution
Step 1: Understand availability target and failure domain
99.99% availability requires tolerating entire data center failure without downtime, which single-region setups cannot guarantee.Step 2: Evaluate options for multi-region failover
Active-active multi-region clusters with automatic failover provide seamless continuity, unlike local caches or single-region redundancy.Final Answer:
Option A -> Option AQuick Check:
Multi-region active-active clusters -> tolerate data center failure [check]
Solution
Step 1: Trace cache miss handling at Step 4
On a miss, the node does not return immediately; it attempts to find the key elsewhere.Step 2: Broadcast vs forwarding
Forwarding to next node breaks consistent hashing guarantees; fetching from backing store happens after confirming absence in cache cluster.Final Answer:
Option C -> Option CQuick Check:
Cache node broadcasts to find key before fallback [check]
Solution
Step 1: Identify feature retrieval requirements
Low latency and consistency for millions of users require fast, precomputed feature access.Step 2: Evaluate component suitability
A relational DB with joins (A) is too slow for real-time; batch recomputation (C) is stale; key-value store without consistency (D) risks stale or inconsistent features. Distributed in-memory feature store (B) provides fast, consistent retrieval.Final Answer:
Option B -> Option BQuick Check:
In-memory feature store -> low latency, consistent features [check]
Solution
Step 1: Role of message queue in gRPC server
The queue buffers messages for slow or disconnected clients, enabling retries and flow control.Step 2: Effect of removing the queue
Without the queue, messages sent to slow/disconnected clients are dropped immediately, causing message loss without retries.Final Answer:
Option C -> Option CQuick Check:
No queue -> message loss on slow/disconnected clients [check]
Solution
Step 1: Analyze component scalability
Edge caches store counters in memory per user; memory is limited and grows with user count.Step 2: Compare bottlenecks
Logging (A) can be scaled with partitioning; Distributed Counter (C) sharding mitigates hot spots; API gateway (D) scales horizontally. Edge caches (B) hit memory limits first, causing eviction or failures.Final Answer:
Option D -> Option DQuick Check:
Edge caches fail first due to fixed local memory limits [check]
