Evaluate your SQL, Python & Design skills.
Three sections — 20 questions per attempt, drawn randomly from a curated pool of around 200 per section, so retakes feel materially fresh. Mix of single-choice, multi-select, code, and open-ended prompts. Objective questions auto-grade; SQL and Python code questions run in your browser (PGlite Postgres + Pyodide); open answers reveal a model solution you can self-rate against. Progress saves locally — no sign-up, no backend.
SQL
Joins, aggregation, window functions, CTEs, transactions, indexing, and query reasoning. Code questions run in an in-browser PostgreSQL (PGlite).
Python
Idioms, data model, comprehensions, decorators, async, the stdlib, and the data stack. Code questions run in Pyodide with auto-pass/fail tests.
Data & System Design
Dimensional modeling, SCDs, partitioning, CDC, streaming, idempotency, and scale tradeoffs. Senior-level judgement.
How it works
- Each attempt draws a fresh random set of 20 questions from the section pool, with options shuffled — repeats and memorization don't help.
- Objective questions (single / multi) are auto-graded the moment you submit.
- SQL code runs against a preloaded PostgreSQL schema in your browser (PGlite, ~14 MB on first run — cached afterwards); result table is checked against an expected output.
- Python code runs in Pyodide (CPython 3.12 / WASM); a hidden test harness reports pass/fail. First load is ~6 MB.
- Open-ended answers reveal a model solution and key-points checklist — you self-rate Missed it / Partial / Got it.
- Progress saves automatically to localStorage; resume where you left off.
- Retake any time — Reset draws a new random set from the pool.