Practice
Solution
Step 1: Trace request router behavior on shard failure
Retrying the same shard (The router retries the same shard until it recovers before forwarding the request) blocks requests; returning error (The router returns an error immediately to the client indicating shard unavailability) reduces availability; next clockwise shard (The router uses the next clockwise shard on the hash ring as a fallback for the key) is correct only if the ring is intact and shard failure is handled by virtual nodes.Step 2: Understand fallback hashing
Rehashing with a different function (The router hashes the key again with a different hash function to find another shard) is a common fallback to find an alternate shard when the primary is down, ensuring availability without blocking or errors.Final Answer:
Option D -> Option DQuick Check:
Fallback hashing finds alternate shard on failure [check]
Solution
Step 1: Identify Metadata Server role
Metadata Servers maintain the namespace and metadata such as file attributes and directory structure, handling frequent metadata updates.Step 2: Eliminate other components
Data Nodes store file blocks but do not manage metadata; client caching reduces load but does not handle updates; load balancers distribute traffic but don't manage metadata.Final Answer:
Option C -> Option CQuick Check:
Metadata Servers handle namespace and metadata updates efficiently [check]
Solution
Step 1: Understand Delivery Worker behavior on subscriber presence TTL expiry
If TTL expired, subscriber is considered offline. Delivery Worker does not retry immediately (The Delivery Worker immediately retries delivery without delay) or mark undeliverable (The Delivery Worker marks the message as undeliverable and stops retries) because retries are needed. It does not refresh TTL (The Delivery Worker queues the message for later retry after refreshing TTL) as TTL is subscriber-driven.Step 2: Recognize fallback to backup subscriber for high availability
Delivery Worker forwards message to backup subscriber or alternative delivery path to ensure eventual delivery.Final Answer:
Option A -> Option AQuick Check:
Expired TTL -> fallback delivery to backup subscriber [check]
Solution
Step 1: Evaluate centralized master node (A)
Centralized master is a single point of failure and bottleneck, reducing availability.Step 2: Evaluate distributed priority queue with leases (B)
Distributed queue with lease-based locks prevents duplicate execution, supports failover, and scales horizontally.Step 3: Evaluate cron jobs (C) and polling without locks (D)
Cron jobs lack coordination causing duplicates; polling without locks risks multiple workers executing the same task.Final Answer:
Option C -> Option CQuick Check:
Distributed queue + leases enable exactly-once and high availability [check]
Solution
Step 1: Identify stateful bottlenecks at scale
The Idempotency Store holds global state and is hard to shard, limiting horizontal scaling.Step 2: Evaluate other components
Settlement Service can be scaled with partitioned batches; client SDK is client-side and less critical; load balancer scales horizontally with modern tech.Final Answer:
Option B -> Option BQuick Check:
Centralized idempotency store -> scaling bottleneck at 10x load [check]
