Design a scalable Instagram-like platform
Company: DoorDash
Role: Software Engineer
Category: System Design
Difficulty: hard
Interview Round: Technical Screen
Design an Instagram-like photo/video sharing platform. Requirements: users sign up, follow others, upload media, view a personalized home feed, like/comment, receive notifications, and search; stories and direct messages are optional. Provide APIs, data models, and high-level architecture. Explain media ingestion, storage, thumbnailing/transcoding, and CDN delivery. Describe feed generation and ranking (pull vs push, fan-out strategies), caching layers, timelines, and handling hot accounts. Discuss consistency vs availability trade-offs, sharding and partitioning, indexes, and read/write scaling. Address privacy, abuse/spam mitigation, observability, cost controls, and multi-region disaster recovery. Include back-of-the-envelope capacity estimates and an evolution plan from MVP to planet scale.
Quick Answer: Design a scalable Instagram-like platform evaluates requirements, scale assumptions, API/data design, architecture, trade-offs, failure modes, and rollout in a realistic interview setting. A strong answer states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.