Practice
Solution
Step 1: Understand latency percentiles
P99 latency captures the latency below which 99% of requests complete, highlighting the slowest 1% tail.Step 2: Why average and median fail
Average latency can be skewed by outliers but doesn't reflect tail latency; median (P50) only shows the middle, missing slow requests; maximum latency is noisy and not stable.Final Answer:
Option A -> Option AQuick Check:
P99 latency highlights slowest 1% requests, not average or median [OK]
Solution
Step 1: Trace key assignment in consistent hashing
Consistent hashing assigns keys to the first node clockwise from the key's hash on the ring.Step 2: Eliminate incorrect options
Lower hash value assignment breaks ring semantics; rehashing or broadcasting is inefficient and not part of consistent hashing.Final Answer:
Option A -> Option AQuick Check:
Consistent hashing assigns keys clockwise on the ring [check]
Solution
Step 1: Understand replication role in CRDT counters
Replication propagates shard states to other replicas for merging. Without it, shards cannot merge and increments are isolated.Step 2: Trace failure impact
Without replication, increments on isolated shards are effectively lost from global view until replication resumes; no blocking occurs.Final Answer:
Option B -> Option BQuick Check:
Replication failure isolates shards, causing lost increments globally [check]
Solution
Step 1: Analyze latency and consistency requirements
Low-latency availability checks require fast reads; strong double booking prevention requires coordination.Step 2: Evaluate architectures
Single relational DB (Use a single relational database with serializable transactions for all reservations) provides strong consistency but suffers from high latency and scalability issues. Eventually consistent NoSQL (Use an eventually consistent NoSQL database with background reconciliation jobs) allows double bookings due to stale reads. Client-side caching (Use client-side caching with periodic synchronization to the central database) risks stale data and race conditions. Distributed cache with optimistic locking plus distributed locks (Use a distributed cache with optimistic locking combined with a distributed lock service) balances low latency reads with strong concurrency control.Final Answer:
Option B -> Option BQuick Check:
Distributed locks + cache enable fast, consistent availability checks [check]
Solution
Step 1: Analyze scaling characteristics of observability components
Tracing volume grows exponentially with request fan-out, causing storage and query bottlenecks.Step 2: Compare with other components
Logging scales linearly; metrics systems shard well; alerting scales with metrics, so less likely first failure.Final Answer:
Option C -> Option CQuick Check:
Tracing volume explosion -> backend overwhelmed first [check]
