System Design — Netflix

A real product architecture interview question

Bai Xie
8 min readJun 21, 2024

Preread:

This question was often asked in a Product architecture design interview. The main talking point is explaining the APIs and how the client interacts with the server, and the backend does not really matter. For some companies, storing and serving videos on the backend are also important topics. I spent most of the time talking about APIs in this article.

Requirements:

We want to design a video streaming platform. This platform should allow admins to upload new contents. Users can watch videos on the platform.

📓This is a super vague problem with many possible additional requirements. The first thing I would do is to understand the scope. I listed out some common features around playing videos below.

✍️This is NOT a p2p video streaming platform (e.g. Youtube), where any user can upload videos to the platform. The write path is internal facing. Otherwise the API design would be very different.

📓It’s important to think about how customers get the video playlists on app start. Can we just assume customers just get all videos for simplicity? If not, there are some common features the interviewer may ask, including a recommendation system (auto-generated video lists based on popularity of videos and personalized recommendation) and a catalog of videos by genre, etc.

--

--