# Software Engineer 1
**Role:** Software Engineer · **Level:** L3
**Company:** [Deliveroo](https://scaleengineer.com/companies/deliveroo)
**Difficulty:** Medium
**Salary:** US$90000 - US$120000
**Experience:** 1 - 3
**Timeline:** ~14 days
This interview process is for a Software Engineer L3 role at Deliveroo. It is designed to assess a candidate's technical skills, problem-solving abilities, and cultural fit within the company.
Canonical: https://scaleengineer.com/interviews/deliveroo/l3-software-engineer
---
## Overall evaluation

- Technical Skills
- Communication & Collaboration
- Cultural Fit

## Questions asked

- Given an array of integers, find the contiguous subarray with the largest sum.
- Design a URL shortening service like bit.ly.
- Tell me about a time you failed and what you learned from it.
- How would you design a system to track the delivery status of food orders in real-time?
- What are the trade-offs between using a relational database and a NoSQL database for a user profile service?
- Describe a situation where you had to explain a complex technical concept to a non-technical audience.

## Preparation tips

### lists

- Review fundamental data structures and algorithms.
- Practice coding problems on platforms like LeetCode or HackerRank.
- Understand core computer science concepts (e.g., operating systems, databases, networking).
- Prepare to discuss your past projects in detail, focusing on your contributions and challenges.
- Research Deliveroo's mission, values, and recent news.
- Practice behavioral questions using the STAR method (Situation, Task, Action, Result).
- Be ready to discuss your understanding of system design principles for scalable applications.

### studyPlan

- {"title":"Data Structures and Algorithms","longDescription":"Weeks 1-2: Focus on foundational data structures (arrays, linked lists, stacks, queues, trees, graphs, hash maps) and their common algorithms (sorting, searching, graph traversal). Practice implementing these from scratch and analyze their time and space complexity.","shortDescription":"Weeks 1-2: Data Structures & Algorithms fundamentals. Practice implementations and complexity analysis."}
- {"title":"System Design","longDescription":"Weeks 3-4: Dive into system design concepts. Study topics like scalability, availability, reliability, load balancing, caching, databases (SQL vs. NoSQL), and API design. Work through common system design interview questions.","shortDescription":"Weeks 3-4: System Design principles. Focus on scalability, databases, caching, and APIs."}
- {"title":"Behavioral and Situational Questions","longDescription":"Week 5: Prepare for behavioral and situational questions. Reflect on your past experiences and prepare examples using the STAR method that demonstrate your problem-solving skills, teamwork, and leadership potential. Align your answers with Deliveroo's company values.","shortDescription":"Week 5: Behavioral questions preparation using STAR method. Align with company values."}
- {"title":"Final Preparation","longDescription":"Week 6: Review your notes, practice mock interviews, and research Deliveroo's products and engineering blog. Ensure you have clear and concise answers for common questions and are ready to ask insightful questions about the role and company.","shortDescription":"Week 6: Mock interviews, company research, and final review."}

## Location differences

- {"location":"London","differences":{"tips":["Research Deliveroo's presence and operations in this specific region.","Be prepared to discuss projects relevant to the local market.","Highlight any experience working with diverse, international teams."],"interviewFocus":["Adaptability to local market nuances.","Understanding of regional tech trends.","Communication skills in the local language."],"commonQuestions":["Tell me about a time you had to deal with a difficult stakeholder.","How do you prioritize your work when faced with multiple urgent tasks?","Describe a challenging technical problem you solved and how you approached it."]}}
- {"location":"New York","differences":{"tips":["Familiarize yourself with common US tech stacks and best practices.","Prepare examples of projects that demonstrate scalability and performance.","Showcase your ability to contribute to a collaborative and innovative environment."],"interviewFocus":["Proficiency in specific technologies prevalent in the US market.","Experience with large-scale distributed systems.","Ability to work autonomously and drive projects forward."],"commonQuestions":["How do you ensure code quality and maintainability in a fast-paced environment?","Describe a situation where you disagreed with a technical decision and how you handled it.","What are your thoughts on microservices architecture?"]}}

## Round 1: Coding Challenge
**Type:** Technical Interview (Coding) · **Difficulty:** Medium · **Duration:** 45 min
Solve coding problems focusing on data structures and algorithms.
This round focuses on your core technical abilities. You will be asked to solve one or two coding problems, typically involving data structures and algorithms. The interviewer will assess your ability to understand the problem, devise a solution, write clean and efficient code, and explain your reasoning. Expect to discuss time and space complexity.
**Interviewers look for:** A structured approach to problem-solving.; Correct implementation of algorithms and data structures.; Clean and efficient code.; Ability to explain the solution and its trade-offs.
**Evaluation criteria:** Problem-solving skills; Algorithmic thinking; Coding proficiency; Communication of approach
**Common rejection reasons:** Inability to articulate thought process clearly.; Lack of fundamental programming knowledge.; Poor problem-solving approach.
## Questions

- Given a binary tree, invert the tree.
- Find the kth smallest element in a sorted matrix.

## Preparation tips

- Practice coding problems on platforms like LeetCode, focusing on common data structures and algorithms.
- Be prepared to write code on a whiteboard or shared editor.
- Think out loud and explain your thought process as you solve the problem.
- Consider edge cases and test your solution thoroughly.

## Round 2: System Design
**Type:** System Design Interview · **Difficulty:** Hard · **Duration:** 60 min
Design a scalable system and discuss its components and trade-offs.
In this round, you'll be asked to design a system or a component of a larger system. This could range from designing a URL shortener to a real-time notification system. The focus is on your ability to think about scalability, reliability, availability, and trade-offs. You'll need to discuss various components, their interactions, and potential bottlenecks.
**Interviewers look for:** Ability to design scalable and reliable systems.; Understanding of distributed systems concepts.; Knowledge of databases, caching, and messaging queues.; Ability to justify design choices and discuss trade-offs.
**Evaluation criteria:** System design thinking; Scalability and performance; Trade-off analysis; Component interaction
**Common rejection reasons:** Lack of understanding of system design principles.; Inability to handle scale and performance considerations.; Poor trade-off analysis.
## Questions

- Design a system to count the number of views for a given YouTube video.
- Design a rate limiter.

## Preparation tips

- Study common system design patterns and principles.
- Practice designing systems like Twitter feed, Uber, or a distributed cache.
- Be prepared to draw diagrams and explain your design choices.
- Consider different aspects like data storage, APIs, load balancing, and fault tolerance.

## Round 3: Behavioral and Cultural Fit
**Type:** Behavioral Interview · **Difficulty:** Medium · **Duration:** 30 min
Discuss past experiences and how they align with the role and company culture.
This interview focuses on your past experiences and how they relate to the role and Deliveroo's culture. You'll be asked behavioral questions that require you to provide specific examples using the STAR method. The interviewer wants to understand your work style, how you handle challenges, and your potential fit within the team.
**Interviewers look for:** Evidence of past behavior that predicts future performance.; Ability to work effectively in a team.; Resilience and ability to learn from mistakes.; Enthusiasm for Deliveroo and the role.
**Evaluation criteria:** Behavioral competencies; Teamwork and collaboration; Problem-solving in past experiences; Cultural alignment
**Common rejection reasons:** Poor communication skills.; Lack of self-awareness.; Inability to provide specific examples.; Not aligning with company values.
## Questions

- Tell me about a time you had to work with a difficult colleague. How did you handle it?
- Describe a project you are particularly proud of and your role in it.

## Preparation tips

- Prepare examples for common behavioral questions (e.g., teamwork, leadership, conflict resolution, failure).
- Use the STAR method (Situation, Task, Action, Result) to structure your answers.
- Research Deliveroo's company values and try to align your examples with them.
- Be honest and authentic in your responses.
