You are coding as a Guest. Sign in with your RoleNest account to permanently track your streak, earn XP, and climb the Campus Leaderboard!
Sign In with RoleNestProblem Set
🔥Consistent Hashing Ring Lookup (Distributed Sharding)Medium
MediumSystem Design•Acceptance: 56.7%
Consistent Hashing Ring Lookup (Distributed Sharding)
Real-World Engineering Context
Used by Discord, DynamoDB, and Memcached to distribute billions of cache keys across server nodes with minimal cache invalidation when nodes are added or removed.
In a distributed cache cluster with server nodes placed on a 360-degree hash ring `nodes` (e.g. `[30, 90, 180, 270]`), given a key hash `keyHash` (0 <= keyHash < 360), return the server node that owns the key (the first node with position >= keyHash, or node 0 if keyHash exceeds all nodes due to clockwise circular ring wrap-around).
Sample Test Cases
Input: [[30,90,180,270],50]
Expected: 90
Input: [[30,90,180,270],300]
Expected: 30
Input: [[30,90,180,270],90]
Expected: 90
Constraints
- 1 <= nodes.length <= 1000
- nodes is sorted in strictly ascending order.
- 0 <= nodes[i], keyHash < 360
Language:
Ready to test. Click Run Code or Submit Solution to run test cases in isolated browser sandbox.