Practice
Solution
Step 1: Identify multi-region write and availability requirements
Multi-region writes require conflict resolution and high availability without synchronous blocking.Step 2: Compare Redis and DynamoDB capabilities
DynamoDB Global Tables support multi-region writes with built-in conflict resolution and eventual consistency; Redis lacks native multi-region write support.Final Answer:
Option A -> Option AQuick Check:
DynamoDB Global Tables -> multi-region writes with conflict resolution [check]
Solution
Step 1: Evaluate coordination overhead
Consensus (A) ensures strong consistency but adds latency and limits throughput; DB auto-increment with sharding (D) risks collisions and complex coordination.Step 2: Assess ordering and uniqueness
UUIDs (C) are unique but unordered and can cause issues in ordered systems; Ticket Server (B) balances uniqueness, ordering, and throughput by allocating ID blocks.Final Answer:
Option C -> Option CQuick Check:
Ticket Server -> high throughput, low latency, ordered IDs [check]
Solution
Step 1: Understand cache invalidation failure impact
Failure to propagate invalidation means cached content remains stale beyond intended update.Step 2: Identify user experience as stale content served until TTL expiry
Users see outdated data until cache naturally expires or is manually cleared.Final Answer:
Option B -> Option BQuick Check:
Cache invalidation failure -> stale content served, not errors or overload [check]
Solution
Step 1: Identify statefulness of Politeness Policy Manager
It maintains per-domain timers and request schedules, which are stateful and hard to shard.Step 2: Compare with other components
URL Frontier can shard URLs; Duplicate Detection can use scalable storage; Scheduler can be distributed but Politeness Policy requires domain-specific timing.Final Answer:
Option C -> Option CQuick Check:
Politeness Policy's stateful timers limit scaling first [check]
Solution
Step 1: Identify stateful components limiting scale
Chat servers maintain stateful WebSocket connections bound to server memory, limiting horizontal scaling.Step 2: Compare other components' scalability
Databases can be sharded; Kafka partitions can be increased; load balancers scale horizontally. Stateful chat servers cannot easily move existing connections.Final Answer:
Option A -> Option AQuick Check:
Stateful WebSocket servers bottleneck scaling first [check]
