Free · New questions every week

Become part of the SELECT few
who ace the SQL interview.

Two to three medium-hard product-analytics SQL questions every week, themed around a real company you know. Real PostgreSQL in your browser, instant answer checking, and AI that explains what you got wrong. Sign in to see this week's set.

or
We verify your email so we can send you a question every week. No spam, unsubscribe anytime.
Why it's different
🐘

Real PostgreSQL

Runs an actual Postgres engine in your browser — not a fake sandbox. Window functions, CTEs, intervals, all of it.

🧪

Product-analytics focus

Funnels, session gaps, percentile latencies, power-user concentration — the messy analytics questions top companies actually ask.

AI query review

Claude reviews your query like a senior colleague — flagging logic errors and edge cases, not formatting nits.

Instant checking

Run your query and check it against the reference answer row by row. Know immediately if you nailed it.

📅

Fresh every week

2–4 new questions land every week. Past weeks archive into a paid backlog if you want to practice more.

🎯

Built by an insider

Designed by a Meta data scientist around the patterns that actually show up in DS and analytics interviews.

How it works
1

Pick a question

Open this week's set against a realistic schema of users, chats, messages, and calls — modeled on Meta's WhatsApp.

2

Write & run SQL

Query a live Postgres database right in the editor and see your results instantly.

3

Check & get feedback

Compare against the reference answer and get AI feedback on your logic and edge cases.

A taste of the questions
query.sql
Q1 · Group Chat Carry Rate

Who carries the group chat?

For each WhatsApp group with ≥5 members and ≥50 messages in the last 30 days, compute the share of messages from its top sender. Then bucket by group size and report median, p90, and the fraction dominated by one person.

WITH sender_counts AS ( SELECT chat_id, sender_id, COUNT(*) AS n FROM messages WHERE sent_ts >= '2026-05-15' GROUP BY chat_id, sender_id ) SELECT size_bucket, PERCENTILE_CONT(0.5) WITHIN GROUP (...) FROM qualifying GROUP BY ...

Ready to join the SELECT few?

Free every week. Paid backlog launching soon.

30:00
Question
Schema
query.sql
Output
Check
AI Review
Loading PostgreSQL...