PracHub
QuestionsPremiumLearningGuidesCheatsheetNEWCoaches
|Home/System Design/Snowflake

Design a multi-tenant quota system

Last updated: Apr 19, 2026

Quick Overview

This question evaluates a candidate's ability to design a global multi-tenant quota service, testing competencies in distributed systems, data consistency, concurrency control, API and storage modeling, and scalability within the System Design domain.

  • hard
  • Snowflake
  • System Design
  • Software Engineer

Design a multi-tenant quota system

Company: Snowflake

Role: Software Engineer

Category: System Design

Difficulty: hard

Interview Round: Technical Screen

Design a global, multi-tenant quota service shared by multiple upstream products (e.g., Drive and Photos sharing 100 GB per user) where each user has a single global quota. Functional requirements: ( 1) consume quota; ( 2) release quota; ( 3) optionally query current quota. Non-functional requirements: never allow overdraft at any time; provide high consistency and high availability; target low latency where possible; scale to millions of DAU and QPS. Design prompts: define APIs (consume/reserve/confirm/release/query) and idempotency; choose storage and data model and justify ACID needs; describe read/write paths and replication/ack strategy to prevent double-spend; handle concurrency across services/regions and race conditions; model quota states (Available, Reserved with TTL, Occupied) and timeout/recovery; choose sync vs async for consume/release and failure handling/retries; propose sharding and multi-region disaster recovery/failover; decide on caching or no-caching and keep it consistent; add backpressure/rate limiting and hot-key mitigation; outline monitoring, SLOs, and capacity planning.

Quick Answer: This question evaluates a candidate's ability to design a global multi-tenant quota service, testing competencies in distributed systems, data consistency, concurrency control, API and storage modeling, and scalability within the System Design domain.

Related Interview Questions

  • Design a Cron Job Scheduler - Snowflake (medium)
  • Design a disk-backed KV store under contention - Snowflake (easy)
  • Design an ACL authorization checking service - Snowflake (hard)
  • Design an object store with deduplication - Snowflake (medium)
  • Design a distributed system end-to-end - Snowflake (hard)
Snowflake logo
Snowflake
Sep 6, 2025, 12:00 AM
Software Engineer
Technical Screen
System Design
11
0

Design a Global Multi-Tenant Quota Service (Single Global Quota per User)

Context

Multiple upstream products (e.g., Drive, Photos) share a single global storage quota per user (e.g., 100 GB per user). The quota service must prevent overdrafts at all times while serving millions of daily active users and QPS across regions.

Functional Requirements

  1. Consume quota.
  2. Release quota.
  3. Optionally query current quota state.

Non-Functional Requirements

  • Never allow overdraft at any time.
  • High consistency and high availability.
  • Low latency where possible.
  • Scale to millions of DAU and QPS.

Design Prompts

  • Define APIs (consume, reserve, confirm, release, query) and idempotency.
  • Choose storage and data model; justify ACID needs.
  • Describe read/write paths and replication/ack strategy to prevent double-spend.
  • Handle concurrency across services/regions and race conditions.
  • Model quota states (Available, Reserved with TTL, Occupied) and timeout/recovery.
  • Choose sync vs async for consume/release and failure handling/retries.
  • Propose sharding and multi-region disaster recovery/failover.
  • Decide on caching or no-caching and keep it consistent.
  • Add backpressure/rate limiting and hot-key mitigation.
  • Outline monitoring, SLOs, and capacity planning.

Solution

Show

Comments (0)

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More Snowflake•More Software Engineer•Snowflake Software Engineer•Snowflake 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.