Skip to content

Interview Guide for Mobile Engineering

This guide has been created to help you prepare for your upcoming interviews – we want to be as transparent as possible in our hiring process as we value your time.

Two Deliveroo employees
Two employees sitting down talking

Interviewing process at Deliveroo consists of 2 active stages for candidates and a passive stage where successful candidates are allocated to teams. 

  • Coding interview
  • Architecture interview
  • Behavioural interview

Understand the full interview process

Tech Screen Android

Android candidates will be offered to complete a 60 to 90-minute take-home challenge in which we want to assess your general coding skills.

Your recruiter will share a link to our Hackerrank task where you will be able to do all of your work.

General Info

❕Pro tip! In the coding test, modern Android development libraries (Retrofit, Ktor, etc) for network operations are not available. If you need to perform a network request, the simplest way is to use the java.net.URL class.

A few things to cover before you start

This is no secret but the interviewing environment is slightly different from your day-to-day work. With this in mind, make sure you spend some time on preparation. Those who practice, perform better.

Take a look at the Interview Preparation Kit and warm up a little before your big day.

Tech Screen iOS

iOS candidates will be offered to complete a take home assignment which will then be reviewed internally by our iOS engineering team.

The task will be fully iOS focused. Your recruiter will ask for your Github username to be able to send you the test assignment.

Completing this exercise will help us understand your iOS skills before the interview. It’s designed to replicate everyday work, but within an example movie app. You’ll complete 2 tasks:

  • Code review an existing change
  • Add a small feature to the app

Coding Interview

This 60 min long interview is set up to assess your coding skills, approach to problem-solving, communication skills and ability to work under time constraints.

The coding interview is based on the home task sent to you on Github. 

During the interview, the conversation will start with a short introduction. After that, we will move to the technical part of the interview where we will be reviewing a coding solution you have submitted before the interview. Using either Kotlin or Swift (depending on your domain), we will ask you to complete a couple of tasks (extensions) related to the original problem and to explain your thought process. Before the interview, please make sure you are able to share your screen, specifically in Google Meets. Also, for the coding interview please have the iOS/Android-code-test repository open and the feature/search branch checked out.

Interview structure

 

Solution walkthrough | 10 – 15 min

This part focuses on your introduction to the submitted solution. We would like you to explain your thought process during our interview, and any considerations or alternative options you had in mind when working on it.

Extension work | Live coding | 35- 45 min | 2-3 tasks

The task which you will focus on is a relatively short exercise where you will have to show your coding skills, specifically iOS/Android coding skills. We suggest you brush up on those to make your skills shine during the interview. We don’t expect you to complete the entire task, but keep the time in mind. More practice equals less stress.

 

Assessment rubrics | What interviewers look at

Coding – try to complete it using either Swift or Kotlin depending on your domain.

Problem-Solving – as there is a time limit associated with this interview, try to get the main task accomplished even if it means you are not producing the best code. Be sure to communicate this.

Communication – ask questions, and discuss your thoughts or any problems you’re having. Engineering is collaborative – so is the interview. If there is not enough time to code it out, at least go through it verbally.

Testing – testing code is important and something we do at Deliveroo. Show us how you do testing or talk through it if there is not enough time.

 

We are interested in learning how you work and solve problems therefore we expect this submission to be fully done by yourself. In this instance we say no to AI – all AI-generated submissions will be rejected.

The following are not allowed during a live coding interview:

Mobile Architecture Interview

During this 60 min interview, you will be tasked with designing the architecture for a simple mobile app. You will be given UI mocks of the app and asked open-ended questions about how you would go about building it.

The interviewers will be there to describe the problem, give clarifications and ask broad, guiding questions. Treat them as a fellow engineer and Product Manager combined and do feel free to clarify any requirements that may help you decide between different designs.

The main purpose of this interview is to assess your architecture design capabilities but that includes several other aspects too, like:

Additional Tips

Communicate – Ask questions, discuss your thoughts, and speak about any problems you’re having. Engineering is collaborative – so is the interview.

Drawing diagrams might be helpful but isn’t required – Your thought process is more important. Start at the high level and work down to the detail. Try to cover the subject in detail where possible.

We use Excalidraw as a whiteboarding tool for you to draw diagrams or make notes. Please take a few minutes to familiarise yourself with it before the interview.

Behavioural Interview

We are looking for people who are not only great at what they do, but we are also interested in how they impact the environments around them and work as a team.  

This interview looks at how you handled specific challenges in the past to assess if you would be a good match for the role. Some of the areas we address are:

We care about our culture as much as we care about our products! Have a look at our Deliveroo Values:


Live and breathe our marketplace 

Being deeply immersed in all sides of our marketplace, and each and every neighbourhood we serve.

Play to win

Setting bold targets and seeing them through with tenacity, creativity and grit.

Celebrate difference

Advocating for respect and fairness for everybody, understanding we are all individuals on a unique journey.

Champion big and small innovations 

Innovating no matter what our role is, and celebrating achievements no matter the size.

Obsess about operational excellence

Leaving things better than we found them, investing both our time and money in the things customers care about.

Be curious and intellectually honest

Thinking deeply and debating each other with respect while keeping our biases in check. 

Take a look at our few examples

Tell us about a time when you failed to meet a deadline. What did you fail to do? What did you learn? 

Before answering have a think about:

Describe to us a specific task or a challenge that you were facing and how you made sure in successfully completing it. What were the key factors of this success? 

Before answering have a think about:

  •  

Provide an example of the time when you had a difference of opinions with one of your colleagues regarding a project you both worked on and how did you arrive at the conclusion. 

Before answering have a think about:

Additional Tips

1

Listen Carefully

Rephrasing questions or asking for clarity is okay, as is telling the interviewer you want time to collect your thoughts.

2

Be Concise

Make sure you’re answering the question and not using a prepared example that isn’t applicable or related to the questions. (the STAR method tends to work here nicely)

3

Thoughtful Questions

4

Be Comfortable