Tech Wrench

Tech tales, anecdotes and musings…

The Ultimate Collection of System Design Resources for Tech Interviews

SystemDesign
Tech Wrench
Published in
9 min readDec 15, 2022

--

Updated: 2nd Dec 2024

Introduction

If you want to land a job at any of the tech companies abbreviated by FAANG, MAANG, or some other in-fashion fancy acronym, you must ace the System Design round(s). In fact, mastery of System Design is the Rubicon that separates seasoned engineers from budding amateurs in the tech industry. We have taken it upon ourselves to maintain a comprehensive and curated list of free and paid resources for candidates to prepare for System Design interviews.

Photo by Mike Hindle on Unsplash

Free vs Paid

Today’s plethora of tech interview-prep classes and System Design courses are reminiscent of the California Gold Rush in the 1840s and 1850s. Back then, the news of gold discovery brought roughly 300,000 people to California, to try their luck at mining gold. The prospectors needed a pick and a shovel to look for gold, and though there was no guarantee that a prospector would find gold but the companies that sold the tools for mining gold made a profit on each sale. Today’s Gold Rush of California is the Big Tech FAANG/MAANG jobs, and the pick and shovels are the interview prep courses. There’s no guarantee that purchasing any of the interview prep paraphernalia can land the candidate a FANG/MAANG job, nevertheless, the digital hawkers selling these courses make money on every sale.

These courses may totally be worth your money, let us explain why. Consider the scenario the last time you fell sick. The remedy would include a physician prescribed antibiotics course. Though antibiotics are not good for our body but they make us well in the short-term. These interview tools are akin to antibiotics, they prepare us for one-hour interview rounds, but do not transform us into legendary engineers. For excellent health, we watch our diet, workout, and regularly take vitamins over an extended period of time, similarly, to be excellent engineers we’ll go through volumes of technical literature, work on complex systems and surround ourselves with the brightest in the industry over an extended period. A course or two won’t make us a Google L8 overnight but will certainly help us pass that one-hour round!

With that in mind, you can also think of these paid interview materials as an investment. Say, if you end-up spending $500 for your interview prep but get a $20K (very common) raise in your next gig, that’s a 40 times return on your investment! However, truth be told, all these courses with their accompanied marketing gimmickry, are absolutely not necessary to land a FAANG/MAANG job. If you are determined and disciplined there’s ample free content on the good old internet that you can go through to prepare just as well. Remember, the CAP theorem stays and reads the same in “Grokking the System Design Interview” course as well as on Wikipedia. Two plus two would always equal four, whether you read it for free on the internet or whether you read it in a course, that you paid for.

At the end, it boils down to your personal choice whether you make a purchase or bet on the free content. As a general rule of thumb, the more senior and experienced you are the less value you’ll derive out of these paid interview prep products. For all those who decide to buy the pay-walled content, the fact remains that these companies selling digital “picks and shovels”, stand to make a buck whether we land the job or fail at the very first phone screen. Good luck and Godspeed!

Without further ado, here’s the compilation of all resources for acing your next System Design interview:

Books

  1. Designing Data Intensive Applications — This is an absolute must-read book! The author Martin Kleppmann is an authority on distributed systems and many of topics talked about at length in this book are also covered in many of the paid courses albeit superficially. You can likely find a free pdf download of the older versions of the book on Google.

Paid Courses and Sites

Now onto paid courses and sites.

The Grokking Series

Arsalan Ahmad, the “OG” of System Design interview prep and also the author of the “Grokking Series” courses, was the first to introduce formal prep material on system design. Himself a veteran of Facebook, Arsalan initially published his content on Educative.io, until there was a falling out between the two parties over revenue sharing. Arsalan now exclusively offers his courses on DesignGurus.com. The courses can be purchased for lifetime access. Here are the list of courses:

  1. Grokking the Advanced System Design Interview
  2. Grokking the System Design Interview
  3. Best of System Design

Additionally, there are courses for coding/algorithm problems too

  1. Grokking Dynamic Programming Patterns for Coding Interviews
  2. Grokking the Coding Interview: Patterns for Coding Questions
  3. Grokking the Object Oriented Design Interview
  4. All Coding courses

There’s also an option to buy all the courses on the site for a discounted price.

Educative.io

Next is Educative.io, a funded startup, which has introduced a series of its own courses on System Design.

  1. Grokking Modern System Design Interview for Engineers
  2. Scalability & System Design for Developers
  3. Machine Learning System Design
  4. Deep Dive into System Design Interview

Educative requires a monthly subscription fee and whatever you purchase will not be accessible after your subscription expires. However, your subscription allows you to access hundred of courses offered on Educative’s platform in addition to the system design ones. Educative offers, montly (most expensive), yearly, or two-year (least expensive) subscription plans. Think of Educative like a buffet of tech courses, you pay a monthly fee and then consume as much content as you like.

ByteByteGo

