# SDE I
**Role:** Software Engineer · **Level:** J
**Company:** [Expedia](https://scaleengineer.com/companies/expedia)
**Difficulty:** Medium
**Salary:** US$90000 - US$120000
**Experience:** 1 - 3
**Timeline:** ~14 days
Expedia is looking for a talented Software Engineer (SDE I, Level J) to join our dynamic team. This role involves designing, developing, and maintaining scalable software solutions that power our travel platform. You will collaborate with cross-functional teams to deliver high-quality products and contribute to the continuous improvement of our engineering practices.
Canonical: https://scaleengineer.com/interviews/expedia/j-software-engineer
---
## Overall evaluation

- Technical Skills
- 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.
- Design a URL shortening service.
- How would you design a system to handle real-time flight status updates?
- Tell me about a time you disagreed with a team member. How did you resolve it?
- What are your strengths and weaknesses as a software engineer?
- Describe a project you are particularly proud of.
- How do you stay updated with new technologies?
- Explain the concept of RESTful APIs.
- What is the difference between a process and a thread?

## Preparation tips

### lists

- Review fundamental data structures and algorithms.
- Practice coding problems on platforms like LeetCode or HackerRank.
- Understand common software design patterns.
- Prepare examples for behavioral questions using the STAR method (Situation, Task, Action, Result).
- Research Expedia's products, services, and company culture.
- Be ready to discuss your past projects and technical contributions in detail.
- Familiarize yourself with cloud technologies (AWS, Azure, GCP) if applicable to the role.
- Understand basic system design principles for scalability and reliability.

### studyPlan

- {"title":"Data Structures and Algorithms","longDescription":"Weeks 1-2: Focus on core data structures (Arrays, Linked Lists, Trees, Graphs, Hash Tables) and algorithms (Sorting, Searching, Dynamic Programming, Greedy Algorithms). Practice implementing these in your preferred language. Solve at least 20-30 problems covering these topics.","shortDescription":"Weeks 1-2: Data Structures & Algorithms fundamentals. Practice coding."}
- {"title":"System Design","longDescription":"Weeks 3-4: Dive into system design concepts. Study topics like scalability, availability, databases (SQL vs. NoSQL), caching, load balancing, and API design. Work through common system design interview questions.","shortDescription":"Weeks 3-4: System Design basics. Scalability, databases, caching."}
- {"title":"Behavioral Preparation","longDescription":"Week 5: Prepare for behavioral questions. Identify key experiences from your resume that demonstrate leadership, teamwork, problem-solving, and conflict resolution. Practice articulating these using the STAR method. Research Expedia's values and prepare examples that align.","shortDescription":"Week 5: Behavioral questions preparation. STAR method. Expedia values."}
- {"title":"Mock Interviews","longDescription":"Week 6: Mock interviews. Conduct mock interviews with peers or mentors, focusing on both technical and behavioral aspects. Get feedback on your communication, problem-solving approach, and overall presentation.","shortDescription":"Week 6: Mock interviews. Technical and behavioral practice."}

## Location differences

- {"location":"London","differences":{"tips":["Research Expedia's presence and initiatives in the specific region.","Be prepared to discuss how your skills can address local market demands."],"interviewFocus":["Adaptability to local market trends and customer needs.","Understanding of regional technical challenges and solutions."],"commonQuestions":["Tell me about a time you had to deal with a difficult stakeholder.","How do you prioritize your work when faced with multiple deadlines?","Describe a challenging technical problem you solved and how you approached it."]}}
- {"location":"Seattle","differences":{"tips":["Highlight projects that demonstrate your innovative thinking.","Showcase your understanding of Expedia's business in North America."],"interviewFocus":["Innovation and creativity in problem-solving.","Understanding of the North American travel market."],"commonQuestions":["How do you handle ambiguity in project requirements?","Describe a situation where you had to influence a team to adopt your technical solution.","What are your thoughts on the future of travel technology?"]}}
- {"location":"Singapore","differences":{"tips":["Emphasize your ability to work effectively in diverse teams.","Demonstrate your eagerness to learn and grow within Expedia."],"interviewFocus":["Collaboration and teamwork within a global context.","Understanding of emerging technologies relevant to the APAC region."],"commonQuestions":["How do you ensure code quality and maintainability?","Tell me about a time you received constructive criticism and how you acted on it.","What are your career aspirations within Expedia?"]}}

## Round 1: Coding Round
**Type:** Technical Interview (Coding) · **Difficulty:** Medium · **Duration:** 45 min
Coding challenge focusing on data structures and algorithms.
This round focuses on your core programming skills. You will be asked to solve one or two coding problems, typically involving 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 and debugging.
**Interviewers look for:** Ability to translate requirements into working code.; Logical thinking and systematic approach to problem-solving.; Proficiency in at least one programming language.
**Evaluation criteria:** Correctness of the solution; Efficiency of the solution (time and space complexity); Code clarity and readability; Problem-solving approach
**Common rejection reasons:** Inability to solve coding problems efficiently.; Poor understanding of fundamental algorithms and data structures.; Lack of clarity in explaining the thought process.
## Questions

- Given a binary tree, find its inorder traversal.
- Implement a function to find the kth smallest element in an unsorted array.

## Preparation tips

- Practice coding on a whiteboard or a simple text editor.
- Think out loud and explain your thought process clearly.
- Consider edge cases and test your solution thoroughly.
- Be prepared to discuss time and space complexity.

## Round 2: System Design Round
**Type:** Technical Interview (System Design) · **Difficulty:** Hard · **Duration:** 60 min
Design a scalable system to solve a given problem.
In this round, you will be presented with a high-level problem and asked to design a system to solve it. This could involve designing a social media feed, a URL shortener, or a ride-sharing service. The focus is on your ability to think about scalability, reliability, performance, and trade-offs.
**Interviewers look for:** Ability to design complex systems from scratch.; Understanding of distributed systems concepts.; Pragmatic approach to problem-solving and trade-offs.
**Evaluation criteria:** Scalability of the proposed design; Availability and reliability considerations; Trade-off analysis; Clarity of communication
**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 like Twitter's news feed.
- Design an API rate limiter.

## Preparation tips

- Study common system design patterns and architectures.
- Practice designing systems for scale.
- Be prepared to discuss database choices, caching strategies, and API design.
- Clearly articulate your design decisions and justify your trade-offs.

## Round 3: Behavioral Round
**Type:** Behavioral Interview · **Difficulty:** Medium · **Duration:** 45 min
Assess behavioral competencies and cultural fit.
This round is conducted by the hiring manager and focuses on your behavioral competencies and overall fit with the team and Expedia's culture. You'll be asked questions about your past experiences, how you handle specific situations, and your career aspirations. The goal is to understand your working style, motivation, and how you align with the company's values.
**Interviewers look for:** How you handle challenges and work with others.; Your motivation and passion for the role and company.; Your ability to learn and adapt.
**Evaluation criteria:** Communication skills; Teamwork and collaboration; Problem-solving approach; Adaptability and learning agility; Cultural fit
**Common rejection reasons:** Poor communication skills.; Inability to provide specific examples for behavioral questions.; Lack of alignment with company values.; Negative attitude or lack of enthusiasm.
## Questions

- Tell me about a time you failed. What did you learn from it?
- Describe a situation where you had to work with a difficult colleague. How did you handle it?

## Preparation tips

- Prepare specific examples using the STAR method.
- Be honest and authentic in your responses.
- Show enthusiasm for the role and Expedia.
- Ask thoughtful questions about the team, role, and company culture.
