Dreading a System Design Interview? Here Are Five Resources That Can Help🏅

Written by devgrowth | Published 2022/12/30
Tech Story Tags: system-design | system-design-interview | interview | software-engineering | software-architecture | guide | tutorial

TLDRSystem design interviews have gained popularity among hiring companies in recent years and there seems to be a trend that it will remain a common module in technical interviews just like data structures and algorithms (even though it is still controversial). Unlike data structures and algorithms, system design interview is often open-ended, which means the interviewer can probe in many possible directions in less than 45 or 60 minutes, making interview preparation a daunting task.via the TL;DR App

System design interviews have gained popularity among hiring companies in recent years and there seems to be a trend that it will remain a common module in technical interviews just like data structures and algorithms (even though it is still controversial). Unlike data structures and algorithms, system design interview is often open-ended, which means the interviewer can probe in many possible directions in less than 45 or 60 minutes, making interview preparation a daunting task.

One could try their best to gain more hands-on system design experience to increase their chances of acing the interview, but that requires time that one might not necessarily have. If you’re one of those individuals who has a short period of time to prepare for system design interviews, here are the top 5 resources I recommend that can ease you in on your journey:

1.Designing Data-Intensive Applications

This book has been recommended many times in numerous places, and it is indeed a great start to understanding distributed systems. Software keeps changing, but the fundamental principles remain the same. The book discusses the pros and cons of various technologies for processing and storing data.

Who should use it?

If you don’t have much distributed system design knowledge or system design experience, but have sufficient time to prepare, this book will give you a good amount of exposure to what to consider and the trade offs you are likely to make when designing a data intensive system.

2.The System Design Primer

This is probably the most popular open source system design repo. It covers the fundamental concepts used in system design, a basic framework to approach system design interview questions, as well as applying this framework to solve some common system design questions.

Who should use it?

If you are going to have an interviewing soon and you don’t have a lot time to learn a lot of things, this primer repo should be handy.

3. System Design Interview — An insider’s guide Volume 1, Volume 2

These books provide a step by step detailed guide on how to answer common system design questions in an interview setting. I like how the books explain applying the frameworks suggested with examples and trade offs.

The first book covers some common system design interview questions, while the second book goes more in depth.

Who should use it?

If you are okay with spending a bit money to get the book(s), and your main purpose is to pass the system design interview with flying colours while also learning more about the concept, then these books are worth the investment.

4. System Design Courses

If you’ve ever searched system design videos on YouTube, you’ve likely bumped into a channel called SystemDesignInterview which provides useful and in-depth content. The creator of the channel recently released a System Design for Interviews and Beyond course that covers system design interview extensively.

Who should use it?

If books aren’t your thing and you prefer learnign visually, then this course might be right for you.

5. Rinse and repeat with mock interviews

After learning system design knowledge from any of the above resources, the next essential step is to do as many mock interviews as you can so that you get to practise applying the framework.

I’ve used two platforms for mock interviews: one is Pramp, where you get paired randomly to a peer and then interview each other and gather feedback. The only drawback is that sometimes you get an experienced peer, sometimes you are the more experienced peer.

Another platform I can recommend is interviewing.io, which costs a bit more but has interviewers who are a lot more experienced.

Hope this helps you to start your system design journey!

Also published here.


Written by devgrowth | 👩‍💻 Software Engineer currently at a FAANG company https://devgrowth.gumroad.com/l/devgrowth-notion devgrowth.tech
Published by HackerNoon on 2022/12/30