Practice
Solution
Step 1: Trace Step 4 response
At Step 4, Metadata Server returns block locations (metadata) to the client; client does not yet have file data.Step 2: Confirm client state
Client holds metadata (block locations) but must contact Data Nodes separately to read/write data blocks.Final Answer:
Option B -> Option BQuick Check:
Client holds metadata, not data, immediately after Step 4 [check]
Solution
Step 1: Understand hash function independence role
Independent hash functions distribute bits uniformly; correlated hashes cause clustering.Step 2: Trace effect of correlated hashes
Correlated hashes set overlapping bits, saturating the bit array faster, increasing false positives and reducing filter effectiveness.Final Answer:
Option A -> Option AQuick Check:
Correlated hashes cause bit array saturation, raising false positives [check]
Solution
Step 1: Analyze offline edits and conflict resolution needs
Offline edits require clients to work independently and resolve conflicts later without blocking user actions.Step 2: Evaluate architectures
Centralized locking blocks offline use; synchronous replication blocks writes; periodic full re-uploads waste bandwidth and delay merges; client-side version vectors with CRDTs enable eventual consistency and seamless conflict resolution.Final Answer:
Option A -> Option AQuick Check:
CRDTs enable offline edits with eventual consistency [check]
Solution
Step 1: Evaluate coordination overhead
Consensus (A) ensures strong consistency but adds latency and limits throughput; DB auto-increment with sharding (D) risks collisions and complex coordination.Step 2: Assess ordering and uniqueness
UUIDs (C) are unique but unordered and can cause issues in ordered systems; Ticket Server (B) balances uniqueness, ordering, and throughput by allocating ID blocks.Final Answer:
Option C -> Option CQuick Check:
Ticket Server -> high throughput, low latency, ordered IDs [check]
Solution
Step 1: Analyze scaling challenges of OT engine
The OT engine maintains stateful buffers and transforms operations in-memory, which grow with the number of concurrent edits and users.Step 2: Compare with other components
Persistent storage can be sharded and scaled; network latency affects but does not bottleneck first; client UI scales per user, not globally.Final Answer:
Option D -> Option DQuick Check:
OT engine's stateful buffers grow with concurrency, limiting scale first [check]
