The Twitter Problem

In this example we will look at a concrete system design interview question and will try to go from a statement to a sound system design, which satisfies the initial conditions put by the interviewer. We will focus on the specifics of the system design interview, so that you know how to give your best in this particular environment. This e-book will mention technical notions and techniques but we will not go into very deep technical details about them. It will be your task to become more familiar with the different technical ideas used throughout the solution. You can also take advantage of the earlier sections of this course to learn more.

Are you ready? Let’s begin with a very short statement that your interviewer gave you at the start of the interview.


After the introductory few words your interview starts and the interviewer gives you the following task:

“Design a simplified version of Twitter where people can post tweets, follow other people and like tweets.”

Even though Twitter changed its name, let’s stick with this name as this problem was created long before this event.