Browse all documentation

Coding practice

Solve real interview problems in seven languages, on any device.

Solving a problem

Open Interview prep and pick a problem. Write your solution in Python, JavaScript, TypeScript, Java, Go, C++, or Rust — the editor works on phones and tablets as well as laptops. Your code is saved as you type, separately for each language; to start over, Reset (the circular arrow beside the language) puts the starter code back.

Each problem gives you a method to fill in, as on LeetCode — `twoSum(nums, target)` rather than a string to parse — with real arguments: numbers, strings, arrays, grids, linked lists and binary trees. Your own inputs take one value per parameter, written as JSON (`[2,7,11,15]`, `"hello"`).

Run tries your code on the problem's visible cases, plus up to five inputs of your own, and shows what it printed. Submit runs every case, including hidden ones, and gives the verdict an interviewer would: Accepted, Wrong Answer, Runtime Error, Time Limit Exceeded, Output Limit Exceeded, or Compile Error.

Problems for a specific company (Pro)

Free includes the problem bank to practise any time. On Pro and Pro+, search a company to see what it tends to ask, and have PursuitLane write a fresh practice problem for that company and role — 60 a month on Pro, 180 on Pro+.

A Go solution can be written as a whole Go file, imports included; the common packages are already available without importing them.

Visualize your own code (Pro+)

On Pro+, Visualize in the top bar steps through your own solution line by line, in any of the seven languages: pick one of the problem's example cases or type an input of your own, then play, pause or step at 1×, 2× or 4×. Every array, map, linked list and tree is drawn as it changes, beside the call stack and a sentence on what each step did.

If your code returns the wrong answer, Jump to where it went wrong takes you to the step that produced it, and Ask the coach sends that moment to the coach in one tap. Hidden test cases are never shown.

The playground (Pro+)

Playground, in the sidebar, is for any program — not a problem's method. Pick a language, write a whole program, type what it should read from standard input, and Run it to see what it prints, its exit status and how long it took, or a compile error on your own line.

Visualize steps through the program line by line from its first statement, showing every variable and object as it changes — in Python today; the other languages are on their way, and say so when you try them. Programs are kept in your browser, separately for each language, and never stored by PursuitLane.

Your submission history

Every time you Submit a bank problem, it's saved to that problem's Submissions tab: the verdict, language, runtime, and when. Open one to see your code again, load it back into the editor (this replaces what's currently there, so it asks first), or delete it.

An Accepted submission also gets a time and space Big-O estimate — how your code performs, compared against the problem's known optimal — worked out automatically in the background, plus a chart of how long each test case took to run. This never costs a coach hint.

Your submitted code is stored encrypted and deleted along with your account — see Your data for the full picture.