In today’s Grokking the System Design Interview review, you’ll discover this FAANG-level course in detail.
You’ll also discover its features and explore a few system design challenges.
Is this a course you can benefit from? Or is it just another cash grab taking advantage of aspiring FAANG software engineers?
Let’s dive into it and find out.
This post contains affiliate links. We may receive compensation if you buy something. Read our disclosure for more details.
💾 Grokking the System Design Interview is a FAANG-level course on the learning platform Educative.io. 💾
⚡ It features 15 different system design challenges. ⚡
🚀 You’ll be challenged to design everything from a URL shortener to an Uber backend. 🚀
A few years ago, a new online learning platform named Educative.io wanted to know if I’d like to produce a course for them.
Although I kindly declined (at the time I was buried deep in client work🥶), I was intrigued by the platform.
Well, for one, the course selection on Educative.io is not only robust but wonderfully specific.
For example, Reintroducing React: V16 and Beyond was created for web developers who dabbled in React a year or two ago, but need a modern refresher.
Ruby Concurrency for Senior Engineering Interviews? You don’t get more specific than that.
Similarly, the Grokking the System Design Interview course on Educative.io is designed for those who need brushing up on a highly specific skill set: the system design process.
And it was created by hiring managers at Google, Facebook, Microsoft, and Amazon.
That means this course contains actual Google system design interview questions, for example.
So if you’re hoping to land a job at one of the FAANGs (Facebook/Amazon/Apple/Netflix/Google), read on.
Grokking the System Design Interview
System Design interviews are arguably some of the most difficult for software engineers.
Making it even more challenging, many college computer science courses and coding bootcamps don’t include system design in the curriculum.
But Grokking the System Design Interview bridges that gap.
It’s designed to expose you to the most important elements of system design asked in FAANG-level interviews.
Grokking the System Design Interview features 15 system design interview challenges.
You’ll learn how to design everything from Dropbox, to Pastebin, to your expected regulars like Facebook, Twitter and Netflix.
This course was developed by Design Gurus, a group of hiring managers who’ve been working at Google, Facebook, Amazon and Microsoft.
So the designers of this course know exactly what’s being asked at these interviews.
Essentially, Grokking the System Design Interview is a short, concise and practical course broken down into two sections.
System design tools include 2 coding playgrounds, 22 code snippets and over 100 illustrations to reinforce critical concepts.
Want to give Grokking the System Design Interview a shot? 🎯
Section 1 is all about system design problems. You’re introduced to a step-by-step guide to system design interviews, then thrown into the challenges. Each challenge also contains sections detailing various conditions and constraints of the system.
Sample Case: Design a URL Shortening Service like TinyURL
In this challenge, your job is to design a URL shortener service like TinyURL.
Like the other system design interview questions, you get an introduction to the system (i.e. why you would need a service like this), then you walk through the requirements and goals. 🥅
In the case of the URL shortener, you are given functional requirements, non-functional requirements, and extended requirements.
The course emphasizes that these are things you need to clarify with your interview before you start designing. By doing this, you can find the exact scope of the system that the interviewer has in mind.
For this challenge, the following are listed as the functional requirements:
1. Given a URL, our service should generate a shorter and unique alias of it. This is called a short link. This link should be short enough to be easily copied and pasted into applications.
2. When users access a short link, our service should redirect them to the original link.
3. Users should optionally be able to pick a custom short link for their URL.
4. Links will expire after a standard default timespan. Users should be able to specify the expiration time.
Additional details for your URL shortener are hammered out 🔨 in additional sections including:
- system APIs
- database design
- basic system design and algorithms
- data partition and replication
- load balancer
- purging or DB cleanup
- security and permissions
This step-by-step problem solving process is mirrored in all the other system design challenges. Some challenges do have variations on these sections, such as Designing Facebook’s Newsfeed.
You’ll also be dealing with the Feed Ranking portion and detailed component design, for example.
You’re given tips and techniques on how to solve these challenges throughout each step of the system design process.
The second part of Grokking the System Design Interview is a large glossary of System Design Basics.
Remember all that stuff I listed like caching, data partitioning and load balancing?
If you’re a little rusty on that, this section explains exactly what that stuff is. You’ll also learn about:
- SQL vs. NoSQL
- Consistent Hashing
- Long-Polling vs WebSockets vs. Server-Sent Events
- and much more.
Grokking the System Design Interview: Cost
Educative.io offers a few different pricing options.
The first main option is a subscription. You can choose a monthly, yearly, or two-year service. This gives you access to all of Educative.io’s courses.
Subscription prices range from about $15 a month up to $60 per month.
Keep in mind, the annual plans are billed yearly.
Alternatively, Educative.io also sells their courses individually.
If you choose that option, Grokking the System Design costs around $80. Keep in mind this is for yearly access to the course.
I personally think the yearly Educative.io subscription is the way to go.
That way, you can feast on this course and hundreds of others. It’s also part of a learning path called Ace the Java Coding Interview, which consists of 8 other courses in addition to this one.
In my opinion, you can’t go wrong with the subscription even if you just need to prepare for a technical interview.
Grokking the System Design Interview: Who is this course really for?
All in all, I really think Grokking the System Design Interview is a high-quality course.
However, it’s geared towards a specific subgroup of engineers with their sights set on top tech companies like Google and Amazon.
While this is a great course, I wouldn’t recommend it to code newbies or new engineers as there is a high opportunity cost.
If you’re wondering what I mean by that, check out this review of Cracking the Coding Interview.
If you want to stand out in front of the pack of hungry FAANG applicants, study the system design tools and problem-solving techniques featured in this course.
They just might do wonders for making you stand out when the big day comes to land that FAANG software engineering role.
👉 Check out Grokking the System Design Interview
And if you really want to grok ’til you drop, read my review on Grokking the Coding Interview.
Grokking the System Design Interview enthusiasts are also reading:
- 8 System Design Books You Need in 2021 [Plus Bonus Courses]
- SystemsExpert vs Grokking the System Design Interview SHOWDOWN
- Is SystemsExpert Worth It in 2021? [SystemsExpert Review]
- 23 LeetCode Alternatives You Need in 2021 [Courses, Platforms, Books]