Design a TikTok-like short video platform
Company: Salesforce
Role: Software Engineer
Category: System Design
Difficulty: medium
Interview Round: Technical Screen
Design a **TikTok-like** short-video product.
### Core user stories
1. Users upload short videos (e.g., 10–60 seconds).
2. Users watch an infinite **For You** feed (personalized recommendations).
3. Users can like, comment, follow creators, share.
### Requirements
**Functional**
- Video upload, processing (transcode), storage, playback.
- Feed generation: personalized ranked list of videos.
- Engagement actions: like, comment, follow.
**Non-functional**
- Low startup latency for playback; smooth scrolling.
- High availability and horizontal scalability.
- Reasonable consistency (define where strong vs eventual is needed).
- Observability and abuse mitigation (spam, reuploads, bot likes).
### Deliverables
- High-level architecture and key services.
- Data model / storage choices.
- Feed + recommendation pipeline (online + offline).
- Caching/CDN strategy.
- Handling hot videos/creators and traffic spikes.
- APIs (sketch) and key metrics to monitor.
Quick Answer: This question evaluates skills in large-scale system design for short-video platforms, including video ingestion and transcoding, storage and CDN strategies, playback latency, personalized feed and recommendation pipelines, data modeling, scalability, consistency trade-offs, and observability/abuse mitigation.