← Back to TypeScript
Advanced System Design
The distributed-systems interview set — a hash ring that barely moves, a filter that says maybe, a window that slides, a breaker that opens.
Challenge: a consistent hashing ring
expertchallengePlace cache nodes on a hash ring so that adding or removing one barely remaps the keys — the placement rule behind every distributed cache.
Challenge: a bloom filter that says maybe
expertchallengeBuild the probabilistic membership filter — never a false negative, rarely a false positive, and never the item itself.
Challenge: a sliding window rate limiter
advancedchallengeCount requests inside a moving window of wall time — old acquisitions fall out at exactly the boundary, new ones queue nothing.
Challenge: a circuit breaker
expertchallengeStop hammering a failing dependency — closed, open, half-open, with an injected clock deciding when one careful probe may run again.