Design a scalable Instagram-like platform

Read the full interview experience this question came from →

Quick Overview

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.

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.

Overview: 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.

Read the full DoorDash Software Engineer interview experience this question came from

DoorDash logo
DoorDash
Jul 17, 2025
hardSoftware EngineerTechnical ScreenSystem Design
19
0

Design a scalable Instagram-like platform

Design: Instagram-like Photo/Video Sharing Platform (Technical Screen)

Context

Design a photo/video sharing platform with core social features and a personalized feed. Optimize for large-scale read-heavy workloads and mobile clients. Optional features (stories, DMs) may be stubbed but need not be fully designed.

Requirements

  1. Core features
    • User sign-up/login, follow/unfollow
    • Upload photos/videos
    • Personalized home feed
    • Likes, comments
    • Notifications
    • Search (users, hashtags, captions)
    • Optional: stories, direct messages (outline only)
  2. Deliverables
    • Public APIs (CRUD and feed endpoints)
    • Data models and key indexes
    • High-level architecture and components
    • Media ingestion pipeline: upload, storage, thumbnailing/transcoding, CDN delivery
    • Feed generation and ranking: pull vs push, fan-out strategies, timelines, caching, handling hot accounts
    • Consistency vs availability trade-offs
    • Sharding/partitioning strategy and read/write scaling
    • Privacy and access control
    • Abuse/spam mitigation
    • Observability (metrics, logging, tracing)
    • Cost controls
    • Multi-region disaster recovery
    • Back-of-the-envelope capacity estimates
    • Evolution plan from MVP to planet scale

Clarifying Questions to Ask Guidance

  • Clarify users, core use cases, read/write patterns, scale, latency, availability, and data retention.
  • State explicit assumptions before making sizing or architecture decisions.
  • Prioritize the functional path first, then address reliability, security, observability, and rollout.

What a Strong Answer Covers Guidance

  • A scoped requirements summary with concrete non-goals and success metrics.
  • API, data model, architecture, consistency, capacity, and operations.
  • Reasoned trade-offs among simple and scalable designs, including bottlenecks and failure modes.
  • A validation, monitoring, migration, and launch plan appropriate for the risk level.

Follow-up Questions Guidance

  • What breaks first at 10x traffic or data volume?
  • How would you degrade gracefully during dependency failures?
  • What metrics and alerts would prove the design is healthy after launch?