Google Data Engineer Interview Questions & Practice
Google Data Engineering interviews emphasise strong SQL (BigQuery-style analytics), Python coding, and large-scale pipeline design (Dataflow/Beam concepts). Work through the question styles below with instant grading.
What to emphasise for Google
Google works on planet-scale analytics and cloud data services, so it is worth going in strong on algorithmic problem solving alongside data modelling, plus distributed-systems fundamentals such as partitioning, consistency and fault tolerance. Treat that as where to spend your last few days of revision, not as a script — the fundamentals below are what actually get tested, and a candidate who can write clean SQL and explain a pipeline end to end does well regardless of the company. Note that interview formats change frequently and vary by team and level, so use this as preparation guidance rather than a guarantee of what you will be asked.
What a Data Engineer interview usually covers
Most Data Engineering loops test four things, in some combination. First, SQL — almost always the deepest-tested skill, with joins, aggregation, window functions and top-N-per-group questions appearing again and again. Second, data modelling and pipeline design: how you would ingest a source, where you would clean it, how you would handle late or duplicate records, and how the tables would be laid out for consumption. Third, coding in Python or PySpark, usually a transformation rather than a puzzle. Fourth, a discussion of something you have actually built, where the interviewer probes your decisions and what you would change.
How to practise so it sticks
Reading solutions creates a false sense of readiness. Write the query yourself, run it, and check the output against the expected result — that feedback loop is what turns recognition into recall. Work in patterns rather than one-off puzzles: once you can write a top-N-per-group query from memory, a whole family of questions becomes routine. Then practise explaining your approach out loud before you type, because most interviews assess your reasoning as much as your final answer. Finish by rehearsing two or three projects in enough detail to discuss the trade-offs you made.
A four-week preparation plan
Week one: rebuild SQL fundamentals — joins, grouping, subqueries and CTEs — until they are automatic. Week two: window functions and the analytics patterns built on them (running totals, ranking, period-over-period, deduplication). Week three: PySpark — the DataFrame API, joins and shuffles, partitioning, and why a job is slow. Week four: system-style design questions and behavioural preparation, plus timed mixed practice so you are used to switching between question types. Throughout, keep a short list of the mistakes you actually make and re-test yourself on those, since that is where the marginal gains are.
Practice challenges
- Find Duplicate Emails (sql, easy, +50 XP)
- Second Highest Salary (sql, easy, +50 XP)
- Validate Unique User IDs (python, easy, +50 XP)
- ROW_NUMBER: Assign Unique Rank to Each Employee (sql, easy, +50 XP)
- RANK: Rank Employees by Salary (With Gaps) (sql, easy, +50 XP)
- RANK vs DENSE_RANK: See the Difference Side by Side (sql, easy, +50 XP)
- SUM OVER: Show Grand Total on Every Row (sql, easy, +50 XP)
- LAG: Show Previous Day's Sales Amount (sql, easy, +50 XP)
- LAG: Calculate Day-Over-Day Sales Change (sql, easy, +50 XP)
- LEAD: Detect Days Where Sales Will Increase Next Day (sql, easy, +50 XP)
- FIRST_VALUE: Show Highest Salary in Each Department for Every Employee (sql, easy, +50 XP)
- ROW_NUMBER: Remove Duplicate Rows and Keep One Per Order (sql, easy, +50 XP)
- Customers Who Never Placed an Order (sql, easy, +50 XP)
- Find Average Order Amount for Each Customer (sql, easy, +50 XP)
- Find the Most Recent Order Date for Each Customer (sql, easy, +50 XP)
- Find the Customer Who Placed the Most Orders (sql, easy, +50 XP)
- Departments With More Than 2 Employees (HAVING) (sql, easy, +50 XP)
- Find the Average Rating of Each Product (sql, easy, +50 XP)
- Word Frequency Counter (python, medium, +50 XP)
- DENSE_RANK: Rank Employees Without Gaps (sql, medium, +50 XP)
What SQL level does Google expect for data roles?
Advanced analytical SQL: window functions, arrays/structs thinking, deduplication, and cost-aware query design. The window-function challenges below are the right practice.
Is Python required for Google Data Engineer roles?
Yes — expect at least one coding round with Python data-structure and parsing problems, similar to the Python set on this page.
Not affiliated with Google. All companies · Free challenges · DE jobs