Practice
Solution
Step 1: Identify buffering component for high write throughput
Relational DBs with triggers (A) are not designed for millions of writes per second and cause blocking. Redis (C) is fast but storing entire inverted index in memory is not durable or scalable. Message queues without ordering (D) risk out-of-order updates causing index inconsistency.Step 2: Evaluate Kafka's suitability
Kafka provides durable, ordered, partitioned logs that can buffer high write rates and decouple ingestion from indexing, enabling near real-time processing.Final Answer:
Option B -> Option BQuick Check:
Kafka buffers high write throughput with ordering and durability [check]
Solution
Step 1: Evaluate cultural impact of blame vs blameless approaches
Blame-focused reports create fear and reduce openness, harming continuous improvement.Step 2: Assess effectiveness of blameless timelines with action items
They foster trust, encourage learning, and drive actionable improvements aligned with high-trust culture.Final Answer:
Option A -> Option AQuick Check:
Blameless + action items -> continuous improvement [check]
Solution
Step 1: Identify role of action item tracking
Tracking ensures follow-through on improvements, preventing recurrence and reducing blame.Step 2: Trace failure without tracking
Without tracking, accountability gaps appear, blame culture can worsen as no clear ownership exists.Final Answer:
Option D -> Option DQuick Check:
No tracking -> blame culture intensifies due to lack of ownership [check]
Solution
Step 1: Understand TCP head-of-line blocking impact
TCP guarantees ordered delivery, so packet loss stalls all streams multiplexed on the connection until retransmission completes.Step 2: Eliminate incorrect failure modes
Only one stream stalling is false due to TCP ordering; connection reset or fallback does not happen automatically.Final Answer:
Option A -> Option AQuick Check:
TCP loss stalls all HTTP/2 streams due to head-of-line blocking [check]
Solution
Step 1: Analyze stateful components at scale
Chat servers maintain WebSocket connections statefully; scaling requires connection migration or sticky sessions.Step 2: Identify bottleneck
At 10x scale, chat servers hit connection limits and cannot shard existing connections, causing failure before DB or load balancer.Final Answer:
Option C -> Option CQuick Check:
Stateful WebSocket servers -> scaling bottleneck due to connection affinity [check]
