Coding interview patterns
Practice 150 original coding problems in Python, Java, TypeScript or JavaScript.
Projects, case studies and mock exams
Build and test related helpers in one retained source file.
6 steps · 120 minProject · AdvancedBuild schedulerBuild and test related helpers in one retained source file.
6 steps · 120 minProject · ExpertStateful service libraryBuild and test related helpers in one retained source file.
6 steps · 120 minCase study · ExpertRetry chain investigationUse checked helper results to distinguish repeated values from a cyclic retry route.
6 steps · 90 minBuild an approach before you code, then test it in a working editor. Start with arrays, hashing and two pointers. Continue through graph traversal, priority queues, dynamic programming, backtracking and stateful designs. Each problem has four language references, boundary tests and an explanation of its time and space cost.
Fresh mixed practice follows the pattern lessons. Projects retain your helper functions across steps. Role and difficulty sets openly reuse named bank problems for rehearsal. For a timed screen with a separate bank, choose two problems in 70 minutes or three in 90 minutes from Take the assessment. Your score includes credit for individual test cases. Mock interviews ask you to explain the contract, complexity and tests before and after coding.
Beginner
Arrays and hashing
Replace repeated scans with a set or a map that remembers what you have seen.
Two pointers
Walk two indexes through sorted or mirrored data so each step rules out part of the search.
Sliding windows
Keep a running total or count for a range of the list, and slide the range instead of starting over.
Intermediate
Stacks
Keep the items still waiting for a match on a stack, and resolve the newest one first.
Binary search
Find boundaries in sorted data, and the smallest answer that passes a yes-or-no test.
Linked lists
Follow and rewire next references without losing nodes, with dummy heads and fast and slow pointers.
Queue project
Build a reusable queue diagnostic file.
Advanced
Trees
Solve tree problems by combining answers from both children, by levels, and by passing bounds down.
Structures and ordered streams
Use tries, priority queues and structural invariants, then solve fresh transfer problems.
Graph and search patterns
Traverse networks, schedule dependencies and search reversible states, then apply them to fresh tasks.
Build scheduler project
Build dependency ordering, timing, cycle and termination analysis.
Expert
Algorithm state and designs
Build dynamic programs, string state and persistent data structures, then choose among them on fresh problems.
Stateful services and incident
Build stateful service helpers and investigate a retry incident.
Coding by role and difficulty
Rehearse named bank problems before a timed screen.