Interview practice
Practise the
design round,
not just the code.
Answer a system-design brief on a canvas — the components and the edges between them, the entities it stores, the classes, the trade-offs you made. Four typed parts, against a stated scope, so the answer is precise instead of a whiteboard photo. The coding round is here too: ten languages, hidden tests, a judge that measures what your code really did.
python · java · c++ · c · javascript · typescript · go · rust · ruby · php
Architecture
components + edges
Entity design
keys + cardinality
UML design
classes + methods
Reasoning
the trade-offs
The design round
Four parts, each one typed — not a whiteboard photo.
Architecture
The components and how they talk: sync, async and replication edges, drawn as a graph the tool can read back rather than a picture.
Entity design
The data model — tables, keys, nullability and the cardinality between them. The place to commit to a partition key and say why.
UML design
The classes: fields, methods, and the relationships between them — inheritance, composition, the interface a strategy sits behind.
Reasoning
The write-up. What you rejected and why, the estimate the design has to survive, the trade-off you are choosing to make.
What's under it
4
parts to a design
An answer is four typed parts, not a drawing: an architecture with sync, async and replication edges; an entity design with keys and cardinality; a UML design for the classes; and the written reasoning. Typed, so it stays precise instead of turning into a whiteboard photo.
60+
design briefs
From a URL shortener to multi-region failover and a chess rules engine — each with a stated scope: what it must do, what it must hold to, what is out of bounds, and the numbers worth deriving before you draw anything.
10
languages, one judge
Python, Java, C++, C, JavaScript, TypeScript, Go, Rust, Ruby, PHP — current compilers. Every run is jailed: no network, read-only filesystem, hard caps, killed on the clock. Runtime and memory read from cgroup accounting, not guessed.
The coding round
A verdict that
tells you something.
Ten languages on current compilers, hidden tests, CPU time and memory read from cgroup accounting. Wrong Answer shows the line that differed; Runtime Error names the signal; running out of memory says so, instead of leaving you to hunt a logic bug that was never there.
1System Design
Answer a brief on a canvas — architecture, entity design, UML design, reasoning. Four typed parts, against a real scope with the trade-offs written out.
ExploreData Structures
Arrays and hash tables through to Fenwick trees, suffix structures and sketches.
ExploreAlgorithms
Sliding windows and binary search through to network flow and string matching.
ExploreConcurrency
The threading round — print in order, FooBar, a bounded queue, the dining philosophers.
ExploreDatabases
SQL against a small online store — filtering and joins through to window functions.
ExplorePick a problem. Get to work.
Code gets a real verdict; a design gets answered on the canvas and saved. No setup, no toolchain, nothing to run on your own machine.
Browse problems