PracHub
QuestionsPremiumLearningGuidesCheatsheetNEWCoaches
|Home/System Design/Salesforce

Design a configurable monthly API rate limiter

Last updated: Mar 29, 2026

Quick Overview

This question evaluates system-design and distributed-systems skills, focusing on scalable API rate limiting, per-user monthly quota configuration and enforcement, consistency and correctness trade-offs, data modeling for counters and quota storage, and operational reliability.

  • medium
  • Salesforce
  • System Design
  • Software Engineer

Design a configurable monthly API rate limiter

Company: Salesforce

Role: Software Engineer

Category: System Design

Difficulty: medium

Interview Round: Onsite

Design a rate-limiting system for an **expensive API**. ### Requirements - Each user (or API key) has a **monthly quota** (e.g., 10,000 calls/month). - Users can **manually configure** (update) their monthly quota via a UI/API. - If a user exceeds the quota, further requests must be rejected (e.g., HTTP 429) until the next monthly reset. ### Scale & reliability - Assume high QPS, multiple stateless API servers, and the limiter must work in a distributed environment. - Discuss correctness goals (strict vs eventually consistent) and trade-offs. ### Deliverables - High-level architecture and request flow - Data model/storage choices for counters and quota configuration - How to handle monthly reset, time zones, retries, and idempotency - Operational concerns: monitoring, failure modes, and abuse cases

Quick Answer: This question evaluates system-design and distributed-systems skills, focusing on scalable API rate limiting, per-user monthly quota configuration and enforcement, consistency and correctness trade-offs, data modeling for counters and quota storage, and operational reliability.

Related Interview Questions

  • Design a TikTok-like short video platform - Salesforce (medium)
  • Design a scalable coffee ordering notification system - Salesforce (medium)
  • Design a pipeline orchestration system on Kubernetes - Salesforce (medium)
  • Design an async job system and cache layer - Salesforce (hard)
  • Design a coffee ordering system - Salesforce (medium)
Salesforce logo
Salesforce
Feb 12, 2026, 12:00 AM
Software Engineer
Onsite
System Design
43
0
Loading...

Design a rate-limiting system for an expensive API.

Requirements

  • Each user (or API key) has a monthly quota (e.g., 10,000 calls/month).
  • Users can manually configure (update) their monthly quota via a UI/API.
  • If a user exceeds the quota, further requests must be rejected (e.g., HTTP 429) until the next monthly reset.

Scale & reliability

  • Assume high QPS, multiple stateless API servers, and the limiter must work in a distributed environment.
  • Discuss correctness goals (strict vs eventually consistent) and trade-offs.

Deliverables

  • High-level architecture and request flow
  • Data model/storage choices for counters and quota configuration
  • How to handle monthly reset, time zones, retries, and idempotency
  • Operational concerns: monitoring, failure modes, and abuse cases

Solution

Show

Comments (0)

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More Salesforce•More Software Engineer•Salesforce Software Engineer•Salesforce System Design•Software Engineer System Design
PracHub

Master your tech interviews with 7,500+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities
  • Student Access

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.