SQL · Python · Polars · Quant Finance

Land your next
data engineering
role

Practice real SQL queries, Python transformations, Polars pipelines, and quant finance problems in a browser IDE — with instant automated feedback on every submission.

No credit card required · 25 free problems

polars-customer-dimension.py
✓ All tests passed
import polars as pl

def solve(raw_customers: pl.DataFrame) -> pl.DataFrame:
    # Deduplicate keeping newest record per customer,
    # then assign surrogate keys 1..N
    return (
        raw_customers
        .sort(["customer_id", "updated_at"], descending=[False, True])
        .unique(subset=["customer_id"], keep="first", maintain_order=True)
        .sort("customer_id")
        .with_row_index("customer_key", offset=1)
        .select(["customer_key", "customer_id", "name", "email", "segment"])
    )
Visible tests2 / 2
Hidden tests1 / 1
Runtime312 ms
Why CodePrep

Everything you need to interview confidently

Not another set of toy puzzles. Real tools, real data, real feedback.

Real execution sandbox

Your code runs inside an isolated Docker container against actual datasets — pandas DataFrames, Polars pipelines, and DuckDB for SQL. No toy evaluators.

Instant per-test feedback

See pass/fail on every test case in seconds, including diffs between expected and actual output for visible cases. Hidden cases reveal only a count.

Dataset previews

Every problem ships with real seed data. Preview schema and sample rows before you write a single line, and Run to see raw output instantly.

Progress dashboard

Track solved problems by difficulty and topic, keep your daily streak alive, and review your full submission history.

Quant finance track

Black-Scholes pricing, implied volatility solvers, EWMA volatility estimation, Sharpe ratios — problems you'll actually see at quant trading desks.

Structured curriculum

Problems tagged by concept — window functions, SCD2, star schema, ETL pipelines, time-series — so you can work through gaps systematically.

Problem library

Three tracks, one platform

Cover every question type you'll encounter in data engineering and quant finance interviews.

SQL

SQL & Analytics

  • Monthly Active Users with window functions
  • Revenue cohort analysis
  • Sessionisation from event logs
  • Rolling 7-day retention
Python · pandas

Python & pandas

  • Daily log-returns from price series
  • Sharpe ratio computation
  • Black-Scholes option pricing
  • Implied volatility via Newton's method
Polars

Polars pipelines

  • Flatten JSON event logs
  • SCD Type 2 customer history
  • Customer dimension deduplication
  • EWMA volatility over partitions

The Polars SCD2 question was exactly what came up in my DE interview at a major fintech. Passed first round.

Data engineer, Series B startup

Finally a platform that runs real code instead of checking string output. The sandbox is legit.

Quant developer, prop trading firm

Black-Scholes and implied vol problems in one place — my quant prep went from weeks to days.

Junior quant, investment bank

Pricing

Simple, honest pricing

Start free. Upgrade when you need the full library. Cancel any time.

Free

$0forever

Enough to get a feel for every track and start building momentum.

Get started free
  • 25 problems (SQL, Python, Polars)
  • Unlimited submissions
  • Run & preview mode
  • Progress dashboard
  • Community access
  • Hidden test cases
  • Quant finance track
  • Advanced data modelling
Most popular

Pro

$19per month

Full access to every problem, track, and hidden test case.

Start Pro — 7 days free
  • Everything in Free
  • Unlimited problems (100+)
  • Hidden test cases revealed on pass
  • Quant finance track (20 problems)
  • Advanced data modelling track
  • Priority submission queue
  • Download your solutions

Team

$49per seat / month

For hiring teams running technical screens or cohorts of engineers upskilling together.

Contact us
  • Everything in Pro
  • Team dashboard & analytics
  • Custom problem sets
  • Candidate invite links
  • Submission audit log
  • SSO / SAML
  • Dedicated support

Ready to start interviewing better?

25 free problems. No card required. Get your first pass in under 10 minutes.

Create free account