Evaluate your SQL, Python, Design, Dashboarding, AI Engineering & Communication skills.
Pick a section and start. Every attempt draws a fresh random set from a curated pool, so retakes stay useful — and SQL and Python code runs in your browser. No sign-up, no backend. How it works.
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.
2026 Hot Topics
Storage Lens & FinOps, Iceberg catalogs & partitioning, skew, streaming & CDC, schema & contracts, lineage, security, metadata, event-driven, vector infra and data mesh — the senior/staff concepts behind the 2026 Hot Topics deep-dives.
AI Engineering
LLM fundamentals, tokens & context windows, prompt & context design, RAG, embeddings & vector DBs, tool-calling, agents, evaluation, cost optimization, guardrails & security, and production AI architecture — the applied-AI questions now asked across engineering, data and product interviews.
Communication
Clear, globally-understood professional English — grammar & usage, interview answers, workplace conversations, email & chat, standups, explaining technical concepts, feedback, conflict, incidents, cross-cultural and executive communication. Rewrite and scenario exercises self-rated against a model answer.
Dashboarding & BI
Metric design, KPI hierarchy and chart choice; non-additive measures and grain traps; semantic layers and metric governance; filters, date ranges and drill paths; dashboard performance and precomputation; non-production test data; row-level security; and the internals of Tableau, Power BI and Looker. A candidate can write excellent SQL and still build a dreadful dashboard — this section is that gap.
Spark Debugging & Performance
The engine layer, tested the way an incident tests you: triage and evidence, Spark UI and log forensics, executor memory and the four distinct OOMs, GC, data skew, shuffle and AQE, join strategy and cardinality, driver bottlenecks, UDF cost, file layout, the three different things called partitioning, caching, cluster sizing, stragglers, and cost per TB. Almost every question gives you a symptom and asks what you would check — diagnosis before configuration. Pairs with the Spark Debugging handbook.
Refine this check Full pool · all companies
Target specific companies
Pick one or more companies and your SQL or Python check is drawn only from real, company-tagged interview questions. Leave it empty for the standard topic-randomized check. Design and 2026 Hot Topics have no company data, so they always run topic-randomized.
Refine the question pool
Drill exactly what you want. Difficulty and format start fully on — click a chip to drop it ("tricky" lives in Hard; drop Multiple-choice to skip pure-theory recall and keep the hands-on Code and Open-ended questions). Topics start empty — add any to focus a section on those subject areas. Each section card shows the resulting pool size.
Format and topic filters apply to the topic-randomized pool — company-tagged SQL & Python questions come from a separate code-only bank, so only Difficulty narrows those.
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.
- Company mode (SQL & Python) — open Refine this check below the section cards, pick one or more companies, and the quiz is drawn from a pool of real, company-tagged interview questions instead of the topic pool. Those questions are self-rated against a model answer.
- Refine the pool — the same panel narrows every section by difficulty, format and topic. Drop Multiple-choice to skip pure-theory recall; keep Hard for the tricky ones; add topics to focus on specific areas. Each section card shows the filtered pool size live.
- 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.
- Every visit is a clean slate — submitted attempts don't persist; landing here always starts a new draw.
- Mid-quiz reload-safe — accidental refresh while answering keeps your in-progress answers, but a finished attempt won't follow you back.