Grokking the Coding Interview: Patterns for Coding Questions
Fast track your coding interview prep by learning coding patterns. Act smartly, and follow the coding patterns.
Course Overview
Coding interviews are becoming increasingly challenging. A few years back, brushing up on key data structures and going through 50 to 75 coding interview questions was more than enough prep for an interview. Today, everyone has access to massive collections of coding problems, and these problems have become increasingly difficult to account for. The process has gotten more competitive.
When our team sat together to brainstorm ideas to make the interview process easier for candidates, we quickly realized that one skill helped us the most when preparing for coding interviews: "the ability to map a new problem to an already known problem."
To help candidates with this, we have compiled a list of 32 common and 10 advanced coding patterns to empower you to solve unknown problems systematically.
Lifetime access to this course
Learn at your own pace with lifetime updates.
Lifetime access to this course
Learn at your own pace with lifetime updates.
What you'll learn in Grokking the Coding Interview: Patterns for Coding Questions
How to recognise the pattern behind a coding question, so one technique unlocks a whole family of problems instead of one answer you happened to memorise.
More than 40 coding patterns, from Two Pointers and Sliding Window through Topological Sort and Union Find to Segment Trees and Binary Indexed Trees.
245 hand-picked interview problems, each with a problem statement, an in-browser editor to attempt it yourself first, and a full worked solution.
Solutions in Python, Java, C++, JavaScript, Go, and C#, so you can prepare in the language you will actually interview in.
Time and space complexity reasoning for every solution, which is what interviewers ask about once the code already works.
The highest-yield array patterns first: Two Pointers, Fast and Slow Pointers, Sliding Window, and Merge Intervals, which between them account for a large share of real interview questions.
Tree and graph work done properly: breadth first and depth first search, level order traversal, matrix islands, topological sort, and union find.
Dynamic programming split into families you can actually recognise, including 0/1 Knapsack, Fibonacci numbers, and palindromic subsequences, rather than one intimidating topic.
Advanced patterns most courses leave out: segment trees, binary indexed trees, meet in the middle, articulation points and bridges, and prefix sums.
69 Test Your Knowledge problems across easy, medium, and hard, where nothing tells you which pattern applies, which is the only honest rehearsal for the real thing.