Google L5 SWE - Offer

google logo
google
Senior Software Engineerbangalore7.5 yearsOffer
July 11, 20244 reads

Summary

I successfully navigated a rigorous 6-month interview process for a Senior Software Engineer (L5) role at Google, ultimately receiving an offer after multiple coding rounds, a system design interview, and a behavioral 'Googliness' round, despite several challenges and follow-up rounds.

Full Experience

For the Senior Software Engineer role at Google, I went through a total of seven rounds, excluding team matching. I have 7 years and 6 months of experience, coming from Amazon.

Round 1: Coding

This round focused on finding complementary numbers. I started with a naive solution, then optimized its time complexity, and even discussed a distributed system approach. This round went pretty well.

Round 2: Coding

I faced a LeetCode medium-level Tree problem. I managed to solve it, but I believe the interviewer gave a 'no hire' rating because I didn't ask enough clarifying questions and jumped straight to the solution.

Round 3: Coding

This was a medium-level randomization question. Initially, my approach was messy, but the interviewer was patient, allowing me to clean up and further optimize my code. I received a 'hire' rating for this round.

Round 4: Googliness

This was a behavioral round. I had prepared using the STAR method, coming up with question templates and answer patterns with the help of ChatGPT. It went pretty well.

Round 5: System Design

This round also went quite well. The interviewer began with a simple role-based access control system and gradually introduced more complex scenarios. My experience at Amazon and watching various YouTube videos on design patterns proved very helpful.

After these initial rounds, the recruiter reached out for team matching. I spoke with four teams, but three weren't compatible due to mutual fit or location preferences. The fourth team was a good match, and the recruiter proceeded to the Hiring Committee. However, the Hiring Committee suggested another coding round due to a 'no hire' rating from one of the earlier coding interviews.

Round 6: Coding

This was the most disappointing round. The interviewer gave me a medium question, which I solved in just 10 minutes. He gave me the impression that I had done an awesome job, but then proceeded to waste the remaining 35 minutes with unrelated discussion. He eventually gave a 'lean hire' rating. This led to another decision from the Hiring Committee.

Round 7: Coding

Due to the 'lean hire' in Round 6, the Hiring Committee requested another coding round with an L6+ engineer to resolve the conflict. This round was awesome. I was given a LeetCode hard DP problem and solved it properly, receiving a 'hire' rating.

Even after this, the drama wasn't over. The matched team somehow became unavailable after making me wait for 3-4 weeks. Fortunately, I found an even better team, and they extended an offer, which I happily accepted! The overall process took almost six months, with the coding rounds completed within a month, but the subsequent HC decisions, follow-up rounds, and team fitment taking a very long time.

Interview Questions (2)

Q1
Finding Complementary Numbers
Data Structures & AlgorithmsMedium

I was presented with a problem to find complementary numbers, likely a variation of finding two numbers that sum to a target. I began with a naive approach, then optimized it for better time complexity, and finally discussed how to implement a solution in a distributed system environment.

Q2
Design a Role-Based Access Control (RBAC) System
System Design

I was asked to design a Role-Based Access Control (RBAC) system. The interviewer started with fundamental RBAC concepts and then progressively introduced more complex requirements and scalability challenges for the system.

Preparation Tips

Coding

My preparation for coding rounds primarily involved practicing on LeetCode. I focused on covering a broad range of topics, solving mostly medium-level questions, and a few hard ones. For any topic where I lacked confidence, I started with easy problems to build a strong foundation. I believe understanding the concepts thoroughly is more important than simply solving a high number of problems.

Design

My experience at Amazon was a significant asset for the system design interviews. Additionally, I found the Codekarle YouTube channel very helpful for gaining a foundational understanding of various design concepts, even if not for the final stages of preparation. For specific topics I was unsure about, I would search on YouTube, and I consistently found intuitive and informative videos from excellent creators.

Googliness (Behavioral)

For the behavioral round, I thoroughly prepared using the STAR method. I created templates for common 'Tell me about a time when...' questions and developed a pattern for my answers, which I refined with the help of ChatGPT. This preparation ensured I could articulate my experiences clearly and effectively.

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!