This question evaluates understanding of distributed systems concepts such as data partitioning, replication, consistency models, fault tolerance, scalability, rebalancing, leader election, and performance trade-offs in a key-value storage context.
Design a distributed key-value (KV) store.
Get(key) -> value | not_found
Put(key, value)
(optionally with versioning)
Delete(key)
Assume values are small-to-medium (e.g., <= 1 MB) and keys are strings.