Katkat

Design a distributed multi-user counter

NVIDIASoftware Engineer · Technical Screen

Last 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.