Who does the system design interview apply for? The probably most fundamental question. And if you want to be sure to know your chances to be faced with a system design interview before the regular coding interview, from experience I can tell rushing preparations last minute is stressful and rarely leads to the desired outcome. So you really want to know if you're going to have a system design interview in your process. So what are the factors that make a system design interview likely? It mostly depends actually on two factors. Your seniority has a big impact, and for senior level onwards, you're very likely to have a system design interview or aspects of it in your application process. The second factor that matters most is the tier of the company you're interviewing with. that matters most is the tier of the company you're interviewing with. So if it's small or mid-sized company, probably local, you are most unlikely to face a structured systems and interview. While corporates are more likely to include those system design interviews in the hiring process and once you hit fan companies you can be sure that there is such an interview. And to illustrate this with very clear two examples, once you interview with Google as a senior, you're definitely going to have a systems and interview. And if you are interviewing just at the beginning of your career and you want to join a local company, you probably won't have a system design interview. And to be honest, that's pretty much it for this very first chapter. I would skip the initial Q&A because it's so short and directly jump to the second one and then have a longer Q&A session after those two. and then have a longer Q&A session after those two. And we get to the next one right now. And this is the next logical question really, after you already identified that the system design interview actually applies for you. Which kind of interview questions actually exist? And let's start with what you probably already know. which kind of interview questions actually exist. And let's start with what you probably already know. System design interview questions are always very broad and unspecific. Typically, you are simply asked how to design X. And X can be all kinds of systems. You can be asked to design a vending machine, Dropbox, an individual file synchronization service in a file sharing system like Google Docs, for example, or even a content delivery network or CDN for short, which is critical for streaming platforms. This seems a random selection of very different questions. So let's bring clarity. And we can put those actually in different buckets. First, we should talk about questions like designing a vending machine or Dropbox. Both are high-level design questions. And high-level design in general is concerned with providing an overview of a system's architecture, components, and their interactions. And within high-level design questions, you can differentiate between generic systems like the vending machine or real-world systems like Dropbox. And the difference between them is that generic systems are mostly, or generic system questions are mostly concerned about you being able to identify requirements and constraints to then suggest a design that meets them. On the other hand side, real-world systems or the questions about real-world systems are about designing those large-scale complex systems. They require careful consideration of technical and architectural aspects as well as user experience. Let's move on to find out how those categories actually, like the other two, how the other two questions fall into their categories. And they belong actually to the realm of low-level design. Low-level design in general is concerned with the detailed implementation of a system, including algorithms, data structures, interfaces, these kind of things. a system including algorithms, data structures, interfaces, these kind of things. And here again questions fall into generic or real world, the real world category. Generic low-level design questions are concerned with designing complex systems components from scratch and here that's where the CDN goes, for example. While the file synchronization service question is a deep dive into a specific detail of a file sharing system, like I mentioned before, Dropbox, Google Docs, for example. And this is clearly a real-world system. That's a bit much for the beginning, so let's look at the whole picture all at once. And as you see, there we have our four categories which house our system design questions. And we have questions that focus on high or low level design, and within those, we actually have to, those two rows, we actually can say, oh, it's a generic one or a real world focused question. And in my research, I actually was able to fit all common system design questions into this schema.