Skip to content
Work Practice Products Coding interviews Machine learning coding Quant developer HFT course Blog Method Why me About Book a call

Practice · Coding interviews

Coding interview course

10 modules, taken in order. Each opens with the pattern and a template short enough to write from memory, explains why the obvious approach is too slow, then gives you problems to solve in an editor in the page, in Python, C++, Java, JavaScript, Rust or Haskell.

  • 10 modules
  • 93 lessons
  • 195 problems
  • 6 languages
  • timed exam with a report
Not started

Start the course Sit the exam

Not sure which pattern a problem needs? The decision flowchart narrows it down in a few questions.


Course outline

The order matters more than people expect: each module assumes the argument made in the one before it, and the exam draws on all of them.

  1. 01

    Arrays and hashing

    Trade memory for time: a hash map answers "have I seen this?" in O(1), and most array problems reduce to asking it the right question.

    309 min
  2. 02

    Two pointers

    Two indices walking a sorted or paired structure, each step ruling out one candidate for good.

    439 min
  3. 03

    Sliding window

    A window that grows on the right, shrinks on the left, and holds an invariant at all times.

    480 min
  4. 04

    Binary search

    Search the answer, not the array: halve a monotone predicate until one candidate is left.

    739 min
  5. 05

    Dynamic programming

    Write the recursion, notice the repeats, fill a table in an order that makes each entry final.

    1245 min
  6. 06

    Stack

    Keep the elements whose question is still open; each new element settles the ones it beats and waits its turn.

    172 min
  7. 07

    Heap (priority queue)

    Keep the few elements that matter in a structure that hands you the smallest (or largest) in O(1) and updates in O(log n).

    68 min
  8. 08

    Backtracking

    Build a solution one choice at a time, and abandon a branch the moment it cannot succeed.

    70 min
  9. 09

    Intervals

    Sort by start to merge and count overlaps; sort by end to choose. One sorted pass replaces checking every pair.

    91 min
  10. 10

    Graphs

    Grids, networks and dependencies are all graphs. Breadth-first search finds shortest paths, depth-first search and union-find find what is connected, Dijkstra handles weighted edges, and a queue of nodes with no remaining prerequisites gives an order.

    948 min

How it works

Learn the pattern

When it applies, the signals in the question that point to it, and a template you should be able to write without thinking. Most interview bugs are deviations from the template made without a reason.

Solve it in the page

An editor with the signature ready, your code compiled and run against the real test table, and hints you open only if you need them. Solutions in all six languages, every one tested before publication.

Then do it under pressure

Exam mode gives you a window sized to the difficulty, a limited number of runs and submissions, and a report showing where the marks went. Solving alone and solving while the clock runs are different skills.


Exam mode

Pick a set and it starts here, in this page. Nothing is saved to an account and nothing is sent anywhere — the report is yours.

Choose a set

The rules

  • Easy problems get 12 minutes, medium 20, hard 30.
  • 8 runs and 3 submissions per problem.
  • A failed submission costs 15 marks; opening a hint costs 10.
  • Opening the solution scores the problem zero, as it would in a real screen.

Common questions

Do I need an account?

No. Every lesson and every problem is open, with its solutions in all six languages, the timed interview mode and Ask AI.

Which languages are covered?

Python, C++, Java, JavaScript, Rust and Haskell. Every solution is given in all six, and each one is compiled and run against the problem’s test table before it is published — so what you read is what passed.

Do I need to know a pattern before I start?

No. Each module opens with when the pattern applies and a template short enough to write from memory, then a lesson on why the obvious approach is too slow, and only then the problems.

What is exam mode?

A timed screen with the constraints of a real one: a window sized to each problem, a limited number of runs and submissions, a penalty for a failed submission, and a report at the end showing where the marks went. It runs in this page.

Is this for quant interviews or software interviews?

Both. The patterns are the same ones tested at trading firms and at large technology companies. The difference at a quant desk is the follow-up questions about complexity and numerical care, which the solutions address as they go.

How long does it take?

About 76 hours of reading and solving if you work through it in order, which is the way it is meant to be used. Most people come back to the exam several times.

Want someone watching how you code?

The gap between solving a problem alone and solving it while someone interrupts you is the whole interview. I run mock interviews one to one, and I have sat on both sides of them.

Quant interview preparation Book a 20-minute call