And this is about how to practice system design interviews systematically. Why this chapter is important? Let me explain. Since you already joined Wesley's MBA program, you found yourself basically the very first ingredient for an efficient interview preparation. I'm your mentor. Very much having a good person at your hand helping you learn the system components, concepts, technologies, all this background you definitely need to pass those interviews. But besides that, we already talked about it, you need to prioritize your questions that are most likely to come up. Then you have your way to answer them in the six systematic steps. So you're not going to be able to just do the interview questions you already know, but you can more or less securely adapt to even questions you haven't seen before. But what's missing is a strategy to efficiently exercise and practice. And this, again, relates to the question how to avoid getting nervous in the process. And how to efficiently exercise and practice is exactly what we're going to look at in this chapter. And here, we're just going to look at those six common steps again and it turns out actually only three of them actually require knowledge of specific systems and namely this is the requirements engineering, the system design and the design discussion. For the other three you mainly need to understand how to perform those steps, but you barely need any additional knowledge. And it's mostly about routine that makes you succeed here. If you want to learn more about that, you can check out my Udemy course today. This is just too much, so I haven't included it in the talk. But what we're going to do is we're going to talk about the system-specific steps and build up your knowledge there. I actually have two main findings which are going to help you do that, and that's what I want to share with you. It turns out all systems you come across can be clustered by their technical implementation. And it's basically the technical implementation of their core feature. Let me give you here three examples. Netflix, YouTube, and Spotify, they all share this main challenge to implement the technical infrastructure to enable streaming. Uber, Deliveroo, and Google Maps, they all share the dependency on those interactive maps. Twitter, Instagram, and Facebook, they all have this news feed. They need to get populated somehow. And let me share the second finding with you before we get to how we condense this into a strategy. get to how we condense this into a strategy. When it comes to support features, that's everything aside of the core features, it turns out they are very independent of the core features by themselves. For example, a recommendation engine, that can be added to Instagram, but it also can be added to Netflix or Deliveroo. Proximity estimation, critical for Uber, yes of course, but you could also argue that you can add it to WhatsApp because there you also have this current location and current location feature and you could use it to share display location and estimate proximity there. Full text search makes sense to add to Facebook but also to YouTube. And well there's a way to actually use this knowledge and translate it into a learning strategy. And I call this cluster by cluster and mix and match. And I call this cluster by cluster and mix and match. Let me explain this to you. Best to start practicing your systems and interview questions cluster by cluster. That means you start off with the easiest to implement cluster, which is obviously still relevant based on your background and the companies you interview with. And then work your way towards more complex ones. So example is you start with file sharing systems, and then you have your three examples you know that are file sharing systems, and then you build those. Or for streaming, it would be Netflix, YouTube, and Spotify. And while practicing those different implementations, you do the following. You just adapt small things which are specific to the individual implementation. And this is, for example, YouTube is a platform, and that means that users also upload the content, while for Netflix, for example, the employees of Netflix upload the content. And that makes a big difference when it comes to architecture and especially scale, because obviously YouTube is going to have to handle much more uploads than Netflix does. or much more uploads than Netflix does. And while you traverse through this clusters of different kinds of systems, you also apply this mix and match strategy for your support features. Because, as I explained before, recommendation engines, full-text search, maybe even user management can actually go into many different systems. And thereby, you can actually build up this library of support features you just own and know very well. And then you basically own the support features, you're very comfortable with them, and then it's only the core features you can still be surprised by.