
Revolut Data Engineer interview typically runs 4-5 rounds: recruiter screen, online assessment, live SQL/technical rounds, and an ETL or take-home round. It usually takes about 2-6 weeks and is notably SQL-heavy with realistic, multi-table live problems.
$117K
Avg. Base Comp
$129K
Avg. Total Comp
4-5
Typical Rounds
3-5 weeks
Process Length
We've seen Revolut care less about flashy theory and more about whether candidates can stay precise when the schema gets messy. Across experiences, the recurring pattern is a heavy emphasis on joins, aggregations, and window functions, but always with edge cases attached: users with no transactions, duplicate records, null prices, tie-breaking logic, and cancelled orders. One candidate described the interview as “70% SQL patterns, 30% analytical thinking,” and that feels accurate from the reports we’ve reviewed. The strongest candidates weren’t just fast; they narrated why they chose ROW_NUMBER() versus RANK(), or how they’d handle a running total without breaking partition logic.
A second theme is that Revolut seems to test how you structure data work, not just whether you can write the query. Multiple candidates reported being pushed on rewriting solutions with CTEs, explaining pipeline components in Python and SQL, and describing how Airflow, dbt, and documentation fit into the broader workflow. Even the more conversational rounds had a technical edge, with questions about governance and pipeline design that required real operational familiarity. We also see a clear bias toward realistic, production-like scenarios: large tables, multi-table joins, fraud or login-pattern detection, and performance follow-ups when the data volume is assumed to be huge. In practice, the make-or-break factor here is often whether you can keep your reasoning organized under pressure and adapt your solution when the interviewer adds one more constraint.
Synthetized from 2 candidates reports by our editorial team.
Had an interview recently?
Share your experience. Unlock the full guide.
Real interview reports from people who went through the Revolut process.
Revolut’s SQL round had 4 live questions on one schema. The time limit was 45 minutes, and sample questions included a triple join and a window function problem.
There were a few more interesting details from the full experience, especially around the exact structure of all 4 questions, how to prepare accordingly, and an insight into the next round (take-home). I’m sharing the full breakdown for those who want it.
Questions asked: One specific SQL problem I remember was about finding the top products by revenue from sales data. The task required joining an orders or order_items table with a products table, grouping by product, and calculating total revenue.
My approach was to use a JOIN on product_id, then calculate revenue using quantity multiplied by unit price, aggregate it with SUM, and order the result from highest to lowest revenue.
Example:
SELECT
p.product_name,
SUM(oi.quantity * oi.unit_price) AS total_revenue
FROM order_items oi
JOIN products p
ON oi.product_id = p.product_id
GROUP BY p.product_name
ORDER BY total_revenue DESC;
I also mentioned that I would check for edge cases such as duplicate records, null prices, missing product names, and cancelled orders before trusting the final result.
Share your own interview experience to unlock all reports, or subscribe for full access.
Sourced from candidate reports and verified by our team.
Topics based on recent interview experiences.
Featured question at Revolut
Get the top 3 highest employee salaries by department
| Question | |
|---|---|
| Rolling Bank Transactions | |
| Last Transaction | |
| Daily Logins | |
| Like Tracker | |
| Third Purchase | |
| Total Spent on Products | |
| Cumulative Reset | |
| Hurdles In Data Projects | |
| Sort Strings | |
| Slow SQL Query | |
| Diagnosing Query Speed Degradation | |
| Normal Distribution Sample | |
| Above Average Product Prices | |
| Why Do You Want to Work With Us | |
| Your Strengths and Weaknesses | |
| Decreasing Payments | |
| 2nd Highest Salary | |
| Empty Neighborhoods | |
| Comments Histogram | |
| Cumulative Distribution | |
| Merge Sorted Lists | |
| Experiment Validity | |
| String Shift | |
| Size of Joins | |
| Closest SAT Scores | |
| Month Over Month | |
| Prime to N | |
| Paired Products | |
| Alphabet Sum |
Synthesized from candidate reports. Individual experiences may vary.
An initial HR/recruiter conversation to cover your background, salary expectations, relocation, and the team’s tech stack. In some cases, the recruiter also explains the overall interview loop and asks high-level questions about your experience.
A timed, proctored coding test on CoderPad with copy-paste disabled. It typically includes a mix of Python and SQL questions, such as string/list manipulation, Pandas filtering, rolling windows, and grouping/ranking problems.
A live SQL interview with an interviewer on call, usually centered on one schema with multiple tables. Candidates are asked to solve several cascading questions involving joins, aggregations, window functions, ranking, click-through or product metrics, and sometimes fraud/security detection, while explaining their reasoning out loud.
A take-home exercise focused on ETL and data modeling. Reported topics include data quality, slowly changing dimensions (SCDs), and dbt snapshots, with an emphasis on how you would structure and maintain the pipeline.
A more hands-on technical conversation that digs into how you build and reason about data pipelines. Interviewers may ask you to walk through how Python, Airflow, SQL, and dbt fit together, as well as documentation and governance practices.