Grokking the
Coding Interview: Patterns for Coding Interview
One-stop portal for all your coding interview needs.
Coding Interview
Coding Patterns
Data Structures & Algorithms
Art of Recursion
Dynamic Programming
Trusted by developers working in top tech companies like
Preview our most popular courses



Fast and Slow Pointers
Detects cycles in linked lists using two pointers at different speeds.
Merge Intervals
Efficiently merges overlapping intervals or determines their intersection.
Level Order Traversal
Groups tree nodes by depth to answer questions one level at a time.
Tree Depth First Search
Explore trees by traversing each branch as far as possible before backtracking.
Island (Matrix Traversal)
Solves problems of identifying and counting islands in a matrix.
Two Heaps
Efficiently solves problems related to scheduling and data streams with heaps.
Modified Binary Search
Solves problems with variations on the classic binary search algorithm.
K-way Merge
Merges K sorted arrays or lists efficiently into one sorted array or list in linear time.
Greedy Algorithms
Uses a greedy approach to find locally optimal solution for a global optimum.
Fibonacci Numbers
Dynamic programming where each state is built from the previous ones.
Palindromic Subsequence
Dynamic programming across substrings to find palindromic sequences.
Backtracking
Depth-first technique to solve problems by exploring different possibilities.
Topological Sort (graph)
Orders directed graph vertices such that u precedes v for every edge (u, v).
Multi-threaded
Uses multiple threads for concurrent tasks, enhancing system performance.
Counting
Tallies how often each value occurs to answer questions in linear time.
Monotonic Queue
Keeps a queue in sorted order to read sliding-window extremes in O(1).
Linear Sorting Algorithms
Sorts in O(n) using counting, radix, and bucket techniques.
Meet in the Middle
Splits the search space in half to cut exponential work down.
Mo's Algorithm
Reorders offline range queries so they can be answered efficiently.
Serialize and Deserialize
Converts a structure to a string and rebuilds it exactly.
Articulation Points and Bridges
Finds the vertices and edges whose removal disconnects a graph.
Hear from Successful Tech Professionals




All Coding Courses















