Build a Photo Sharing App for Up to 1 Billion Users: System Design Interview with a FAANG Engineer
Description
REPLAY EPISODE: Curious how to approach large-scale design interviews? This is the level of depth, structure, and clarity that top companies like Stripe and Meta are actively looking for.
In this mock system design interview, a senior engineer is asked to design a photo-sharing app (something like Instagram, but from scratch and at massive scale). What follows is a masterclass in thoughtful architecture: from exploring nuanced functional and nonfunctional requirements to tackling schema design, RESTful APIs, and infrastructure choices under realistic constraints.
The candidate works through challenges like privacy controls, feed generation, follow request flows, and media storage for 1 billion daily active users—all while communicating clearly and methodically. You’ll see them navigate trade-offs around consistency vs. availability, break down how to serve images efficiently with CDNs, and set up queues for asynchronous photo processing.
Sign up to book coaching or to watch more interviews in our showcase: https://www.interviewing.io
See the interviewer’s feedback and transcript here: https://start.interviewing.io/showcase/B0pirlqbsofX
Or view other FAANG interviews: https://interviewing.io/mocks?company=faang
Disclaimer: All interviews are shared with explicit permission from the interviewer and the interviewee, and all interviews are anonymous. interviewing.io has the sole right to distribute this content.
Timestamps:
00:00 Introduction
00:58 Interview Begins
02:00 Clarifying assumptions: privacy, authentication, feeds
06:45 Discussing follow requests and celebrity suggestions
09:00 Metadata and interaction features (likes, comments)
12:00 Non-functional requirements and scale (1B DAUs!)
15:00 Schema design begins: Users and Follows
20:00 Designing the Photo entity (metadata, location, blob storage)
27:00 Comment schema + verified users
31:00 Designing upload & metadata API endpoints
35:45 Designing follow request and response APIs
41:00 Designing the user’s feed + pagination
44:00 High-level architecture begins: services, DBs, queues
48:00 Document store vs. relational DB for photo storage
52:00 Serving photos via CDN + Follow service interaction
56:00 Final review and detailed feedback from interviewer
01:00:00 Encouragement on focusing more on requirements depth