Review of Grokking the Coding Interview Course
Grokking the Coding Interview: Patterns for Coding Questions is an online course developed by Study it. According to its authors, this course has helped thousands of people to prepare for their Coding Interviews. Study it are also famous for their system design course Grokking the System Design Interview; I’ve reviewed that course too.
Review of Grokking the Coding Interview Course |
In this post, I will present a candid review of one of the most famous resources that many people use to prepare for their coding interview: Grokking the Coding Interview.
Who are the authors of this course?
This course was developed by Study IT, a group of senior engineers and hiring managers who’ve been working at Facebook, Google, Amazon, and Microsoft. The authors of this course have a lot of experience in conducting coding and system design interviews and know exactly what is being asked in these interviews. Other courses developed by the same team can be found on their website.
Let’s evaluate different aspects of this course.
Who should take this course?
This course is useful for anyone interested in preparing for coding interviews or wanting to improve their algorithms and problem-solving skills.
Is there any pre-requisite for the course?
You need to have a basic understanding of common data-structures like Array, LinkedList, HashMap, Stack, Queue, Heap, and Graph. You should also be familiar with Recursion and Big-O.
What languages are used to solve the coding questions?
Every problem presented in this course has been solved in Java, Python, C++, and JavaScript.
How to handle the unstructured nature of LeetCode?
If you are seeking a new job or preparing for a coding interview, you will definitely know LeetCode. It is probably the largest online repository of coding interview questions and also contains a vibrant community to discuss algorithms with other fellow engineers. One of the biggest challenges with LeetCode is that it lacks organization; it has a huge set of coding problems, and one feels lost on where to begin or what to focus on.
To make the coding interview preparation process organized, this course breaks coding questions into problem-solving patterns like Sliding Window, Fast & Slow Pointers, Two Heaps, Topological Sort, etc. Following this patterns-based approach helps people to map a new problem to an already known problem. The idea behind these patterns is that once you’re familiar with a pattern, you’ll be able to solve dozens of problems with it.
Also Read
English Conversation for Teachers
100 English Conversation for kid's
Daily class room sentence for Teachers and students
Course Layout
This course presents 16 problem-solving patterns, and each pattern covers a number of coding problems and their solutions.
Each pattern begins with a brief introduction before moving on to the problems. Under each pattern, the first problem explains the underlying pattern in detail to build concepts that can be applied to subsequent problems. The later problems focus on the different constraints each problem presents and how the algorithm should be changed in order to accommodate them.
Here is a complete list of patterns covered in this course:
1. Sliding Window
2. Two Pointers
3. Fast & Slow Pointers
4. Merge Intervals
5. Cyclic Sort
6. In-place Reversal of a LinkedList
7. Tree Breadth-First Search
8. Tree Depth First Search
9. Two Heaps
10. Subsets
11. Modified Binary Search
12. Bitwise XOR
13. Top ‘K’ Elements
14. K-way Merge
15. 0/1 Knapsack
16. Topological Sort
The authors have done a good job in presenting a wide range of solution patterns and covering each pattern with a set of challenging coding problems.
Breadth of Problem-Solving Patterns
With 16 patterns, this course did a great job. The same authors have another course specifically for Dynamic Programming problem patterns Grokking Dynamic Programming Patterns for Coding Interviews; covering five DP patterns with 35 coding problems. Overall, these two courses have 21 problem patterns and cover more than 250 coding problems.
The following post by one of the authors of this course mentions a few extra patterns: Grokking LeetCode; I believe they will be introducing new patterns in the course.
Conclusion: Is Grokking the Coding Interview Worth it?
If you are preparing for Coding Interviews, this course is worth your time, especially if you feel overwhelmed by huge sets of coding problems. The main purpose of this course is to enhance problem-solving skills by focusing on the underlying problem patterns.
0 Comments
Please Comment