# Software Engineer 2
**Role:** Software Engineer · **Level:** L2
**Company:** [Dunzo](https://scaleengineer.com/companies/dunzo)
**Difficulty:** Medium
**Salary:** US$180000 - US$250000
**Experience:** 2 - 5
**Timeline:** ~7 days
This interview process is designed to assess candidates for the Software Engineer L2 role at Dunzo. It evaluates technical proficiency, problem-solving skills, system design capabilities, and cultural fit.
Canonical: https://scaleengineer.com/interviews/dunzo/l2-software-engineer
---
## Overall evaluation

- Technical Skills
- System Design
- Behavioral & Cultural Fit

## Questions asked

- Design a system to track delivery partners in real-time.
- How would you handle a sudden surge in delivery orders during peak hours?
- Write a function to find the k-th largest element in an unsorted array.
- Explain the difference between SQL and NoSQL databases and when to use each.
- Tell me about a time you disagreed with a technical decision and how you handled it.
- How do you ensure the scalability and reliability of a distributed system?
- What are the trade-offs when choosing between a monolithic and a microservices architecture?
- Describe a situation where you had to mentor a junior engineer.

## Preparation tips

### lists

- Brush up on core data structures and algorithms (Arrays, Linked Lists, Trees, Graphs, Hash Tables, Sorting, Searching).
- Review common system design concepts (Databases, Caching, Load Balancing, Message Queues, Microservices).
- Prepare examples for behavioral questions using the STAR method (Situation, Task, Action, Result).
- Understand Dunzo's business model and the challenges in the hyperlocal delivery space.
- Practice coding problems on platforms like LeetCode or HackerRank, focusing on medium-difficulty problems.

### studyPlan

- {"title":"Data Structures & Algorithms","longDescription":"Weeks 1-2: Focus on fundamental data structures (Arrays, Linked Lists, Stacks, Queues, Hash Maps) and algorithms (Sorting, Searching, Recursion, Dynamic Programming). Practice problems related to these topics.","shortDescription":"Weeks 1-2: Data Structures & Algorithms Fundamentals. Practice problems."}
- {"title":"Advanced Data Structures & Algorithms","longDescription":"Weeks 3-4: Dive into more advanced data structures (Trees, Graphs, Heaps) and algorithms (Graph Traversal, Greedy Algorithms, Backtracking). Continue practicing coding problems.","shortDescription":"Weeks 3-4: Advanced DSA. More coding practice."}
- {"title":"System Design","longDescription":"Week 5: Focus on System Design. Study concepts like database design, caching strategies, load balancing, API design, and microservices architecture. Review common system design interview questions.","shortDescription":"Week 5: System Design Concepts. Review common questions."}
- {"title":"Behavioral & Company Research","longDescription":"Week 6: Prepare for behavioral questions. Think about your past experiences and how they align with Dunzo's values. Practice answering using the STAR method. Research Dunzo's mission and recent developments.","shortDescription":"Week 6: Behavioral Prep & Company Research."}
- {"title":"Mock Interviews","longDescription":"Week 7: Mock interviews and final review. Practice coding problems under timed conditions and conduct mock system design and behavioral interviews.","shortDescription":"Week 7: Mock Interviews & Final Review."}

## Location differences

- {"location":"Bangalore","differences":{"tips":["Research common e-commerce or logistics challenges specific to the region.","Be prepared to discuss how you'd tailor solutions for the local user base."],"interviewFocus":["Understanding of local market nuances and customer behavior.","Adaptability to local tech stack and infrastructure."],"commonQuestions":["How would you optimize a database query for a high-traffic e-commerce platform?","Describe a challenging bug you encountered and how you debugged it.","Tell me about a time you had to work with a difficult stakeholder."]}}
- {"location":"Gurugram","differences":{"tips":["Highlight projects where you've scaled systems or worked with microservices.","Be ready to discuss trade-offs in distributed system design."],"interviewFocus":["Experience with scaling systems in a rapidly growing market.","Familiarity with distributed systems and microservices architecture."],"commonQuestions":["How would you design a scalable delivery route optimization system for a new city?","Discuss your experience with cloud platforms like AWS or GCP.","How do you handle code reviews and ensure code quality?"]}}

## Round 1: Data Structures and Algorithms
**Type:** Technical Interview - Coding · **Difficulty:** Medium · **Duration:** 45 min
Coding round to assess DSA skills.
This round focuses on your fundamental programming skills. You will be asked to solve coding problems that test your knowledge of data structures and algorithms. The interviewer will assess your ability to write clean, efficient, and correct code, as well as your approach to problem-solving.
**Interviewers look for:** Strong understanding of data structures and algorithms.; Ability to translate requirements into working code.; Clear communication of thought process.; Attention to detail in coding.
**Evaluation criteria:** Correctness of the solution; Efficiency of the solution (Time and Space Complexity); Code readability and maintainability; Problem-solving approach
**Common rejection reasons:** Lack of fundamental programming knowledge.; Inability to articulate thought process.; Poorly structured or inefficient code.
## Questions

- Given an array of integers, find the contiguous subarray with the largest sum.
- Implement a function to reverse a linked list.
- Find the shortest path between two nodes in a graph.

## Preparation tips

- Practice coding problems on platforms like LeetCode, HackerRank, or GeeksforGeeks.
- Focus on understanding the time and space complexity of your solutions.
- Be prepared to explain your thought process clearly.
- Practice writing code on a whiteboard or a shared editor.

## Round 2: Architecture & Scalability
**Type:** System Design Interview · **Difficulty:** Hard · **Duration:** 60 min
System design round to assess architectural skills.
This round evaluates your ability to design scalable, reliable, and maintainable software systems. You will be presented with a high-level problem and asked to design a system to solve it. This includes defining APIs, data models, and discussing architectural choices.
**Interviewers look for:** Ability to design complex systems from scratch.; Knowledge of distributed systems principles.; Experience with cloud technologies.; Pragmatic approach to problem-solving.
**Evaluation criteria:** Scalability of the proposed design; Reliability and fault tolerance; Clarity of design choices; Understanding of trade-offs; API design
**Common rejection reasons:** Inability to design scalable and reliable systems.; Lack of understanding of distributed systems concepts.; Poor trade-off analysis.
## Questions

- Design a system for a ride-sharing service like Uber or Ola.
- Design a URL shortening service.
- How would you design a notification system for millions of users?

## Preparation tips

- Study common system design patterns and architectures.
- Understand concepts like load balancing, caching, databases, and message queues.
- Practice designing systems for real-world applications (e.g., social media feeds, URL shorteners, ride-sharing apps).
- Be prepared to discuss trade-offs and justify your design decisions.

## Round 3: Behavioral & Team Fit
**Type:** Behavioral Interview · **Difficulty:** Medium · **Duration:** 30 min
Behavioral round to assess cultural fit and soft skills.
This round focuses on your behavioral aspects and how you fit into the team and company culture. You'll be asked questions about your past experiences, how you handle challenges, teamwork, and your career aspirations. The goal is to understand your working style and motivation.
**Interviewers look for:** Good communication and interpersonal skills.; Ability to work effectively in a team.; Proactiveness and ownership.; Cultural fit with Dunzo's values.
**Evaluation criteria:** Communication clarity; Teamwork and collaboration skills; Problem-solving approach in team settings; Adaptability and learning agility; Alignment with Dunzo's culture
**Common rejection reasons:** Poor communication skills.; Lack of alignment with company values.; Inability to provide specific examples of past behavior.; Negative attitude or lack of enthusiasm.
## Questions

- Tell me about a time you faced a significant technical challenge and how you overcame it.
- Describe a situation where you had a conflict with a colleague and how you resolved it.
- How do you stay updated with the latest technologies?

## Preparation tips

- Prepare specific examples using the STAR method (Situation, Task, Action, Result) for common behavioral questions.
- Research Dunzo's values and mission.
- Be ready to talk about your strengths and weaknesses.
- Think about why you want to work at Dunzo and for this specific role.
