Google | SDE 2 (L3) | Interview Experience India

google logo
google
SDE 2 (L3)India1 yearsOffer
February 25, 20241 reads

Summary

I successfully navigated the Google SDE II (L3) interview process in India, which spanned three months from initial recruiter contact to receiving an offer. My journey included a phone screen, four challenging onsite Data Structures & Algorithms rounds, and a crucial Googleyness behavioral interview.

Full Experience

My interview journey with Google for the SDE II (L3) position in India began when a recruiter reached out via both phone and LinkedIn. The entire process, from the initial contact to receiving the final results, took approximately three months. Feedback after each round typically took between one week to a month.

Resume Screening Round

The recruiter evaluated my resume to determine if my experience aligned with the role. We discussed my responsibilities at my current company, my LeetCode coding profile, and the time I would need to prepare for the technical interviews.

Phone Screening Round (45 mins)

This round focused on Data Structures and Algorithms (DSA). I was asked two questions of medium difficulty. The first question's logic was somewhat similar to Longest Consecutive Sequence, though it was a bit more complex. The second was a variation of the painter's partition problem, akin to Capacity To Ship Packages Within D Days or Allocate Minimum Number of Pages.

On-site Round 1 (DSA - 45 mins)

This technical round presented two medium-hard DSA questions. One question had a concept similar to House Robber III, and I also faced a few follow-up questions. The other was similar to Dungeon Game.

On-site Round 2 (DSA - 45 mins)

Again, I faced two medium-hard questions. One operation focused on subsets, with logic based on Partition Equal Subset Sum. The second was also based on subsets, similar to Partition Array Into Two Arrays To Minimize Sum Difference.

On-site Round 3 (DSA - 45 mins)

I was presented with two more medium-to-hard DSA questions. One was a specific problem discussed on LeetCode: Maximize Loss Interval. The underlying logic for the second question was similar to Maximum Employees To Be Invited To A Meeting.

On-site Round 4 (DSA - 45 mins)

This round involved one hard DSA question. It was similar to Count Of Smaller Numbers After Self, and I was also asked to solve for the inverse case where given the output, I had to find the input.

On-site Round 5 (Googleyness - 45 mins)

The Googleyness round is a crucial behavioral interview designed to assess cultural fit. Questions test thinking, leadership qualities, and how one reacts and handles various situations. I was asked several questions to gauge these aspects.

Hiring Committee and Team Matching

After completing all onsite rounds, my performance was evaluated by each interviewer, and feedback was submitted (e.g., "No hire," "Lean hire," "Hire," "Strong hire"). This feedback, along with my resume and phone screening results, was then reviewed by the Hiring Committee. Subsequently, I went through the Team Matching process, which determines the specific team I would join at Google since my application wasn't tied to a particular team initially.

Successfully navigating these stages, I made it through and can now proudly call myself a Googler.

Interview Questions (15)

Q1
Longest Consecutive Sequence (Variation)
Data Structures & AlgorithmsMedium

Given an unsorted array of integers nums, return the length of the longest consecutive elements sequence. The logic was somewhat similar to this example, but the question was a bit more complex.

Q2
Capacity To Ship Packages Within D Days (Painter's Partition Variation)
Data Structures & AlgorithmsMedium

A conveyor belt has packages that must be shipped from one port to another within D days. Given the weight of each package and D days, determine the minimum weight capacity of the ship. This was a variation of the painter's partition problem.

Q3
House Robber III (with Follow-ups)
Data Structures & AlgorithmsMedium

The professional robber has escaped to a new street, and you are given the root of a binary tree representing the houses. Each house has a certain amount of money. The concept was similar to robbing houses in a binary tree, with some follow-up questions.

Q4
Dungeon Game (Similar)
Data Structures & AlgorithmsHard

A knight is trying to rescue a princess in a dungeon. The dungeon is represented by a 2D grid, where each cell contains an integer representing health points. The goal is to find the minimum initial health the knight must have to rescue the princess. The problem asked was similar to this.

Q5
Partition Equal Subset Sum (Subset Operation)
Data Structures & AlgorithmsMedium

Given a non-empty array nums containing only positive integers, determine if the array can be partitioned into two subsets such that the sum of elements in both subsets is equal. The operation focused on a subset, with logic based on this problem.

Q6
Partition Array Into Two Arrays To Minimize Sum Difference (Subset-based)
Data Structures & AlgorithmsHard

Given an integer array nums of 2 * n integers, you need to partition nums into two arrays of length n such that the absolute difference between the sum of elements of these two arrays is minimized. This problem was again based on subsets.

Q7
Maximize Loss Interval
Data Structures & AlgorithmsMedium

I encountered this specific problem during my interview: Maximize loss interval. This problem was directly presented as discussed on LeetCode.

Q8
Maximum Employees To Be Invited To A Meeting (Similar Logic)
Data Structures & AlgorithmsHard

A company is holding a meeting and wants to invite as many employees as possible. Each employee has a preferred employee to meet. The underlying logic of the question asked was similar to this problem.

Q9
Count Of Smaller Numbers After Self (with Inverse Case)
Data Structures & AlgorithmsHard

Given an integer array nums, return an integer array counts where counts[i] is the number of elements to the right of nums[i] that are smaller than nums[i]. The question was similar to this, and I also had to solve for the case where I had the output and was asked to find the input.

Q10
Why Google and what motivates you?
Behavioral

Why Google and what motivates you for the Google?

Q11
Dealing with a difficult team member
Behavioral

Tell me about a time when you had to deal with a difficult team member. How did you handle the situation?

Q12
Project that didn't go as planned
Behavioral

Describe a project you worked on that didn't go as planned. What did you learn from the experience?

Q13
Prioritizing multiple tasks
Behavioral

Describe a time when you had to prioritize multiple tasks with conflicting deadlines. How did you manage your time?

Q14
Adapting to a new situation
Behavioral

Tell me about a time when you had to adapt to a new and unfamiliar situation. How did you approach it?

Q15
Challenging situation in a previous job
Behavioral

Describe a challenging situation you faced in a previous job. How did you overcome it?

Preparation Tips

My preparation involved consistent practice on various coding platforms. I extensively used LeetCode, GeeksforGeeks (GFG), Codeforces, and CodeChef. During the interviews, I focused on remaining calm and treated my interviewers as friends to ease nervousness. I always ensured to clear any doubts by asking questions, even small ones, and was ready to create test cases when asked.

I made sure to be vocal throughout the process, explaining my approach clearly, ideally while writing code. I would start with naive or brute-force solutions and then iteratively move towards optimized solutions, demonstrating my knowledge of data structures. Key aspects I focused on in my code were neatness, good variable/method names, proper indentation, understanding of time and space complexities, and the ability to select the most optimized data structure for a given problem. Ultimately, I maintained self-belief throughout the demanding process.

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!