Asked about Working through the classic designs
How would you design a rate limiter?
An answer that works
Token bucket: tokens refill at a fixed rate, each request spends one, and bursts are allowed up to the bucket size. Distributed, it needs shared state in a fast store with atomic check-and-decrement to avoid races between servers.
Reading an answer is not being able to give one. The section that teaches this is Working through the classic designs, 4 hours of Distributed systems.
Learn this properlyAlso asked about Distributed systems
How would you scale a read-heavy service?What is a cache stampede and how do you prevent it?Why do queue handlers need to be idempotent?Explain eventual consistency.Fan-out on write or fan-out on read for a news feed?Estimate the storage needed for a year of chat history for 10 million daily users.Your service calls eight internal dependencies. Each promises 99.9 per cent. What can you promise?How do you make a payment operation safe to retry?