Alex Xu, is a content creator on LinkedIn and has two books on Amazon and one course on his website.

  1. System Design Interview — An insider’s guide (volume 1)
  2. System Design Interview — An insider’s guide (volume 2)

Additionally, Alex sells a course for an yearly subscription that includes all the content in the two books and then some more. On his course website, Alex promises to add regular new content to the course.

Think Software Learning

Ironically, Think Software is headed by a different Arsalan Ahmad! An engineer with 16+ years of distributed engineering experience. Arsalan runs a YouTube channel as well as sells an online course. The course can be purchased for yearly access or lifetime access.

  1. The Distributed System Design Interviews Bible course
  2. Think Software Youtube channel

SystemExpert

Yet another vendor in the interview prep space. Clement Mihailescu co-founded AlgoExpert and as system design interviews exploded in popularity, a sister site SystemExpert.io was born.

  1. System Design course by the name of SystemExpert

Like the other vendors, SystemExpert has an annual subscription.

TechInterivewPro

This site was founded by Patrick Shy, of the Facebook tech lead fame. He was fired by Facebook for his video postings on YouTube. He runs a Youtube channel where initially he posted some System Design content but later changed the channel content to a different entertainment niche. Patrick also offers two coding courses.

  1. Techseries course
  2. Codepro course.

InterviewReady.io

This is an India based company founded by Gaurav Sen. The website sells a course for $65 for lifetime access.

TryExponent

TryExponent offers a suite of tech-orientated courses and one among them is their System Design course, taught by ex-Dropbox engineer Jacob Simon. Similar to other vendors, they charge a monthly subscription fee.

Sundog Education

Founded by an ex-Amazon manager Frank Kane, Sundog Education offers a slew of courses and one amongst them is the System Design one.Offered at a very attractive price point of $24 for life-time access. His course is one of the best-sellers on Udemy.

Udemy

Udemy is teeming with courses on System Design. In all, there are 22 video-based courses. We list only the top five ranked by popularity on Udemy below:

  1. Mastering the System Design Interview by Frank Kane (Buying it from Frank’s own site is probably much cheaper)
  2. Pragmatic System Design by Alexey Soshin
  3. System Design Interview Guide for Software Architecture by Sandeep Kaul
  4. Rocking System Design by Rajdeep Saha
  5. The Complete Design Interview Course by Abhijeet Desai

In-Person Classes

This is the most expensive category of interview preparation. We only recommend this form of preparation if you are very early in your career, switching your career from another field or are consistently unsuccessful at cracking interviews at BigTech, say at least four unsuccessful attempts.

Scalar Academy

Previosuly known as interviewbit, scalar academy is an India based interview preparation company that runs a 7 to 9 month long interview prep course. Student in-take is restricted to tech professionals with at least 6 months of experience. The website doesn’t mention upfront pricing and encourages the visitor to attend a webinar or talk to one of their advisors.

InterviewKickstart.com

Founded by ex-Box manager, Soham Mehta, Interview Kickstart started off in 2014 with basic interview prep classes and over time has grown to offer a host of interview prep classes for multiple roles across different engineering levels. The company is based in the Bay Area and runs regular cohorts for interview prep. The pricing isn’t stated upfront and the website encourages the visitor to attend a webinar. One aspect that stands out about Interview Kickstart is their money back guaratee — “If you do well in our course but still don’t land a domain-relevant job within the post-program support period, we’ll refund 100% of the tuition you paid for the course.” Though, the price to attend the course is likely several thousand dollars.

DesignGurus

After publishing text-based courses, DesignGurus is branching out to running online cohorts for interview preparation that include live classes.

Free Content

We also document all the worthwhile free content that can be useful for your System Design interview preparation.

LinkedIn

There are several individuals on LinkedIn posting content related to system design interview. Here is a list of some prominent ones:

  1. Neo Kim.

Cracking the Coding Interview

An article on tech interview preparation is incomplete without mentoning Gayle Laakmann McDowell of the Cracking the Coding Interview fame. Gayle herself a software engineer, also worked on the Google hiring committee during her time at the tech giant. Her book was really the first ever interview prep material on the market but over time competitors such as LeetCode and Educative have innovated their way ahead with more interactive interview prep offerings. However, Gayle still sellls her books and runs a System Design section on her website:

  1. Cracking the Coding Interview
  2. CareerCup System Design Questions

LeetCode System Design Questions

The absolute best when it comes to coding interview preparation! LeetCode has disrupted the tech interview process like no other and has become the gold standard for coding/algorithm interview prep. The LeetCode Effect, is a great article that describes how LeetCode upended and changed interview practices in Big Tech forever. Unfortunately, LeetCode doesn’t have a strong offering when it comes to System Design prep, however, they still have a forum for discussing System Design questions:

  1. LeetCode System Design Questions

