Google | SWE(L3) | India | Dec 2024 [Reject]
Summary
I interviewed for a Software Engineer (L3) role at Google, India. After successfully clearing the screening round, I proceeded to onsite interviews. Although I performed strongly in several technical and behavioral rounds, I struggled in one and ultimately my application was rejected after reaching the team-matching phase.
Full Experience
L3 Interview Experience
On September 18th, a Google recruiter reached out to me after reviewing my LinkedIn profile, suggesting I might be a fit for an L3 or L4 position. They ultimately selected me for an L3 role and scheduled my screening interview. All rounds were 45 minutes long.
Screening Interview (September 26th)
I was asked a tree-based problem focused on determining the minimum cost required to remove all terminal nodes from the root. I managed to solve it, though not optimally. About a month later, the recruiter informed me that I had passed the screening round and would proceed to the onsite interviews. I requested 15 days for further preparation. The onsite interviews were scheduled over two days: two rounds on November 15th and two rounds on November 26th.
Onsite Interviews
Round 1 (November 15th)
The interviewer joined 20 minutes late. The question involved determining the rank of players based on the results of a series of games, given 'n' players and multiple matches between pairs. I struggled in this round and couldn't arrive at the correct solution. The feedback was marked as 'No Hire' or 'Lean Hire.'
Round 2 (November 15th)
This round followed immediately after the first, with only a 5-minute break. It was based on the line sweep algorithm with a follow-up involving binary search, very similar to the Zero Array Transformation problem. I successfully coded the solution and answered the follow-up question, earning a 'Strong Hire.'
Round 3 (Googliness, November 26th)
This was a behavioral round, similar to what I had prepared for using Jeff H. Sipe's YouTube videos. I felt the round went well, and the feedback was 'Hire.'
Round 4 (November 26th)
The question revolved around dice games, where dice had equal sides but different values on each side. I needed to determine how many times Player 1 won. I proposed solutions with complexities of O(N^2), O(N log N), and O(N), coded them up, and addressed the follow-up question within 30 minutes. This allowed the interviewer to ask a modified version of the question, for which I needed a hint. Afterward, I successfully devised the approach and dry-ran the solution. This round was also marked as 'Strong Hire.'
Post-Onsite Process
The next day, my recruiter informed me that while some rounds were strong, overall feedback placed me just above the borderline. As a result, I was moved to the team-matching phase before the Hiring Committee (HC) phase.
A team-fit call was scheduled for November 28th but was postponed twice: first to December 2nd and then to December 4th. On December 3rd, my recruiter canceled the team-fit call altogether.
On December 4th, I was officially informed that my application had been rejected. I was told I could reapply after one year.
Interview Questions (5)
I was asked a tree-based problem related to determining the minimum cost required to remove all terminal nodes from the root. The exact cost function was not explicitly defined but implied an optimization problem on a tree structure.
Given 'n' players and results from a series of matches between pairs of players, the problem was to determine the rank of players based on these game outcomes.
This was a standard behavioral round designed to assess 'Googliness' and cultural fit.
The question involved a dice game where dice had equal sides but different values on each side. The goal was to determine how many times Player 1 would win against another player.
Preparation Tips
I requested 15 days for further preparation for the onsite interviews. For the behavioral round (Googliness), I prepared using Jeff H. Sipe's YouTube videos.