Career5 min read10 sections

How to crack a data engineer interview at Uber

A plain-English plan for an Uber data engineering interview: what the work is like, what to practise, and how to prepare using trip and driver data as examples.

Updated Written for: Students and freshers aiming for a data engineering role at Uber.

What you will learn

  • Uber's data is about trips, drivers and riders, so practise SQL and data modelling on a small trips table.
  • Expect SQL, coding, data modelling and a pipeline design question, and confirm the mix with your recruiter.
  • Know what Kafka, Spark, Hudi and Presto are for, in one sentence each.
  • Read a few posts from Uber's engineering blog to learn the kind of problems the teams solve.
On this page
  1. What the role looks like
  2. How the hiring process usually runs
  3. What they test and how to practise it
  4. Tools and ideas worth knowing by name
  5. Questions to practise
  6. Practise with trip data
  7. An 8-week plan
  8. Mistakes freshers make
  9. How to talk about your project
  10. Where to start today

Most guides about getting into a big company are written for software engineers. This one is for a data engineering role: the person who moves data from where it is created to where people can use it. It explains what Uber interviews usually look like, what to practise, and how to spend 8 weeks. You do not need to know any of this already.

1Apply

Match your resume to the skills in the posting.

2Recruiter call

Background, interests and timing.

3Technical screen

SQL or coding while you talk.

4Interview set

Coding, SQL, data modelling and pipeline design.

5Decision

Feedback is gathered and a decision is made.

Figure 1. A typical path: apply, recruiter call, technical screen, then a set of interviews covering coding, SQL, data modelling and design.

What the role looks like

Uber moves people and goods, so its data is about trips, drivers, riders, prices and maps. Data engineers build the pipelines and tables that answer questions such as how many trips finished in a city this hour, or how long riders waited.

Uber writes openly about its engineering. For example, it created Apache Hudi, a way to keep tables on a data lake up to date, and it has written about using Kafka and Spark. Reading a few of these posts shows you the kind of problems the teams face.

How the hiring process usually runs

Read this as a typical order, not a promise. Some stages are skipped for some roles, and for students the first stage is often an internship application.

  1. Application. Apply for the role that fits you and list the tools you have used. One project about events or trips is a strong fit.
  2. Recruiter call. A short conversation about your background and interests.
  3. Technical screen. Usually SQL or coding at an easy to medium level, solved while you explain your thinking.
  4. Interview set. Several interviews. For data roles, candidates commonly report SQL, coding, data modelling and a design question about a pipeline. Ask your recruiter what to expect for your role.
  5. Decision. Interviewers share feedback and decide. Timing varies.

What they test and how to practise it

Each row is one thing an interviewer wants to see, what to practise for it, and where to practise it here.

What they checkWhat to practisePractise it
SQLJoins, windows, sessionising events, finding gapsSQL practice
CodingHash maps, sorting, intervals, simple graphsPython practice
Data modellingDesign tables for trips, drivers and paymentsStar schema vs snowflake
Big data basicsWhy Spark exists, what a shuffle is, what skew isWhat is Apache Spark?
Streaming basicsWhat Kafka does, batch versus streamWhat is Apache Kafka?

Tools and ideas worth knowing by name

Uber's engineering writing mentions several open source tools. You do not need to know them deeply as a fresher, but you should be able to say what each is for.

  • Apache Kafka carries streams of events, such as a driver location update or a trip status change.
  • Apache Spark processes large amounts of data across many machines.
  • Apache Hudi keeps tables on a data lake updated with inserts and updates.
  • Presto or Trino run fast SQL queries over large data.

You do not need to be an expert in any of these. You need to say what each one is for, in one sentence, and show that you can learn it.

Questions to practise

These are the shapes of question to practise, written the way an interviewer might say them. They are not a leaked list. Solve each one yourself first, then check your answer.

  • Given a trips table, return the number of completed trips per city per day.
  • Find riders who took a trip on three days in a row.
  • For each driver, find the longest gap between two trips.
  • Group events into sessions where a new session starts after 30 minutes of no activity.
  • Design tables for trips, drivers, riders and payments. What is one row in each?
  • Trip counts for one city dropped to zero at 2 pm. What do you check first?

Practise with trip data

Make a small table of trips with a trip id, driver id, rider id, city, start time, end time and fare. Write ten questions about it: trips per city, average fare, busiest hour, drivers with no trips today. Then answer each in SQL and in Python. This one table covers most of the question types above.

An 8-week plan

Study about an hour a day. If you have less time, stretch each row and keep the order.

WeeksFocusWhat you can do at the end
1 to 2SQL basics: joins, GROUP BY, NULLAnswer easy SQL questions without looking anything up
3 to 4Window functions, CTEs, deduplicationSolve "top N per group" and "latest row per key" questions
5Python: dictionaries, loops, strings, filesSolve easy coding questions in about 20 minutes
6Pipelines and warehouse ideasExplain raw, clean and reporting layers and how a rerun stays safe
7One project, written upWalk through the project in 5 minutes and answer "what went wrong?"
8Mock interviews for UberTalk through a problem out loud while you solve it

Mistakes freshers make

  • Memorising answers. Interviewers change the data and the wording. Learn why a solution works, not what it looks like.
  • Going silent. Say what you are thinking. A wrong answer with clear thinking often scores better than a right answer nobody understood.
  • Skipping the checks. After you write a query, say how you would check it: count the rows, look for NULLs, look for duplicates.
  • Having no project. One finished project you can explain beats five half-finished ones.
  • Not asking questions. If a question is unclear, ask about the data and what one row means. That is what a working data engineer does.

How to talk about your project

Pick one project and prepare a 5-minute story: the problem, the data, the design, one thing that went wrong, and what you would change. Interviewers at any company, including Uber, tend to spend the most time on "what went wrong", because it shows how you think. Build one from the projects page and write it up with a README.

Where to start today

Open the SQL practice problems, solve three, and write down what confused you. Then pick the Learn track that covers it. A small start today is worth more than a perfect plan next month.

Keep practising

Take what you just read into the editor.

Browse all 59 guides