Google L4 Experience | Reject
Summary
I interviewed for an L4 role at Google in Bangalore, experiencing multiple rounds including a phone screen and several onsite rounds. My performance was mixed, with some rounds going well and others presenting difficulties, ultimately leading to a rejection for L4 but an offer for an L3 role, which I declined.
Full Experience
TPS (Day 0):
Q1: Given a Binary Tree with Zeros and Ones, find number of islands. Island is defined as connected nodes with only ones.
Q2: Same question with slight variation: https://leetcode.com/problems/accounts-merge/description/
Exp: I had seen both the questions, Solved 1 completely, and 2nd partially.
Onsite 1 (Day 15):
Q1: https://codeforces.com/problemset/problem/448/C Exact same question word by word
Exp: It didn't go well. The interviewer wasn’t interested in the brute-force approach, and I struggled to come up with an optimized solution. In the end, both of us ended up frustrated.
Onsite 2 (Day 16):
I waited for 20 minutes, but the panel didn’t join. Rescheduled to Day 22.
Onsite 3 (Day 17):
I waited for 20 minutes, but the panel didn’t join. Rescheduled to Day 23.
Onsite 4 (Day 18):
G&L Round General questions about leadership and being a team player.
Exp: This round went good. By this point, I had already lost interest due to my performance in the first round and because I had received much better offers.
Onsite 2 (Day 22):
Q1: Started with a simple question. Given a stream of messges with phonenumber and timestamp. Find number of unique phone number
Follow up: Unique phone-number in last K mins Asked me to write some testcases. I had a discussion with him on how to do this using schedulers and background threads
Exp: The interviewer was from Germany — very helpful and cooperative. This was my best round.
Onsite 3 (Day 23):
Q1: https://leetcode.com/discuss/post/2072047/google-onsite-banglore-may-2022-patient-kem0h/
Exp: I initially suggested a brute-force approach and discussed its time complexity. About 15 minutes before the end, I figured out the right algorithm (two min heap approach) and coded it (ofc, with one bug - I just had to swap the pair elements so that the priority queue would work based on the first element). The interviewer mentioned it was a hard problem to solve and implement optimally in time. I pointed out the bug, but she said it was okay and that she understood.
Feedback (Day 50):
After three weeks of silence, I had already joined another company. The interviewer mentioned that the overall feedback wasn’t up to the mark. I didn’t ask for individual round ratings. She asked if I would be open to considering L3 roles, I declined and said I would aim for L5 next year.
Interview Questions (5)
Given a Binary Tree with Zeros and Ones, find number of islands. Island is defined as connected nodes with only ones.
Given a stream of messages with phone number and timestamp, find the number of unique phone numbers. A follow-up asked for unique phone numbers in the last K minutes, requiring discussion on schedulers and background threads.
General questions about leadership and demonstrating abilities as a team player.
Preparation Tips
Tips
For L3/L4 roles, there's no need to prepare for System Design. If you have time, just go through previously asked LeetCode questions in sorted order. Interestingly, the question I was asked in the first round turned out to be a fairly common one.
https://leetcode.com/discuss/post/6520235/google-phone-screening-by-anonymous_user-d9l9/
https://leetcode.com/discuss/post/6157196/google-l4-interview-experience-verdict-r-fsw0/ q2 from screening