Back to the Catalog
system-design
nodejs
networking

Rate Limiting & Backpressure

15 questions

When demand outruns capacity, a system either sheds load gracefully or collapses. This quiz walks the full path: the algorithms (token vs. leaky bucket, fixed vs. sliding window), where to enforce a limit (per-IP vs. per-user, client-side debounce/throttle), how to communicate it (429, Retry-After, backoff with jitter), and how backpressure propagates through Node.js streams so a slow consumer doesn't exhaust memory. Every answer is computed, executed, or cited against the relevant spec.

Questions

  1. Not answered. Token bucket vs. leaky bucket: which one lets traffic burst?
  2. Not answered. How many requests succeed in that first instantaneous burst?
  3. Not answered. What does the fixed-window limiter do with these 200 requests?
  4. Not answered. What is the estimated request count for the trailing 60 seconds?
  5. Not answered. What's the difference between a sliding-window log and counter?
  6. Not answered. What's the real trade-off between per-IP and per-user rate limiting?
  7. Not answered. 429 vs. 503: which says "it's you," which says "it's me"?
  8. Not answered. Which are valid Retry-After values?
  9. Not answered. What is the delay, in milliseconds, before the retry at attempt = 4?
  10. Not answered. Which statements about adding jitter to backoff are correct?
  11. Not answered. What is the common two-word name for this synchronized-retry problem?
  12. Not answered. What does a false return from writable.write() mean?
  13. Not answered. What happens when the source far outpaces the slow socket?
  14. Not answered. Why does a bounded queue beat an unbounded one under overload?
  15. Not answered. Which of these two behaviors is debounce, and which is throttle?