Practice
Solution
Step 1: Trace Signaling Server behavior at step 5
The server forwards Alice's SDP offer to Bob and stores it to correlate with Bob's answer.Step 2: Understand session state management
Session is not established until Bob's SDP answer arrives; the offer must be retained temporarily.Final Answer:
Option A -> Option AQuick Check:
Signaling Server stores offer awaiting answer before session established [check]
Solution
Step 1: Compare OT and CRDT for offline and distributed scenarios
OT typically requires a central server to order and transform operations, making offline support complex.Step 2: Understand CRDT advantages
CRDTs are designed for decentralized environments, allowing local operations to be merged eventually without coordination, ideal for offline edits and global distribution.Final Answer:
Option C -> Option CQuick Check:
CRDTs enable offline edits and eventual consistency without central coordination [check]
Solution
Step 1: Understand idempotency store role in retries
Without the store, the API cannot verify if a request is a retry, so it must delay processing to avoid duplicates.Step 2: Eliminate other options
Rejecting all requests is possible but not typical; processing retries as new causes duplicates, which is avoided; fallback caches are uncommon and inconsistent.Final Answer:
Option B -> Option BQuick Check:
Unavailable idempotency store causes request queuing to prevent duplicates [check]
Solution
Step 1: Compare fault tolerance and latency
Single Redis is low latency but single point of failure; ZooKeeper is fault tolerant but higher latency.Step 2: Evaluate Redlock trade-offs
Redlock balances low latency with fault tolerance by coordinating multiple Redis masters.Final Answer:
Option C -> Option CQuick Check:
Redlock balances latency and fault tolerance better than single Redis or ZooKeeper [check]
Solution
Step 1: Analyze game requirements
Real-time position updates require low latency but some reliability to avoid inconsistent state.Step 2: Evaluate protocol trade-offs
UDP provides low latency; adding application-level sequence numbers and selective retransmission balances speed and reliability.Final Answer:
Option C -> Option CQuick Check:
UDP + app-level reliability fits real-time game updates [check]
