Practice
Solution
Step 1: Understand Feed Aggregator's role at Step 5
The Feed Aggregator must combine posts from multiple sources, remove duplicates, and rank them to personalize the feed.Step 2: Eliminate incorrect options
It immediately returns the raw posts without filtering or ranking skips ranking, leading to poor UX. It stores all posts in a persistent database before responding to the user delays response unnecessarily. It sends posts to the notification service to alert the user before aggregation misplaces notification logic before feed aggregation.Final Answer:
Option A -> Option AQuick Check:
Feed Aggregator merges and ranks posts -> personalized feed [check]
Solution
Step 1: Understand session timeout role
Session timeout detects leader failure by ephemeral node removal.Step 2: Failure of timeout detection
If timeout fails, ephemeral node remains, so followers do not start election; no split-brain occurs.Final Answer:
Option B -> Option BQuick Check:
Backup election mechanisms prevent split-brain despite timeout failure [check]
Solution
Step 1: Analyze scaling impact on components
Network bandwidth is low since only fixed-size sketches are transferred, not raw IDs; register size is fixed and does not fail but accuracy degrades slightly.Step 2: Identify bottleneck
The aggregator merges many sketches concurrently, increasing CPU load and latency, making it the first to fail under 10x load.Final Answer:
Option A -> Option AQuick Check:
Aggregator CPU-bound merging many sketches first bottleneck [check]
Solution
Step 1: Identify bottleneck at scale
Distributed storage holds bucket states and must handle high write rates for increments and leaks.Step 2: Analyze scaling impact
At 10x scale, storage contention and latency spikes occur due to frequent state updates, causing failures.Step 3: Eliminate other options
Centralized timer is usually sharded or distributed; client-side limiters can't enforce global limits but don't fail first; load balancer scales horizontally.Final Answer:
Option D -> Option DQuick Check:
Storage contention from frequent writes -> first failure at scale [check]
Solution
Step 1: Identify bottleneck at 10x scale
Increased lock requests increase network latency and contention on clients acquiring locks.Step 2: Analyze impact on lock acquisition
Higher latency causes clients to miss lock acquisition timeouts, reducing throughput and increasing retries.Step 3: Compare other components
Redis masters scale better with sharding; network links and timers less likely first failure.Final Answer:
Option D -> Option DQuick Check:
Clients hit network latency -> lock timeouts -> first failure at scale [check]
