Practice
Solution
Step 1: Analyze trade-offs
Short TTLs (A) cause frequent misses; strict locks (C) add latency; no cache (D) overloads backend.Step 2: Evaluate probabilistic early expiration
Randomized early refresh spreads cache rebuilds, reducing stampede risk and latency.Final Answer:
Option D -> Option DQuick Check:
Probabilistic early expiration balances load and latency effectively [check]
Solution
Step 1: Understand Market Data Feed failure impact
When Market Data Feed crashes, it stops pushing updates; clients detect connection loss and receive error events triggering reconnection.Step 2: Eliminate other options
Clients receive stale prices indefinitely with no indication of failure is wrong because clients detect connection loss; Clients receive partial updates but with delayed timestamps causing confusion is wrong because partial updates don't occur without feed; Clients continue receiving cached data from the Matching Engine without updates is wrong because Matching Engine doesn't serve cached market data.Final Answer:
Option C -> Option CQuick Check:
Feed crash -> clients get error + reconnect attempts [check]
Solution
Step 1: Identify scaling challenges for each component
Human agents (A) scale linearly but can be increased with hiring. Message queue (C) scales well horizontally. Database (D) can be sharded.Step 2: Analyze Intent Classifier bottleneck
Synchronous LLM inference is compute-intensive and latency-sensitive, causing concurrency limits and queuing delays at 10x load.Step 3: Confirm first failure point
Intent Classifier service hits CPU/GPU resource limits first, blocking downstream components.Final Answer:
Option A -> Option AQuick Check:
Synchronous LLM inference latency limits concurrency first [check]
Solution
Step 1: Analyze stateful components at 10x scale
Chat Servers maintain WebSocket connections bound to server memory, limiting horizontal scaling.Step 2: Compare other components
Databases and Kafka can be sharded or scaled; Redis TTL issues cause transient problems but not first failure.Final Answer:
Option A -> Option AQuick Check:
Stateful WebSocket connections -> Chat Servers bottleneck at scale [check]
Solution
Step 1: Identify stateful bottlenecks at scale
Chat servers hold WebSocket connections in memory, which are stateful and tied to specific servers, limiting horizontal scaling.Step 2: Compare other components
Databases can be sharded; Kafka scales with partitions; presence service caches can be distributed; chat servers' stateful connections are the hardest to shard.Final Answer:
Option A -> Option AQuick Check:
Stateful WebSocket connections -> chat servers bottleneck at 10x scale [check]
