All Questions
Api Design hard

Your API serves both batch data pipelines and real-time user requests. Batch jobs consume all rate limit quota, starving real-time requests. How do you ensure fairness?

  1. A Establish prioritized processing queues with isolated rate limit buckets for each request class, ensuring critical real-time traffic has reserved capacity during high batch load.
  2. B Horizontally scale the global API server cluster and increase total request throughput quotas to accommodate the combined peak load of both real-time and background workloads.
  3. C Implement a mandatory 'cooperative throttling' policy where batch pipeline clients are expected to self-limit their request frequency based on the server's CPU utilization metrics.
  4. D Deploy a time-based scheduling policy that restricts batch processing jobs to low-traffic off-peak hours, using a centralized cron service to coordinate the activation of batch API keys.

One system design question a day, with spaced repetition so the ones you miss come back.

Get the app

Related questions