Explain rate limiting algorithms.
01
01
Understand the problem
rate-limiting
02
02
Attempt it yourself
Sketch your approach before reading the solution — that's what interviews test.
Stuck? AI Nudge Available
Get a conceptual hint to guide your logic without spoiling the final implementation.
03
03
Study the solution
The solution is waiting
Give it an honest attempt first — then compare your thinking with the full walkthrough.
04
04
Read the code
Token bucket
Run Playgroundimport time
class TokenBucket:
def __init__(self, capacity, refill_rate):
self.capacity = capacity
self.refill_rate = refill_rate # tokens added per second
self.tokens = capacity
self.last = time.monotonic()
def allow(self, cost=1):
now = time.monotonic()
# refill proportional to elapsed time, capped at capacity
self.tokens = min(self.capacity, self.tokens + (now - self.last) * self.refill_rate)
self.last = now
if self.tokens >= cost:
self.tokens -= cost
return True
return False
# demo: capacity 5, refill 2 tokens/sec -> first 5 burst through, rest blocked
bucket = TokenBucket(capacity=5, refill_rate=2)
for i in range(8):
print(i, "allowed" if bucket.allow() else "BLOCKED (429)")05
05
Join the discussion
Discussion (0)
Sign in to join the discussion.
No responses yet. Be the first to share what you think.