Practice
Solution
Step 1: Calculate daily storage
Multiply 500,000 objects by 2MB each = 1,000,000 MB = 1TB per day.Step 2: Eliminate other options
500GB per day, assuming 1MB average object size instead uses wrong object size; 2TB per day, assuming 4MB average object size instead doubles size incorrectly; Cannot estimate without knowing retention period ignores that retention affects total storage, not daily estimate.Final Answer:
Option B -> Option BQuick Check:
500K x 2MB = 1TB daily storage [check]
Solution
Step 1: Understand Zookeeper ephemeral node disappearance
Leader's ephemeral node disappearance signals leader failure.Step 2: Follower reaction
Follower tries to create ephemeral node to become new leader; immediate assumption without coordination risks split-brain.Final Answer:
Option A -> Option AQuick Check:
Follower creates ephemeral node -> attempts leadership [check]
Solution
Step 1: Understand Kafka's role in decoupling
Kafka buffers messages asynchronously, preventing blocking and enabling retries during outages.Step 2: Analyze failure without Kafka
Without Kafka, synchronous calls block sender until receiver responds; if receiver crashes, message is lost with no retry (B). However, buffering on client (C) is incorrect as buffering is server-side.Final Answer:
Option A -> Option AQuick Check:
No Kafka -> synchronous send blocks and message loss on receiver crash [check]
Solution
Step 1: Identify stateful components at scale
Chat servers maintain stateful TCP connections, each consuming resources like memory and CPU.Step 2: Analyze scaling impact
At 10x scale, the number of concurrent TCP connections overwhelms server resources, causing failures before database or network components.Final Answer:
Option A -> Option AQuick Check:
Stateful TCP connections -> chat servers bottleneck first [check]
Solution
Step 1: Understand Bloom filter scaling behavior
Bloom filter false positive rate increases with scale unless filter size grows proportionally, causing more backend queries.Step 2: Analyze component failure likelihood
Backend (A) fails eventually but Bloom filter inefficiency causes overload first. Network (C) and cache (D) are bottlenecks but secondary to Bloom filter false positive explosion.Final Answer:
Option C -> Option CQuick Check:
Bloom filter false positives grow with scale, triggering backend overload first [check]
