Design TikTok's For You Page Recommendation Feed

Last updated: March 3, 2025

Quick Overview

Design the recommendation system that powers TikTok's main feed for 1B+ daily active users. Cover two-tower retrieval, ML ranking, real-time feature stores, A/B experimentation, and cold-start handling.

ByteDance
System Design
Software Engineer
ByteDance
March 3, 2025
Software Engineer
System Design Round
System Design
Hard

9

5

2,730 solved


Design the recommendation system that powers TikTok's main feed for 1B+ daily active users. Cover two-tower retrieval, ML ranking, real-time feature stores, A/B experimentation, and cold-start handling.

The canonical ByteDance system design question. Tests understanding of recommendation systems at massive scale — the core technology behind TikTok's success.

What the Interviewer Expects
  • Design two-tower retrieval with candidate generation
  • Implement real-time feature store for user and content signals
  • Address cold-start problem for new users and new videos
  • Design A/B experimentation infrastructure
  • Meet sub-100ms serving latency SLA
Key Topics to Cover
Recommendation systems
Two-tower retrieval
Feature stores
A/B testing
Cold-start problem
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
  • How do you handle feedback loops in recommendations?
  • How do you balance exploration versus exploitation?
  • What metrics would you optimize for?
Sharpen Your Skills on Codemia

Practice similar problems with our interactive workspace, get AI feedback, and track your progress.

Practice System Design Problems
Sample Answer
Requirements
  • Functional Requirements:
    • Generate personalized video recommendations for users on their For You Page (FYP).
    • Support real-time updates to recommendations based on user interactions (l...
Capacity Estimation
  • User Interactions:
    • Assume 1B daily active users.
    • Each user interacts with approximately 30 videos per day.
    • Total interactions = 1B users * 30 interactions = 30B interactions/da...

Submit Your Answer
Markdown supported

Related Questions