Podcasts · Whiteboard Confidential

Build a Photo Sharing App for Up to 1 Billion Users: System Design Interview with a FAANG Engineer

· 1 h 01 min

Episode Build a Photo Sharing App for Up to 1 Billion Users: System Design Interview with a FAANG Engineer

0:00 1:01:21

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

The episode on the publisher’s site (opens in a new tab)

Shows are listed from Apple Podcasts' charts and directory, and Podcast Index where it is used. Every show and episode belongs to its publisher and plays from the publisher's own feed; this site hosts none of them. Explicit shows are for adult profiles only, and children’s profiles hear only children’s shows. More about this list.