This blogpost is aimed to put all of the things I have been asked in past system design interviews in one place. Before we start talking about it, let’s grab a topic and use it to give some examples so that things make more sense.
Enjoy 🍿
It’s the olympics
and you are asked to make a system for people to see all the available games
, see details
of the games they like and buy tickets
to go and see them.
We can create a web app to show all this information to the user. I personally feel more comfortable with React
but we can use whatever we want. The web app should have AT LEAST the following pages.
/games
/games/{gameId}
/games/{gameId}/buy
To display all the games and allow users to buy tickets we need to store our data into a Database. We can use a SQL database. MySQL is a good candidate to get started with. We need to design 2 tables. Let’s not talk about storing users yet.