Reps on what data engineering interviews actually test: late data, duplicates, re-runs, SCD2. Write SQL or PySpark in your browser and get graded like a senior engineer's review.
Daily batches of order updates land in orders. Keep order_facts holding the latest version of each order.
Your script may run twice for the same batch: it must be idempotent.
Day 1 lands. Your INSERT passes the test.
Most practice sites give you a clean table and one query. Data engineering interviews, and the job, look like this:
Every problem says where it comes from: a question candidates reported from data engineering loops, or an incident engineers had to clean up.
Reported Meta data engineering SQL question: a rolling 7-day distinct active user count for each day.
Amazon candidate report: "pull the values that show up consecutively 3 times".
Slowly changing dimensions come up in nearly every data modeling round, deletes and comebacks included.
Marketplace SQL rounds (Airbnb-style): host responsiveness, a metric that feeds search ranking.
A favourite product analytics interview question, and easy to get subtly wrong.
Reported Meta data engineering SQL question: a rolling 7-day distinct active user count for each day.
Amazon candidate report: "pull the values that show up consecutively 3 times".
Slowly changing dimensions come up in nearly every data modeling round, deletes and comebacks included.
Marketplace SQL rounds (Airbnb-style): host responsiveness, a metric that feeds search ranking.
A favourite product analytics interview question, and easy to get subtly wrong.
Orchestrator retries re-ran an INSERT INTO … SELECT: the day's revenue doubled.
Validation silently dropped about 10% of records. Found weeks later, when revenue looked low.
A "fall back to the last successful date" rule: every retry reprocessed Saturday, and every run reported success.
Orders joined to items and payments in one query: rows multiply, and DISTINCT only hides it.
Reports grouped on UTC break twice a year: 23- and 25-hour days. A published postmortem, redone.
Orchestrator retries re-ran an INSERT INTO … SELECT: the day's revenue doubled.
Validation silently dropped about 10% of records. Found weeks later, when revenue looked low.
A "fall back to the last successful date" rule: every retry reprocessed Saturday, and every run reported success.
Orders joined to items and payments in one query: rows multiply, and DISTINCT only hides it.
Reports grouped on UTC break twice a year: 23- and 25-hour days. A published postmortem, redone.
ProBig tech loop: rounds reported by Meta, Amazon, Airbnb and Uber candidates
Three buttons, the way you'd work on a real pipeline: try it, replay it day after day, then get graded on hidden cases.
the script's last query
Cube reads your script, your last run and the failing check. It hints one step at a time, explains why it failed, and reviews your solution the way an interviewer would.
Step by step, from a nudge to the approach. The author's hints first, then the AI.
Points at the lines and the rows that broke the check, in your code.
What would pass, what would cost you the round, and the follow-up they'd ask.
Remembers what trips you up and tunes the next hints to your level.
The patterns interviewers ask about, on the engines teams use, graded on what matters.
Deduplication, incremental loads, MERGE upserts, slowly changing dimensions, sessionization, late data. Each one runs like production: batches land, your script runs, it runs again.
See which requirement failed, on which rows, and your score. Hidden cases never leak the expected answer.
Create staging tables, query them, fix your MERGE, run again. Load the next day's batch by hand. Reset whenever you want.
Answer six questions and get a sequence of problems with a weekly pace: an interview sprint, SQL foundations, or production pipelines.
Set a 45-minute limit and solve against the clock. The coach goes quiet until time is up, like the real thing.
A rating per skill after every graded submission, from Beginner to Expert, and what to practise next.
Challenge a friend on the same problems, run a contest for your class, or join a company's hiring challenge. Finish near the top, share your profile, and an engineer there can refer you.


Trino SQL and PySpark on Apache Iceberg. Every run sandboxed; hidden data stays hidden.
Most problems and the core plans are free. Pro opens the advanced plans and the hardest problems, and makes the loop faster.
Everything you need to practice.
Faster feedback when the interview is close.
Cancel any time from Settings.
Get a plan for your level and your interview date.
Solve your first problem →Autograded labs on a real stack for your whole cohort.
See Shuffleet for schools →Yes, no card needed. Most problems and five guided plans, the interview sprint included, are free and graded. Pro adds the advanced plans (production pipelines, big tech loop, modeling, lakehouse, finance), their hardest problems, faster parallel runs and your full history.
Yes. Six quick questions pick your starting point; newcomers start with SQL foundations and move on to pipelines.
They're great for SQL interview questions on one table. Shuffleet covers what comes next: pipelines whose data arrives in batches, late or twice, and scripts that must give the right answer when they run again. You can use both.
Trino SQL (one SELECT, or a full script with CREATE, MERGE and INSERT) or PySpark (return a DataFrame from solve(spark), or write the tables yourself). Both are graded by the same checks.
No. Everything runs in your browser, on our infrastructure.
No. Runs are sandboxed, every query passes a policy check, and hidden data lives in a catalog users can't read.
Engineers at a company post a set of problems with a deadline. Join, solve, and choose whether to share your results and the code you submitted with them; they never see your email. They refer the players they like through their own company's process.
The app is in English and French; switch any time in Settings.
Practise it now, on the real thing. Your first problem takes about fifteen minutes.
Solve your first problem, free