Google | SDE 2 (L3) | Interview Experience India
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)
I encountered this specific problem during my interview: Maximize loss interval. This problem was directly presented as discussed on LeetCode.
Why Google and what motivates you for the Google?
Tell me about a time when you had to deal with a difficult team member. How did you handle the situation?
Describe a project you worked on that didn't go as planned. What did you learn from the experience?
Describe a time when you had to prioritize multiple tasks with conflicting deadlines. How did you manage your time?
Tell me about a time when you had to adapt to a new and unfamiliar situation. How did you approach it?
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.