codeblocks.studio

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

design · url-shortenerArchitecture
ClientAPICacheWrite DBRead replica
sync replication

Architecture

components + edges

Entity design

keys + cardinality

UML design

classes + methods

Reasoning

the trade-offs

Every part is a typed graph, not a bitmap — so you and the brief can be exact about what you built.

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.

two_sum.pyPython 3.12
1
0/8 testsCompiling

Pick 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