Practice

Real problems with real tests. Pick a fundamental, write the code, ship it. SQL runs on DuckDB and Python on Pyodide, both inside your browser.

0 of 40 shipped
#ProblemTopicLevelTimeStatus
01Revenue by categorySQL · Filter and aggregateSQLeasy10m○ not started
02Trip stats by citySQL · Filter and aggregateSQLeasy10m○ not started
03SLA breaches by prioritySQL · Filter and aggregateSQLmedium20m○ not started
04Customers who never orderedSQL · Joins and anti-joinsSQLeasy10m○ not started
05Agents hired before their managerSQL · Joins and anti-joinsSQLeasy10m○ not started
06Units sold per productSQL · Joins and anti-joinsSQLmedium15m○ not started
07Running revenue by monthSQL · Window functionsSQLeasy15m○ not started
08Driver earnings rankSQL · Window functionsSQLeasy15m○ not started
09Weekly ticket changeSQL · Window functionsSQLmedium20m○ not started
10Top product per categorySQL · Top-N per groupSQLmedium20m○ not started
11Top three drivers per citySQL · Top-N per groupSQLhard30m○ not started
12First-response SLA by channelSQL · CTEs and recursionSQLmedium25m○ not started
13Agent reporting chainSQL · CTEs and recursionSQLhard30m○ not started
14Days off between shiftsSQL · Gaps and islandsSQLeasy15m○ not started
15Longest online streak per driverSQL · Gaps and islandsSQLmedium25m○ not started
16Keep the first-ingested copy of each eventSQL · DeduplicationPipelinesmedium20m○ not started
17Duplicate ingest rate by event typeSQL · DeduplicationPipelinesmedium15m○ not started
18Session ids for app eventsSQL · SessionisationPipelinesmedium25m○ not started
19Session summary per userSQL · SessionisationPipelineshard35m○ not started
20Daily orders including zero daysSQL · Date spinesSQLeasy15m○ not started
21Daily open ticket backlogSQL · Date spinesSQLmedium25m○ not started
22Tickets by priority and channelSQL · Pivot and unpivotSQLeasy10m○ not started
23SLA hit rate by metricSQL · Pivot and unpivotSQLhard35m○ not started
24Price validity rangesSQL · Slowly changing dimensionsData modellingmedium20m○ not started
25List price at order timeSQL · Slowly changing dimensionsData modellinghard30m○ not started
26Group rows by a keyPython · Core data structuresFoundationseasy10m○ not started
27LRU cachePython · Core data structuresFoundationsmedium25m○ not started
28Count status codes in an access logPython · Parsing logs and filesPipelineseasy15m○ not started
29Split a CSV line with quoted fieldsPython · Parsing logs and filesPipelineshard35m○ not started
30Batch a stream lazilyPython · Generators and streamingPipelineseasy15m○ not started
31Streaming moving averagePython · Generators and streamingPipelinesmedium20m○ not started
32Stable content hash for a recordPython · Hashing and idempotencyPipelineseasy15m○ not started
33Idempotent upsert by versionPython · Hashing and idempotencyPipelinesmedium25m○ not started
34Revenue by category in pandasPython · DataframesPipelinesmedium20m○ not started
35Point-in-time price lookupPython · DataframesData modellinghard35m○ not started
36Replay a key-value logPython · Append-only log and replayStorageeasy15m○ not started
37Recover a log with a torn final recordPython · Append-only log and replayStoragehard35m○ not started
38Top-k by cosine similarityPython · Cosine similarity and top-kEmbeddingsmedium25m○ not started
39One step of cosine k-meansPython · Cosine similarity and top-kEmbeddingsmedium30m○ not started
40Recall@k of an approximate indexPython · Cosine similarity and top-kRetrievalmedium25m○ not started