# 3a
**Role:** Software Engineer · **Level:** SDE I
**Company:** [oyo](https://scaleengineer.com/companies/oyo)
**Difficulty:** Medium
**Salary:** US$100000 - US$150000
**Experience:** 1 - 3
**Timeline:** ~7 days
This interview process is for a Software Engineer (SDE I) role at OYO, focusing on foundational technical skills, problem-solving abilities, and cultural fit. The process is designed to assess candidates for their potential to contribute to our engineering teams.
Canonical: https://scaleengineer.com/interviews/oyo/sde-i-software-engineer
---
## Overall evaluation

- Technical Skills
- System Design
- Behavioral and Cultural Fit

## Questions asked

- Write a function to reverse a linked list.
- Given an array of integers, find the two numbers that add up to a specific target.
- Explain the concept of polymorphism with a Java example.
- How would you design a rate limiter?
- Tell me about a time you had to deal with a difficult stakeholder.

## Preparation tips

### lists

- Brush up on fundamental data structures (arrays, linked lists, trees, graphs, hash maps) and algorithms (sorting, searching, dynamic programming, recursion).
- Practice coding problems on platforms like LeetCode, HackerRank, or GeeksforGeeks, focusing on medium-difficulty problems.
- Understand core concepts of object-oriented programming (OOP) and design patterns.
- Review database concepts (SQL and NoSQL), including indexing, transactions, and normalization.
- Prepare for system design questions by studying common design patterns and scalability principles.
- Think about your past projects and be ready to discuss your contributions, challenges, and learnings.
- Research OYO's mission, values, and recent technological advancements.

### studyPlan

- {"title":"Data Structures & Algorithms","longDescription":"Weeks 1-2: Focus on Data Structures and Algorithms. Cover arrays, linked lists, stacks, queues, trees (binary trees, BSTs, AVL trees), graphs, and hash tables. Practice common algorithms like sorting (merge sort, quicksort), searching (binary search), recursion, and dynamic programming. Aim to solve at least 2-3 problems per day.","shortDescription":"Weeks 1-2: DSA fundamentals and practice (2-3 problems/day)."}
- {"title":"System Design","longDescription":"Week 3: Dive into System Design. Study concepts like load balancing, caching, database sharding, message queues, and API design. Understand trade-offs between different architectural styles (monolithic vs. microservices). Review common system design problems like designing a URL shortener or a Twitter feed.","shortDescription":"Week 3: System Design concepts and common problems."}
- {"title":"Behavioral & Cultural Fit","longDescription":"Week 4: Focus on Behavioral Questions and OYO's Culture. Prepare STAR method answers for common behavioral questions related to teamwork, problem-solving, handling conflict, and leadership. Research OYO's values and mission to align your answers.","shortDescription":"Week 4: Behavioral questions (STAR method) and OYO culture."}

## Location differences

- {"location":"Bangalore","differences":{"tips":["Be prepared to whiteboard solutions for common coding problems.","Practice explaining your thought process clearly.","Review fundamental computer science concepts.","Research OYO's tech stack and recent projects."],"interviewFocus":["Strong understanding of data structures and algorithms.","Problem-solving and analytical skills.","Familiarity with core Java/Python concepts.","Basic understanding of web technologies."],"commonQuestions":["How would you design a URL shortening service like bit.ly?","Explain the difference between SQL and NoSQL databases.","Describe a challenging bug you encountered and how you debugged it."]}}
- {"location":"Gurgaon","differences":{"tips":["Focus on designing scalable and resilient systems.","Be ready to discuss trade-offs and justify your design choices.","Prepare examples of projects where you've dealt with scale.","Understand OYO's business model and how technology supports it."],"interviewFocus":["System design and architectural thinking.","Scalability and performance considerations.","Experience with cloud platforms (AWS/GCP).","Proficiency in a backend language (e.g., Node.js, Go)."],"commonQuestions":["Design a system to handle real-time notifications for a social media platform.","What are the trade-offs between microservices and monolithic architecture?","How do you ensure code quality and maintainability?"]}}

## Round 1: Coding Round
**Type:** Technical Interview - Coding · **Difficulty:** Medium · **Duration:** 45 min
Assess core coding skills with 1-2 problems on data structures and algorithms.
This round focuses on assessing your core programming skills. You will be asked to solve 1-2 coding problems, typically involving data structures and algorithms. The interviewer will evaluate your approach to problem-solving, the efficiency of your code, and your ability to explain your thought process clearly. Expect questions on arrays, strings, linked lists, trees, and basic algorithms.
**Interviewers look for:** Logical thinking; Ability to translate requirements into code; Understanding of basic algorithms; Clear articulation of solutions
**Evaluation criteria:** Correctness of the solution; Efficiency of the solution (time and space complexity); Code readability and structure; Problem-solving approach; Communication of thought process
**Common rejection reasons:** Inability to solve basic coding problems.; Poor understanding of fundamental data structures.; Lack of clear communication.; Incorrect time or space complexity analysis.
## Questions

- Find the kth smallest element in a binary search tree.
- Implement a function to check if a string is a palindrome.

## Preparation tips

- Practice coding problems on a whiteboard or online editor.
- Focus on optimizing your solutions for time and space complexity.
- Be prepared to explain your code line by line.
- Think out loud and discuss trade-offs.

## Round 2: System Design Round
**Type:** System Design Interview · **Difficulty:** Medium · **Duration:** 60 min
Assess system design capabilities for a given problem.
This round evaluates your ability to design scalable and robust software systems. You will be presented with a high-level problem (e.g., design a social media feed, a URL shortener) and asked to propose a system architecture. The focus is on understanding your thought process, how you break down complex problems, and your knowledge of distributed systems, databases, and caching.
**Interviewers look for:** Ability to think at a high level; Understanding of system components and their interactions; Knowledge of scalability techniques; Pragmatic approach to design
**Evaluation criteria:** Clarity and completeness of the design; Scalability and performance considerations; Choice of appropriate technologies and data stores; Handling of edge cases and failure scenarios; Trade-off analysis
**Common rejection reasons:** Inability to design a scalable system.; Lack of understanding of distributed systems concepts.; Poorly defined requirements or assumptions.; Failure to consider edge cases and failure scenarios.
## Questions

- Design a system to count unique visitors to a website.
- How would you design a notification service?

## Preparation tips

- Study common system design patterns and principles.
- Practice designing systems for scale.
- Be prepared to discuss trade-offs and justify your choices.
- Understand different database types and their use cases.

## Round 3: Behavioral Round
**Type:** Behavioral Interview · **Difficulty:** Easy · **Duration:** 30 min
Assess behavioral aspects and cultural fit with the team.
This round focuses on your behavioral aspects and cultural fit within OYO. You'll be asked questions about your past experiences, how you handle teamwork, challenges, and your career goals. The interviewer wants to understand your personality, motivation, and how well you would integrate into the team and company culture.
**Interviewers look for:** Positive attitude; Good communication skills; Team player mentality; Passion for technology and OYO's mission
**Evaluation criteria:** Alignment with OYO's values; Teamwork and collaboration skills; Communication and interpersonal skills; Motivation and career aspirations; Past experiences and learnings
**Common rejection reasons:** Poor cultural fit.; Lack of enthusiasm or interest in the role/company.; Inability to articulate past experiences effectively.; Negative attitude or lack of self-awareness.
## Questions

- Tell me about a time you failed and what you learned from it.
- How do you handle disagreements within a team?

## Preparation tips

- Prepare answers using the STAR method (Situation, Task, Action, Result).
- Be honest and authentic in your responses.
- Show enthusiasm for the role and the company.
- Ask thoughtful questions about the team and the work.
