In a system design interview, you’ll meet a senior engineering leader, who’s going to ask you an open-ended question: It can be something like “Let’s create a feed for Twitter”, or “Let’s implement a Hotel Booking System”.
Your goal will be to grab the helm for the next 45 minutes, crystallize the problem, and architect a system that solves it. This will demonstrate your ability and experience in your technical leadership.
This in our opinion, is one of the scariest interview types, but also one of the most fun. It’s scary because of how opened ended the question is, but it’s fun because you get to solve a big problem. You’ll learn how some of the most complicated and interesting systems are built — from Google Photos to Uber. The best part? All this learning will transfer from the interview room, into making you a better architect.
First, and foremost, come in with the right mindset. Most people come in with the mindset that this is an exercise — it’s like they are “playing house”, but for building systems. You can see this when candidates say things like they "would not do in real life." They may ignore some of the bigger technical problems they see — this is after all an exercise.
Unfortunately this will send the wrong signal — the interviewer will think you didn’t see the big problem.
Let’s change this mindset, instead of playing house, let’s build a real house. When you’re about to start the interview, take a moment, and imagine you are at an actual meeting at work. In that meeting you are told — here’s this problem, it is the highest priority now, and we need to get a team on this ASAP. Can we brainstorm the roadmap?
Your goal at the end of 45 minutes is to have that roadmap — something that can be divided up between a team, with open todos and a plan forward.
When you mindset is I am solving a real problem the rest of the interview will start off strong.