Choose your character

It shows in the top bar and on your profile. Change it any time.

Courses / Programming

Coding interview patterns

Practice 150 original coding problems in Python, Java, TypeScript or JavaScript.

Start lesson 1Practice interviewTake the assessmentPractice the first unit of every course. No account needed.
40lessons
248checked exercises
7projects, cases and exams
Prepares you for Coding screens and mock interviews by role

Projects, case studies and mock exams

Build 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

FreeNo account or card needed. Every lesson in this unit is yours to practice.

Arrays and hashing

Replace repeated scans with a set or a map that remembers what you have seen.

1 lesson

Two pointers

Walk two indexes through sorted or mirrored data so each step rules out part of the search.

1 lesson

Sliding windows

Keep a running total or count for a range of the list, and slide the range instead of starting over.

1 lesson

Intermediate

Stacks

Keep the items still waiting for a match on a stack, and resolve the newest one first.

1 lesson

Linked lists

Follow and rewire next references without losing nodes, with dummy heads and fast and slow pointers.

1 lesson

Queue project

Build a reusable queue diagnostic file.

1 lesson

Advanced

Trees

Solve tree problems by combining answers from both children, by levels, and by passing bounds down.

1 lesson

Build scheduler project

Build dependency ordering, timing, cycle and termination analysis.

1 lesson

Expert

Algorithm state and designs

Build dynamic programs, string state and persistent data structures, then choose among them on fresh problems.

7 lessons

Stateful services and incident

Build stateful service helpers and investigate a retry incident.

2 lessons

Coding by role and difficulty

Rehearse named bank problems before a timed screen.

8 lessons

Your Work Gym account

Save your progress and pick up on another device. Your browser's progress comes with you.

We'll email you a link. It works once and expires in 15 minutes.

You can keep practicing without an account.