Practice
Solution
Step 1: Understand role of partition-tolerant queue
Kafka decouples sender and receiver, buffering messages during partitions.Step 2: Trace failure without Kafka
Without Kafka, sender blocks waiting for receiver; if receiver crashes, message is lost with no retry.Final Answer:
Option A -> Option AQuick Check:
Without Kafka, sender blocks and loses messages if receiver crashes [check]
Solution
Step 1: Understand Kafka's role in ingestion and buffering
Kafka buffers incoming events; if unavailable, ingestion halts causing backpressure upstream.Step 2: Trace downstream impact
Flink cannot consume new events, so dashboards show stale data; OLAP store remains unaffected initially.Final Answer:
Option B -> Option BQuick Check:
Kafka outage causes stale dashboard data due to halted ingestion [check]
Solution
Step 1: Analyze spam detection dependency
Blocking all writes (A) is too strict; defaulting scores (B) risks spam but is safer; delayed updates (D) unlikely if spam data is missing.Step 2: Unhandled exceptions cause crashes
If the feed service does not handle missing spam data gracefully, it crashes (C), causing feed unavailability and degraded user experience.Final Answer:
Option A -> Option AQuick Check:
Missing spam data causes unhandled exceptions and feed crashes [check]
Solution
Step 1: Identify stateful bottleneck
Chat servers maintain WebSocket connections bound to server memory, limiting horizontal scaling and resharding.Step 2: Compare other components
Database (A) can be scaled with sharding; message queue (C) partitions can be increased; load balancer (D) scales horizontally.Step 3: Explain failure mechanism
WebSocket statefulness causes connection limits per server, leading to failure under 10x load.Final Answer:
Option A -> Option AQuick Check:
Stateful WebSocket limits -> chat servers fail first at scale [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]
