Design a A/B Testing Service
Last updated: April 12, 2026
Quick Overview
Design a geo-distributed a/b testing system that handles millions of requests. Discuss trade-offs in consistency, availability, and performance.
Expedia
System Design
Software Engineer
Expedia
April 12, 2026Software Engineer
Technical Screen
System Design
Medium
73
13
4,315 solved
Design a geo-distributed a/b testing system that handles millions of requests. Discuss trade-offs in consistency, availability, and performance.
This ML system design question from Expedia'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
Data collection and labeling strategy
ML objective formulation and metric selection
Model serving and latency optimization
A/B testing and experimentation
Feedback loops and model retraining
How to Approach This
- Start by clarifying functional and non-functional requirements with the interviewer.
- Estimate the scale: QPS, storage, bandwidth. This drives your design decisions.
- Draw a high-level architecture first, then deep dive into 1-2 critical components.
- Discuss trade-offs explicitly (e.g., consistency vs availability, SQL vs NoSQL).
- Address failure scenarios, monitoring, and how the system handles 10x traffic spikes.
Possible Follow-up Questions
- How would you handle the cold start problem?
- What would you do if model performance degrades over time?
- What is your model retraining strategy?
Practice a Similar Problem on Codemia
Solve a related problem with our interactive workspace, get AI feedback, and view detailed solutions.
Solve on CodemiaSample Answer
Requirements
Functional Requirements
- User Segmentation: The system should allow targeting specific user demographics and behaviors for A/B tests.
- Experiment Creation: Users (e.g., product manager...
Capacity Estimation
Back-of-Envelope Calculations
- User Base: Assume Expedia has 10 million daily active users.
- Experiment Traffic: If we run A/B tests on 10% of users, that equals 1 million users.
- **...
Submit Your Answer
Markdown supported