Design a distributed multi-user counter
NVIDIASoftware Engineer · Technical ScreenLast updated
This question evaluates expertise in distributed systems architecture, concurrency control, strong consistency models, idempotency under retries, fault tolerance, leader election, and operational monitoring for high-throughput services.
Design a distributed counter service accessed concurrently by many users. The service must provide atomic increment/decrement and read-after-write consistency, scale horizontally, and remain correct under retries and failures. Describe the data model and APIs, the concurrency-control strategy (e.g., optimistic CAS, per-key sharding with single-writer, or distributed locks), and how you handle idempotency, leader election, partition tolerance, clock skew, and exactly-once vs at-least-once semantics. Explain monitoring and rollback strategies for contention hotspots.
Solution walkthrough is for members
Get the full walkthrough with reference code and complexity analysis, plus Kitty Coach at 300 messages a day. Hints, the code runner and community answers stay free.