Uber·Software Engineer·Onsite - System Design / Architecture
- Design a time-versioned key-value store where writes do not accept a caller-supplied timestamp. It should support set(key, value), getLatest(key), and getAtOrBefore(key, wallTime). Walk through your data structures, how you guarantee monotonically increasing timestamps despite clock skew, and the time and space complexity of each operation.
“The no-external-timestamp constraint is what makes this annoying.”