Build the building blocks of distributed systems: caches, rate limiters, message brokers, and more — hands-on practice that goes beyond whiteboard diagrams.
6 exercises
mediumPython
Token Bucket Rate Limiter
Implement a rate limiter using the token bucket algorithm. The token bucket is a classic algorithm for rate limiting tha...
algorithmsrate-limitingtoken-bucket+5
hardPython
DAG Task Scheduler
Build a task scheduler that executes tasks while respecting their dependencies using a Directed Acyclic Graph (DAG).
Yo...
graph-algorithms
mediumPython
In-Memory Key-Value Store with TTL
# In-Memory Key-Value Store with TTL
Implement a key-value store that supports automatic expiration of keys after a spe...
data-structures
easyPython
URL Shortener with Base62 Encoding
Build a URL shortener class that can encode long URLs into short codes and decode them back.
Implement a `URLShortener`...
hash-map
mediumPython
Consistent Hashing Ring
# Consistent Hashing Ring
Implement a consistent hashing ring data structure that distributes keys across nodes while m...
hashing
mediumPython
Build a Pub/Sub Message Broker
Create a `MessageBroker` class that implements the publish-subscribe pattern. This messaging system allows components to...