Practice
Solution
Step 1: Trace Delivery Worker decision at Step 4 -- Bob's presence TTL
If TTL expired, recipient is offline; message can't be delivered immediately.Step 2: Understand offline delivery handling
Delivery Worker queues message for later delivery and marks status as 'sent but not delivered' to reflect state.Final Answer:
Option A -> Option AQuick Check:
Expired TTL -> queue message, status 'sent but not delivered' [check]
Solution
Step 1: Identify the need to clarify trade-offs
Presenting trade-offs requires explicit comparison of conflicting requirements, such as latency vs consistency.Step 2: Use a decision matrix for clarity
A decision matrix systematically compares options, showing pros and cons clearly, which helps interviewers understand your reasoning.Final Answer:
Option A -> Option AQuick Check:
Decision matrix clarifies trade-offs explicitly [check]
Solution
Step 1: Analyze delivery semantics
Exactly-once requires atomicity across producer and consumer; at-least-once (A) can cause duplicates; at-most-once (C) risks loss; fire-and-forget (D) ignores reliability.Step 2: Evaluate architecture complexity
Two-phase commit (B) ensures atomic commit across components, enabling exactly-once semantics despite complexity; idempotent consumers (A) reduce duplicates but don't guarantee exactly-once.Final Answer:
Option B -> Option BQuick Check:
Two-phase commit -> atomic exactly-once delivery despite complexity [check]
Solution
Step 1: Trace failure impact on booking flow
Loss of connectivity prevents immediate calendar update, risking inconsistency.Step 2: Analyze failure handling
Immediate confirmation without calendar update (A) risks double bookings; timeout with error (B) hurts UX; automatic retry without delay (D) is unrealistic under network failure. Local queuing (C) allows eventual consistency with delayed confirmation.Final Answer:
Option A -> Option AQuick Check:
Local queuing delays confirmation but prevents data loss [check]
Solution
Step 1: Analyze latency requirements and architecture options
A single centralized server creates latency for distant users and is a single point of failure. Peer-to-peer systems lack reliability and consistency guarantees. Recursive servers forwarding to root servers without caching cause excessive load and latency.Step 2: Identify benefits of distributed authoritative servers with Anycast
Geographically distributed authoritative servers with Anycast routing direct users to the nearest server, minimizing latency and improving availability.Final Answer:
Option C -> Option CQuick Check:
Distributed authoritative servers + Anycast reduce latency globally [check]