YouTube Channels and Videos

  1. Martin Kleppmann also runs a YouTube channel and has several videos on distributed systems https://www.youtube.com/@kleppmann/videos
  2. SystemDesignInterview channel https://www.youtube.com/@SystemDesignInterview
  3. Software Engineering by Hussein Nasser https://www.youtube.com/@hnasr/videos
  4. Asli Engineering by Arpit Bhayani https://www.youtube.com/c/ArpitBhayani
  5. Alex Xu also runs a YouTube channel https://www.youtube.com/@ByteByteGo/videos
  6. A recommended viewing “What Every Programmer has to know about Database Storage by Alex Petrov
  7. Scalability Harvard Web Development by David J. Malan
  8. Distributed Systems in One Lesson by Tim Berglund
  9. Building Scalable, Highly Concurrent and Fault-Tolerant Systems by Jonas Bonér
  10. Microservices by Martin Fowler
  11. What I Wish I Had Known Before Scaling Uber to 1000 Services by Matt Ranney
  12. Streaming a Million Likes/Second: Real-Time Interactions on Live Video by Akhilesh Gupta

GitHub Notes

  1. System Design Primer https://github.com/donnemartin/system-design-primer#study-guide

Research Papers

  1. Bigtable: Bigtable is a distributed storage system for managing structured data that is designed to scale to a very large size: petabytes of data across thousands of commodity servers.
  2. GFS: A scalable distributed file system for large distributed data-intensive applications.
  3. Amazon Dynamo DB: A highly available key-value storage system used by Amazon to provide low-latency data access for its e-commerce platform.
  4. Chubby Lock Service: Chubby lock service is a distributed lock manager used for maintaining coordination and consistency in large-scale distributed systems.
  5. Hadoop — HDFS:
  6. Cassandra: Cassandra is a highly scalable, distributed NoSQL database designed to handle large amounts of data across many commodity servers.
  7. Zookeeper: Zookeeper is a distributed coordination service used to manage and synchronize the configuration, naming, and status information of nodes in a cluster.
  8. Apache Kafka: Kafka is a distributed streaming platform used for building real-time data pipelines and streaming applications.
  9. MapReduce: MapReduce is a programming model used for processing and generating large data sets in a parallel and distributed computing environment.
  10. Basics of Log: Unifying data in real time using a log.

Tech Company Blogs

  1. Amazon: Builder Library
  2. AWS: https://aws.amazon.com/blogs/aws/
  3. Meta: https://engineering.fb.com/
  4. Instagram: https://instagram-engineering.com/
  5. Uber: https://www.uber.com/blog/oakland/engineering/
  6. Dropbox: https://dropbox.tech/
  7. Netflix: https://netflixtechblog.com/
  8. Salesforce: https://engineering.salesforce.com/
  9. Pinterest: https://medium.com/@Pinterest_Engineering
  10. AirBnB: https://airbnb.io/
  11. LinkedIn: https://engineering.linkedin.com/blog
  12. Spotify: https://engineering.atspotify.com/
  13. Stripe: https://stripe.com/blog/engineering
  14. Snap: https://eng.snap.com/blog
  15. Instacart: https://tech.instacart.com/
  16. Slack: https://slack.engineering/
  17. Tinder: https://medium.com/tinder
  18. Flipkart: https://blog.flipkart.tech/
  19. Myntra: https://tech.myntra.com/
  20. Twitter: https://blog.twitter.com/engineering/
  21. Lyft: https://eng.lyft.com/
  22. Miro: https://medium.com/miro-engineering
  23. Canva: https://canvatechblog.com/
  24. Etsy: https://www.etsy.com/codeascraft
  25. Ubuntu: https://ubuntu.com/blog
  26. Docker: https://www.docker.com/blog/
  27. Linux Foundation: https://www.linuxfoundation.org/blog
  28. Qualcomm: https://developer.qualcomm.com/blogs
  29. Intel: https://www.intel.com/content/www/us/en/developer/library.html
  30. GitHub: https://github.blog/
  31. Mozilla: https://hacks.mozilla.org/
  32. Google Developers: https://developers.googleblog.com/
  33. IBM Developer: https://developer.ibm.com/blogs/
  34. Microsoft Azure: https://azure.microsoft.com/en-us/blog/

Thought Leader

  1. Martin Fowler: https://martinfowler.com/architecture/

Conclusion

Remember, you may be able to squeeze through a one-hour System Design round by cramming content from one of the myriad of courses listed above, but truly mastering the art of designing complex distributed systems requires reading and absorbing in-depth technical literature along with hands-on implementation of such systems over a long period of time. There’s no shortcut, no silver bullet, no System-Design-viagra that will vault you into the MAANG/FAANG Engineers Hall of Fame! So keep grinding and keep hustling on the treadmill of System Design.

--

--

SystemDesign
SystemDesign

Written by SystemDesign

The ultimate Poor man’s system design interview prep guide -- https://systemdesign.medium.com/membership

Responses (2)