# New Grad
**Role:** Software Engineer · **Level:** IC1
**Company:** [Yelp](https://scaleengineer.com/companies/yelp)
**Difficulty:** Medium
**Salary:** US$90000 - US$110000
**Experience:** 0 - 2
**Timeline:** ~7 days
The Yelp New Grad Software Engineer interview process is designed to assess foundational technical skills, problem-solving abilities, and cultural fit for entry-level engineers. It typically involves multiple rounds focusing on data structures, algorithms, coding proficiency, and behavioral aspects.
Canonical: https://scaleengineer.com/interviews/yelp/ic1-software-engineer
---
## Overall evaluation

- Technical Skills
- Communication
- Cultural Fit

## Questions asked

- Given an array of integers, return indices of the two numbers such that they add up to a specific target.
- Reverse a linked list.
- Find the kth smallest element in a binary search tree.
- Implement a function to check if a binary tree is a valid Binary Search Tree.
- Describe a time you faced a technical challenge and how you overcame it.
- How would you design a URL shortener?
- What are your strengths and weaknesses?
- Why are you interested in Yelp?
- Tell me about a project you are proud of.

## Preparation tips

### lists

- Review fundamental data structures (arrays, linked lists, trees, graphs, hash maps) and algorithms (sorting, searching, graph traversal, dynamic programming).
- Practice coding problems on platforms like LeetCode, HackerRank, or Coderbyte, focusing on easy and medium difficulty.
- Understand Big O notation for time and space complexity.
- Prepare to discuss your resume, projects, and any internship experiences in detail.
- Research Yelp's mission, values, and recent news.
- Prepare answers to common behavioral questions using the STAR method (Situation, Task, Action, Result).
- Practice explaining your thought process out loud as you solve coding problems.
- Prepare a few insightful questions to ask the interviewer about the role, team, or company culture.

### studyPlan

- {"title":"Data Structures and Algorithms Fundamentals","longDescription":"Weeks 1-2: Focus on core data structures like arrays, linked lists, stacks, queues, and hash maps. Practice basic algorithm concepts like sorting (bubble, insertion, merge, quick) and searching (binary search). Understand Big O notation for analyzing complexity.","shortDescription":"Weeks 1-2: Data Structures (Arrays, Linked Lists, Hash Maps) & Basic Algorithms (Sorting, Searching, Big O)."}
- {"title":"Advanced Data Structures and Algorithms","longDescription":"Weeks 3-4: Dive into more advanced data structures such as trees (binary trees, BSTs, Tries) and graphs. Cover graph traversal algorithms (BFS, DFS) and basic dynamic programming problems. Continue practicing coding problems on platforms.","shortDescription":"Weeks 3-4: Advanced Data Structures (Trees, Graphs) & Algorithms (BFS, DFS, DP)."}
- {"title":"Behavioral Preparation","longDescription":"Week 5: Focus on behavioral preparation. Review your resume and identify key projects and experiences. Prepare STAR method answers for common questions related to teamwork, problem-solving, challenges, and learning.","shortDescription":"Week 5: Behavioral Preparation (STAR Method, Resume Review)."}
- {"title":"Mock Interviews and Final Review","longDescription":"Week 6: Mock interviews and final review. Practice coding problems under timed conditions. Refine your explanations and ensure you can articulate your thought process clearly. Prepare questions to ask the interviewer.","shortDescription":"Week 6: Mock Interviews & Final Review."}

## Location differences

- {"location":"All Locations","differences":{"tips":["Be prepared to discuss academic projects in detail.","Showcase your problem-solving process clearly.","Highlight any internship or relevant project experience.","Research Yelp's products and values.","Ask thoughtful questions about the team and culture."],"interviewFocus":["Emphasis on fundamental computer science concepts.","Assessment of coding style and clarity.","Evaluation of eagerness to learn and adapt.","Understanding of teamwork and communication skills."],"commonQuestions":["Tell me about a challenging project you worked on during your studies.","How do you approach debugging a complex issue?","Describe a time you had to learn a new technology quickly.","What are your favorite programming languages and why?","How do you collaborate with team members on a project?"]}}

## Round 1: Recruiter Screen
**Type:** Recruiter Screen · **Difficulty:** Easy · **Duration:** 45 min
Initial screening call to assess basic qualifications and cultural fit.
This initial screening call with a recruiter aims to understand your background, motivation for applying to Yelp, and basic qualifications. They will review your resume, ask about your interest in the role and company, and assess your communication skills and cultural fit. This is also an opportunity for you to ask initial questions about the role and the company.
**Interviewers look for:** Foundational coding skills; Ability to translate a problem into code; Clear communication of thought process
**Evaluation criteria:** Basic coding ability; Problem-solving approach; Communication clarity
**Common rejection reasons:** Inability to solve basic coding problems.; Poor understanding of fundamental data structures.; Difficulty explaining thought process.; Lack of enthusiasm or cultural fit.
## Questions

- Tell me about yourself and your background.
- Why are you interested in software engineering at Yelp?
- What are your strengths and weaknesses?
- Do you have any questions for me?

## Preparation tips

- Be ready to talk about your resume and projects.
- Express genuine interest in Yelp.
- Practice concise answers to common screening questions.
- Prepare questions about the company culture and the role.

## Round 2: Technical Phone Screen
**Type:** Technical Phone Screen (Data Structures & Algorithms) · **Difficulty:** Medium · **Duration:** 60 min
Coding interview focusing on data structures and algorithms.
This round is a technical phone or video interview focused on data structures and algorithms. You will be asked to solve one or two coding problems, typically involving arrays, strings, linked lists, trees, or graphs. You'll need to write code (often in a shared editor) and explain your thought process, including time and space complexity analysis.
**Interviewers look for:** Proficiency in at least one programming language.; Ability to implement common data structures and algorithms.; Logical thinking and problem-solving skills.; Clear communication of the solution and its trade-offs.
**Evaluation criteria:** Correctness of code; Efficiency of solution (time and space complexity); Problem-solving approach; Coding style and readability; Ability to explain the solution
**Common rejection reasons:** Failure to solve coding problems correctly or efficiently.; Inability to explain the logic behind the solution.; Poor time management during the coding exercise.; Lack of understanding of time and space complexity.
## Questions

- Given an array of integers, return indices of the two numbers such that they add up to a specific target.
- Reverse a linked list.
- Implement a function to check if a string is a palindrome.

## Preparation tips

- Practice coding problems on platforms like LeetCode (focus on Easy/Medium).
- Be prepared to explain your code line by line.
- Practice analyzing the time and space complexity of your solutions.
- Think out loud throughout the problem-solving process.
- Choose a programming language you are comfortable with.

## Round 3: Technical Interview
**Type:** Technical Interview · **Difficulty:** Medium · **Duration:** 60 min
In-depth technical assessment, potentially including coding and behavioral questions.
This round typically involves a deeper dive into technical skills, potentially including another coding problem or a discussion about a past project. It might also include behavioral questions to assess your fit with the team and company culture. Some companies might introduce a very basic system design question, focusing on high-level components and trade-offs, even for new grads.
**Interviewers look for:** Ability to handle more challenging coding problems.; Sound reasoning and approach to problem-solving.; Demonstration of collaboration and communication skills.; Potential for growth within the company.
**Evaluation criteria:** Problem-solving skills on more complex problems.; Coding proficiency and best practices.; Understanding of basic system design concepts (if applicable).; Behavioral competencies (teamwork, communication, learning agility).
**Common rejection reasons:** Inability to solve more complex coding problems.; Lack of understanding of system design principles (even at a basic level for new grads).; Poor performance on behavioral questions.; Inability to articulate past experiences effectively.
## Questions

- Find the kth smallest element in a binary search tree.
- Given a binary tree, determine if it is a valid binary search tree.
- Describe a challenging technical problem you faced in a project and how you solved it.
- How would you design a simple rate limiter?

## Preparation tips

- Continue practicing coding problems, including those that require combining multiple concepts.
- Review your resume projects and be ready to discuss technical details and challenges.
- Prepare for behavioral questions using the STAR method.
- If a system design question is possible, review basic concepts like APIs, databases, and scalability.
- Be prepared to discuss your learning process and how you approach new challenges.

## Round 4: Hiring Manager Interview
**Type:** Hiring Manager Interview · **Difficulty:** Medium · **Duration:** 45 min
Behavioral and team fit interview with the hiring manager.
This interview is typically with the hiring manager for the team you would be joining. The focus is on behavioral aspects, team fit, and understanding your career aspirations. They will assess how you handle challenges, work in a team, and align with Yelp's culture. You'll also have a good opportunity to learn more about the team's projects and dynamics.
**Interviewers look for:** How you collaborate and communicate.; Your problem-solving approach in a team setting.; Your understanding of teamwork and feedback.; Your overall enthusiasm and fit with the team.
**Evaluation criteria:** Teamwork and collaboration potential; Communication and interpersonal skills; Alignment with Yelp's culture and values; Motivation and career goals; Problem-solving approach in a team context
**Common rejection reasons:** Lack of alignment with team or company values.; Poor communication or interpersonal skills.; Unrealistic expectations about the role or compensation.; Lack of enthusiasm or curiosity about Yelp.
## Questions

- Tell me about a time you had a conflict with a teammate and how you resolved it.
- How do you handle receiving constructive criticism?
- What are you looking for in your first role as a software engineer?
- Describe a project where you had to collaborate closely with others.

## Preparation tips

- Prepare specific examples of teamwork, leadership, and conflict resolution.
- Reiterate your interest in Yelp and the specific team.
- Ask thoughtful questions about the team's work, challenges, and culture.
- Be prepared to discuss your career goals and how this role fits into them.
