Google L4 Offer | Bangalore | June 2022 | Accepted

google logo
google
SDE IIbangalore3 yearsOffer
July 7, 20222 reads

Summary

I recently interviewed for a Google L4 position in Bangalore and successfully received an offer. The interview process spanned over two months and included a phone screen, four coding onsite rounds, and one 'Googlyness' behavioral round.

Full Experience

Phone Screen

The phone screen involved a problem based on Activity Selection. I quickly devised an O(n log n) solution and was able to code it efficiently. This round concluded with positive feedback, allowing me to advance to the onsite interviews.

Onsites

Round 1 (Coding)

This round featured a question centered around string modifications. I proposed a BFS-based optimal approach, which the interviewer found satisfactory and asked me to code. After implementing it quickly, I handled two follow-up questions effectively. For the third follow-up, I suggested a DFS-based approach and managed to code it swiftly in the remaining seven minutes. The round finished on time, leading to a Lean Hire/Hire verdict.

Round 2 (Coding)

The second coding round presented a problem involving bits/byte manipulation. It took me some time to fully grasp the question, requiring several clarifications before I could provide a basic solution. Despite the interviewer's prompts for optimization, I couldn't come up with a better approach beyond my initial solution. I coded my solution and discussed 2-3 follow-up questions on my code. I felt this round didn't go as well as I had hoped, resulting in a Lean Hire/Lean No-Hire verdict.

Round 3 (Coding)

I faced a question based on a 2-D matrix in this round. I instantly came up with a DP-based solution that satisfied the interviewer, and I coded it very quickly. A tricky follow-up question followed, for which I initially proposed a backtracking solution with exponential time complexity. Upon being asked to optimize, I presented an optimal BFS + Priority Queue-based approach. The interviewer was pleased and asked me to code it, which I did promptly. We verbally discussed a final follow-up question. This round was flawless, ending 10-15 minutes early, giving me a chance to ask about Google's culture. The verdict was Hire/Strong Hire.

Round 4 (Coding)

The interviewer began by asking about my resume, technologies, and projects. After 5-10 minutes, we moved to the first coding question, which was a LeetCode Hard problem based on Heaps. I discussed a Priority Queue-based idea with the interviewer, who asked me to code it to confirm its validity for all edge cases. I meticulously coded the solution, which took 20-25 minutes, ensuring all edge cases were covered. The interviewer was satisfied with my code. With 10-15 minutes remaining, we had a casual chat. This round also went flawlessly, resulting in a Hire/Strong Hire verdict.

Round 5 (Googlyness)

This behavioral round featured a very friendly interviewer. After introductions and discussing my projects, I confidently answered a range of standard behavioral and situational questions. The interviewer seemed satisfied, and the interview concluded 15 minutes early, leading to a Hire/Strong Hire verdict.

After the onsite rounds, I had team fit calls with two teams and chose the one that aligned best with my expectations. My candidate packet was then sent to the Hiring Committee and was approved within a week. Overall, the entire process took over two months, but I am very pleased with the final outcome.

Interview Questions (1)

Q1
Activity Selection Problem
Data Structures & AlgorithmsMedium

Given a set of activities, each with a start and finish time, select the maximum number of non-overlapping activities that can be performed by a single person. I came up with an O(n log n) solution.

Preparation Tips

My preparation involved consistent practice on LeetCode, with a particular focus on Google-tagged questions, mostly at a medium difficulty level. My background in competitive programming helped me quickly adapt to the pace. I found the discussion sections for LeetCode problems to be an invaluable resource for optimizing solutions and understanding diverse approaches. During the interviews, proactive communication and thinking out loud were crucial and received positive feedback. I prioritized quality over quantity, focusing on mastering major topics like Binary Search, Recursion, DP, and Heaps, ensuring I was comfortable writing code for each data structure. I also emphasize the importance of perseverance, advising others not to get disheartened if one or two rounds don't go perfectly.

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!