Architect the backend of a TikTok-style short-video app
Company: TikTok
Role: Product Manager
Category: System Design
Difficulty: medium
Interview Round: Other
Design the system that powers TikTok. Lay out the main components, show how they work together, and explain how the design copes with the app's scale.
Assume the standard core scope unless the interviewer narrows it: a user posts a short video, other users watch it, and a personalized feed keeps choosing what plays next.
```hint Follow one clip
Trace a single video from the moment its creator taps post to the moment it plays on a stranger's phone, and mark which steps must happen instantly and which can lag by minutes.
```
### Clarifying Questions
- Beyond posting and watching, are comments, likes, follows, live streams or direct messages in scope?
- Is the recommendation model itself in scope, or can I treat ranking as a service and focus on how candidates, results and signals move through the system?
- How deep should I go: components and their trade-offs, or down to data models and storage choices?
- Should the design serve one region first, or a global audience from day one?
### What a Strong Answer Covers
- Functional and non-functional requirements, with rough estimates of uploads, views and stored data
- An upload and processing path that handles large files and produces formats for different devices and networks
- A playback path that keeps start-up delay low at very high view volume
- How the feed gathers candidates, ranks them and learns from what people watch and skip
- Data store choices for different kinds of data, failure handling, and the metrics that show the system is healthy
### Follow-up Questions
- A small creator's video suddenly goes viral. Which components feel it first, and what protects them?
- How would you keep a newly posted video from reaching millions of feeds before moderation has checked it?
- Which data would you keep in a relational database and which in a key-value or wide-column store, and what goes wrong if you choose badly?
Overview: A system design question for product managers: architect a TikTok-style short-video platform. It tests scoping and load estimates, the upload and processing path, low-latency playback at massive view volume, how a personalized feed is assembled and learns from watch behavior, and choices about storage, failures and monitoring.