Summary
My interview loop for a Staff Engineer role at Deliveroo in India involved DSA, system design, and behavioral rounds, with a focus on ownership and open-ended thinking, culminating in an offer which I rejected.
Full Experience
Sharing my full interview loop for Deliveroo. The process was structured across DSA, system design, and behavioral rounds, with a noticeable emphasis on ownership and open-ended thinking.
Online Assessment (90 mins - Hackerrank)
Section 1:
- 15 multiple choice questions on data structures, algorithms, and system design fundamentals.
Section 2 - Coding Problem:
- Implement a simple Rate Limiter with per-user and per-time constraints.
Section 3 - REST API Problem:
- Build a function to fetch and return the finest hotel based on ratings from a provided API. Required pagination handling and efficient filtering.
Architecture / HLD Round
Topic:
Design a system to handle a flash sale of 6 million burgers in 10 minutes.
Focus Areas:
- Traffic throttling
- Inventory locking
- Order queuing
- Eventual consistency and failure handling
- No over selling
Behavioral Round
Discussion:
Went over five behavioral stories, covering leadership principles like:
- Ownership
- Dealing with failure
- Driving cross-functional decisions
Coding Round
Problem:
Implement a session-based authentication system with support for three types of queries:"generate","renew","count"
It was open-ended, with no fixed solution. Emphasis was on clean API design, data structures, boundary conditions, test cases and performance.
VP / Country Head Round
Discussion Topics:
- Leadership experiences: mentoring juniors, handling disagreement, and complex project delivery
- Strategic thinking around leveraging AI for team productivity
- Vision and product-aligned engineering contributions
Interview Questions (6)
Implement a simple Rate Limiter with per-user and per-time constraints.
Build a function to fetch and return the finest hotel based on ratings from a provided API. Required pagination handling and efficient filtering.
Design a system to handle a flash sale of 6 million burgers in 10 minutes. Focus Areas: Traffic throttling, Inventory locking, Order queuing, Eventual consistency and failure handling, No over selling.
Discussion covered five behavioral stories, focusing on leadership principles such as Ownership, Dealing with failure, and Driving cross-functional decisions.
Implement a session-based authentication system with support for three types of queries:"generate","renew","count". Emphasis was on clean API design, data structures, boundary conditions, test cases and performance.
Discussion topics included leadership experiences (mentoring juniors, handling disagreement, complex project delivery), strategic thinking around leveraging AI for team productivity, and vision/product-aligned engineering contributions.
Summary
I recently interviewed for an iOS Engineer position at Deliveroo in India, sharing my experience across multiple rounds including problem-solving, code review, behavioral, and architecture design. I encountered a range of challenges from data structure manipulation to system architecture and debugging.
Full Experience
I recently went through the interview process for an iOS Engineer role at Deliveroo in India. I decided to share my experience as I found very little information available during my preparation. The process involved several distinct rounds, each testing different aspects of my skills.
Problem Solving Round
This round focused on fundamental data structures. I was presented with a dictionary and an array and asked to filter items from the dictionary based on the array to construct a restaurant menu. It wasn't a complex algorithmic problem, unlike many typical problem-solving rounds I've encountered.
Loop Interviews
After successfully clearing the problem-solving round, I proceeded to a series of "loop interviews."
1. Take-home Task and Code Review
For this segment, I was given a Pull Request (PR) and tasked with reviewing it, providing comments and feedback. Additionally, there was a simple extension task: to create a list of similar movies.
2. Behavioural Round
This round delved into my past experiences and how I handled various professional situations. The questions included:
- "Tell me a time when you faced a lacking colleague? What did you do?"
- "Tell me a time you worked on something complex? How did you do it?"
- "Tell me a time you added something new to your organization? What were the pros and cons?"
I found this round to require a bit of luck, as the interviewer's judgment can significantly influence the outcome, and some aspects are hard to prepare for directly.
3. Architecture Round
The architecture round involved a system design challenge. I was asked to design a delivery architecture specifically for a rider. Screens were provided as context, and I was expected to design the entire end-to-end flow, including UI components, API endpoints and responses, and appropriate design patterns.
4. Extended Take-home Task Discussion
In this final round, I had to explain my initial take-home task. I was asked what I would add or remove from the current project and why. Following that, I was given a block of code from the same project and asked to identify and fix a subtle bug. My specific bug involved multiple search requests being fired simultaneously, leading to data that might not correspond to the latest query; I had to propose a fix for this data inconsistency issue.
Overall, while the behavioral round felt somewhat dependent on the interviewer, the other rounds were a clear test of my knowledge and practical experience.
Interview Questions (9)
I was given a dictionary and an array. I was asked to filter items of the dictionary based on the array to create a menu for a restaurant.
A Pull Request (PR) was provided and I had to review it and put comments.
A simple task to create a list of similar movies as an extension task.
Tell me a time when you faced a lacking colleague? What did you do?
Tell me a time you worked on something complex? How did you do it?
Tell me a time you added something new to your organization? What was the pros and cons?
Design a delivery architecture for a rider. Screens will be provided. You're expected to design end-to-end flow, UI components, API endpoints and responses, design patterns.
You will be asked to explain your take-home task, anything you would add or remove to the current project and why.
Find a subtle bug in a block of code from the same project and questions will be asked to fix it. Mine was, there are multiple search requests getting fired, so the data we receive may not be for the latest query, how to fix this data issue?