[Offer] [Accepted] - Google L3 interview experience
Summary
I successfully cleared the Google L3 SWE interview process after several technical and behavioral rounds, ultimately receiving a strong hire feedback and an offer. The entire process, from initial contact to offer, spanned approximately six months.
Full Experience
My journey with Google for the SWE L3 role began in mid-January 2025 when I first connected with a recruiter. After expressing my interest and staying in touch for about a month, my interviews were scheduled.
The eliminator round took place in early March. The interviewer promptly started with introductions and then presented an open-ended problem: "Create a Python class for implementing a directory structure to store files in a file system." After asking several clarifying questions, I quickly implemented a solution using a Trie. The interviewer was satisfied and extended the problem to incorporate file sizes, requiring me to report the total size of a given folder or file. I successfully implemented this, and the problem was further extended to include a delete feature, which I also managed to implement within the time limit. I even optimized my solution, coded everything properly, and demonstrated a dry run.
Two weeks later, I received the good news that I had cleared the eliminator round and would be moving on to the onsite interviews, which consisted of three technical rounds and one 'Googlyness' round.
Towards the end of March, I commenced my onsite interviews.
- Round 1: This round started with introductions, followed by a DFS-based question. It involved graph creation from an array using intuition and determining node connections, somewhat akin to topological sorting, moving from top-most nodes to leaf nodes.
- Round 2: I was asked to implement a PowerShell-style system. The problem statement initially felt vague, so I asked many clarifying questions to understand the requirements fully. I was specifically asked to implement error handling for invalid inputs, such as circular dependencies or incorrect string formats.
- Round 3: This round featured a series of easy DSA questions, posed rapidly. Topics included sorting, iterating, and optimizing for memory and time. Examples included printing the next 'n' odd numbers starting from 't', and grouping and sorting class objects while preserving the relative order of identical elements.
- Round 4: This was a standard 'Googlyness' round. It went exceptionally well, and I had a very interesting and healthy discussion covering my work experience, hobbies, and academics.
About two weeks after the onsite rounds, I received a call from the recruiter, who congratulated me on clearing all interviews. I received strong hire feedback across all my rounds.
Over the next two months, I participated in team matching rounds, one for the Bangalore office and one for the Hyderabad office. I politely declined one team match as I felt it didn't align with my career aspirations. Finally, at the end of June, I received the call that they were proceeding with an offer, and I received my offer letter shortly thereafter.
Overall, my experience was positive. I have no complaints, understanding the immense scale of Google's hiring process, with hundreds of candidates interviewed monthly. I knew it would take months. My recruiter was consistently helpful, always responding to my concerns and follow-ups. All interviewers were punctual and very kind throughout the process.
Interview Questions (3)
Design and implement a Python class to represent a file system's directory structure. The core requirements were to store files, calculate the total size of a given folder or file (including all its sub-elements), and implement a delete feature. Optimization of these operations was also a key aspect.
Given an integer t as a starting point, print the next n consecutive odd numbers following t.
Given a collection of custom class objects, implement a mechanism to group them based on a certain criterion and then sort these groups. Crucially, the relative order of elements that are considered equivalent during sorting must be preserved (stable sort).