| 01 | Revenue by categorySQL · Filter and aggregate | SQL | easy | 10m | ○ not started |
| 02 | Trip stats by citySQL · Filter and aggregate | SQL | easy | 10m | ○ not started |
| 03 | SLA breaches by prioritySQL · Filter and aggregate | SQL | medium | 20m | ○ not started |
| 04 | Customers who never orderedSQL · Joins and anti-joins | SQL | easy | 10m | ○ not started |
| 05 | Agents hired before their managerSQL · Joins and anti-joins | SQL | easy | 10m | ○ not started |
| 06 | Units sold per productSQL · Joins and anti-joins | SQL | medium | 15m | ○ not started |
| 07 | Running revenue by monthSQL · Window functions | SQL | easy | 15m | ○ not started |
| 08 | Driver earnings rankSQL · Window functions | SQL | easy | 15m | ○ not started |
| 09 | Weekly ticket changeSQL · Window functions | SQL | medium | 20m | ○ not started |
| 10 | Top product per categorySQL · Top-N per group | SQL | medium | 20m | ○ not started |
| 11 | Top three drivers per citySQL · Top-N per group | SQL | hard | 30m | ○ not started |
| 12 | First-response SLA by channelSQL · CTEs and recursion | SQL | medium | 25m | ○ not started |
| 13 | Agent reporting chainSQL · CTEs and recursion | SQL | hard | 30m | ○ not started |
| 14 | Days off between shiftsSQL · Gaps and islands | SQL | easy | 15m | ○ not started |
| 15 | Longest online streak per driverSQL · Gaps and islands | SQL | medium | 25m | ○ not started |
| 16 | Keep the first-ingested copy of each eventSQL · Deduplication | Pipelines | medium | 20m | ○ not started |
| 17 | Duplicate ingest rate by event typeSQL · Deduplication | Pipelines | medium | 15m | ○ not started |
| 18 | Session ids for app eventsSQL · Sessionisation | Pipelines | medium | 25m | ○ not started |
| 19 | Session summary per userSQL · Sessionisation | Pipelines | hard | 35m | ○ not started |
| 20 | Daily orders including zero daysSQL · Date spines | SQL | easy | 15m | ○ not started |
| 21 | Daily open ticket backlogSQL · Date spines | SQL | medium | 25m | ○ not started |
| 22 | Tickets by priority and channelSQL · Pivot and unpivot | SQL | easy | 10m | ○ not started |
| 23 | SLA hit rate by metricSQL · Pivot and unpivot | SQL | hard | 35m | ○ not started |
| 24 | Price validity rangesSQL · Slowly changing dimensions | Data modelling | medium | 20m | ○ not started |
| 25 | List price at order timeSQL · Slowly changing dimensions | Data modelling | hard | 30m | ○ not started |
| 26 | Group rows by a keyPython · Core data structures | Foundations | easy | 10m | ○ not started |
| 27 | LRU cachePython · Core data structures | Foundations | medium | 25m | ○ not started |
| 28 | Count status codes in an access logPython · Parsing logs and files | Pipelines | easy | 15m | ○ not started |
| 29 | Split a CSV line with quoted fieldsPython · Parsing logs and files | Pipelines | hard | 35m | ○ not started |
| 30 | Batch a stream lazilyPython · Generators and streaming | Pipelines | easy | 15m | ○ not started |
| 31 | Streaming moving averagePython · Generators and streaming | Pipelines | medium | 20m | ○ not started |
| 32 | Stable content hash for a recordPython · Hashing and idempotency | Pipelines | easy | 15m | ○ not started |
| 33 | Idempotent upsert by versionPython · Hashing and idempotency | Pipelines | medium | 25m | ○ not started |
| 34 | Revenue by category in pandasPython · Dataframes | Pipelines | medium | 20m | ○ not started |
| 35 | Point-in-time price lookupPython · Dataframes | Data modelling | hard | 35m | ○ not started |
| 36 | Replay a key-value logPython · Append-only log and replay | Storage | easy | 15m | ○ not started |
| 37 | Recover a log with a torn final recordPython · Append-only log and replay | Storage | hard | 35m | ○ not started |
| 38 | Top-k by cosine similarityPython · Cosine similarity and top-k | Embeddings | medium | 25m | ○ not started |
| 39 | One step of cosine k-meansPython · Cosine similarity and top-k | Embeddings | medium | 30m | ○ not started |
| 40 | Recall@k of an approximate indexPython · Cosine similarity and top-k | Retrieval | medium | 25m | ○ not started |