Design a Rate Limiting for Snapchat

Last updated: January 5, 2026

Quick Overview

Design a geo-distributed rate limiting system that handles millions of requests. Discuss trade-offs in consistency, availability, and performance.

Snapchat
System Design
Software Engineer
Snapchat
January 5, 2026
Software Engineer
Technical Screen
System Design
Medium

254

6

4,839 solved


Design a geo-distributed rate limiting system that handles millions of requests. Discuss trade-offs in consistency, availability, and performance.

This ML system design question from Snapchat's Technical Screen tests your ability to think about ML systems at scale. The interviewer expects discussion of data quality, feature stores, model serving infrastructure, and A/B testing strategy.

What the Interviewer Expects
  • Define clear ML objectives with appropriate loss functions and metrics
  • Design a comprehensive feature engineering pipeline
  • Discuss model selection with trade-offs (complexity vs interpretability vs latency)
  • Plan online and offline evaluation strategies including A/B testing
  • Address serving infrastructure: batch vs real-time, latency requirements
  • Consider data quality, labeling strategy, and feedback loops
Key Topics to Cover
Online vs offline evaluation
Data collection and labeling strategy
Monitoring and model degradation detection
Training pipeline and infrastructure
ML objective formulation and metric selection
How to Approach This
  1. Start by clarifying functional and non-functional requirements with the interviewer.
  2. Estimate the scale: QPS, storage, bandwidth. This drives your design decisions.
  3. Draw a high-level architecture first, then deep dive into 1-2 critical components.
  4. Discuss trade-offs explicitly (e.g., consistency vs availability, SQL vs NoSQL).
  5. Address failure scenarios, monitoring, and how the system handles 10x traffic spikes.
Possible Follow-up Questions
  • What would you do if model performance degrades over time?
  • How would you handle the cold start problem?
  • What is your model retraining strategy?
  • How would you run A/B tests on different model versions?
Practice a Similar Problem on Codemia

Solve a related problem with our interactive workspace, get AI feedback, and view detailed solutions.

Solve on Codemia
Sample Answer
Requirements Clarification

Before diving into the architecture, clarify the scope with the interviewer. For Rate Limiting for Snapchat, key functional requirements include: what...

Capacity Estimation

Estimate the scale to drive design decisions. Assume 100M DAU with an average of 10 actions per user per day = 1B requests/day ~ 12K QPS average, ~36K...


Submit Your Answer
Markdown supported

Related Questions