YOUR BRIEF
What to work through
Work through a distributed denylist as a spoken system design interview. Start by clarifying the scope, sketch a working design and explain the trade-offs behind your choices.
- Check whether a user, IP address or email is blocked, on every request
- Add and remove entries, including lists fetched from external APIs
- Apply a rule in one region only when it says so
- Handle both IPv4 and IPv6 addresses
BEFORE YOU START
Constraints to discuss
- Low latency: the check sits on every request path
- Highly available
- Updates reach every node around the world in near real time
- Government-mandated blocks take effect where they apply
Need a starting point?
Watch for these common gaps as you prepare:
- A database lookup on every request
- A Bloom filter with no exact second check, so false positives block innocent requests
- Forgetting that a plain Bloom filter cannot remove an entry
- One entry per IP address, with no ranges, and no thought for IPv6
- No versions, so a node cannot tell that its copy is stale
Why this question is in the collection
These sources connect the problem to company interview reports or preparation guides. They do not guarantee what a company will ask you.