Google | Level 3 | Bangalore, India | Jan/2021 | Offer (L3)

google logo
google
software engineer l3bangalore, india3.5 yearsOffer
June 26, 20214 reads

Summary

I successfully interviewed with Google in Bangalore, India for an L3 Software Engineer role, ultimately receiving an offer after a comprehensive process spanning six rounds in late 2020 and early 2021.

Full Experience

My Google Interview Journey

I am grateful for the LeetCode community's support during my preparation for this interview. My background includes graduating from a Tier 2 college and having 3.5 years of experience at a service-based company. I solved over 200 LeetCode questions, preparing for about 2 months, which was extended due to a COVID-related interview halt.

It's worth noting that I encountered questions I had never seen before during the interview process. The overall process consisted of six rounds:

  • 1 DSA Telephonic Round
  • 3 DSA Onsite Rounds (conducted on one day)
  • 1 DSA + 1 Googleyness Round (conducted on another day)

I've heard they now typically conduct only 3 DSA onsite rounds, though I'm not sure why.

Round 1: Phone Screening | August 2020

The interviewer, from a US office, asked a single LeetCode medium question, which was a tougher version of the 'Decode String' problem. It was quite time-consuming, requiring extensive explanation and thorough understanding. I managed to handle all edge cases, asked appropriate clarifying questions, and completed the solution within the allotted time. The dry run went smoothly, and I later received positive feedback for this round.

Round 2: Onsite Round 1 | September 2020

This round involved two LeetCode Medium/Hard questions, focusing on Linked List and Graph concepts. The interviewer directly jumped into the problems. Despite the questions being challenging, I was able to devise solutions and complete both within the given time. I was particularly happy with my performance here, as I solved a completely new problem effectively.

Round 3: Technical Round 2 | September 2020

An interviewer from India led this round, which felt like a system design discussion intertwined with DSA, specifically centered on string manipulation and processing. I was asked to explain and design the classes I would need. I truly enjoyed this problem, coming up with numerous edge cases, two of which even surprised the interviewer. I felt incredibly satisfied at the end, having designed and explained my solution comprehensively.

I received combined feedback for these three onsite rounds the next day. I had high hopes for superb feedback, especially for this round, and while the recruiter said it was 'good,' I was secretly hoping for 'superb' given my performance. I didn't prepare specifically for a system design round, so I was proud of how I handled it.

Round 4: Technical Round 3 | September 2020

After a brief introduction, the interviewer presented one LeetCode medium question. It was similar to task scheduling, but a tougher variation. I successfully solved it. The feedback for this round, along with Round 1 and Round 3, was all positive, with the first and third rounds being described as 'superb.' This positive outcome led to scheduling the next interviews.

Round 5: Technical Round 4 | September 2020

This round started with a quick introduction before diving into an array-based question, followed by a graph problem. It was a LeetCode Medium question with 4-5 follow-ups, effectively making it 5-6 questions in total. I solved all of them within the time limit and was eager for more challenges. I loved this question and distinctly remember my confidence in quickly finding solutions.

I received 'all positive and superb' feedback for this round.

Round 6: Googleyness | September 2020

The final round consisted of questions about my projects and various hypothetical situations. I believe I answered them well, and the feedback was mostly positive.

Following these rounds, I moved to the team matching phase, and eventually, my packet reached the Hiring Committee (HC), leading to an L3 offer.

I must admit, while thrilled to join Google, I felt a bit disappointed about the L3 level. At my previous company, I was an SDE2 and on track for a senior role. I had initially hoped for an L4 profile at Google. The recruiter had mentioned that the HC determines the level, but I continued to inquire about it during our calls. I put in immense effort and genuinely believe I could have achieved L4 if the interview process differentiated based on level, which it generally doesn't. My interviews were all strong, receiving positive responses. Nevertheless, Google was my dream company, so I accepted. I'm doing well here and am committed to working hard and being happy.

My advice is to always clarify with your recruiter about the levels they are evaluating you for. Knowing this upfront can help manage expectations, even if there's a possibility of a downgrade. Thank you again, LeetCode community, for being so amazing and supportive!

Interview Questions (2)

Q1
Decode String (Variation)
Data Structures & AlgorithmsMedium

I encountered a problem that was described as a tougher version of the 'Decode String' LeetCode problem. It was a single, time-consuming medium-difficulty question from a US-based interviewer, requiring explanation, checking understanding, and handling all edge cases.

Q2
Project Discussion and Hypothetical Situations
Behavioral

This Googleyness round focused on behavioral aspects, including discussions about my past projects and how I would handle various hypothetical scenarios.

Preparation Tips

My Preparation Tips

My most important tip is that anyone can become a Googler. If I could do it, you certainly can too. It's fundamentally about consistency, hard work, and maintaining motivation. Solving Data Structures and Algorithms (DSA) problems is indeed the path to success.

Be consistent in your preparation. Aim to solve at least one coding question every day. Don't fall into the trap of thinking certain topics are more important than others; every question is valuable, and what you get depends entirely on your interviewer.

Practice coding under time constraints. Time management is crucial; if you spend too much time explaining, you won't have enough time to code efficiently. Lastly, I highly recommend doing mock interviews. If possible, practice with a friend who can provide valuable feedback. If not, record yourself and pretend you're interviewing with a Googler, then critically evaluate your own performance.

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!