Google L3 Interview Experience
My journey through the Google interview process
Google Coding Interviews are one of the toughest interviews to crack. From the time I found my passion in Competitive coding, my aim was to crack Google Coding Interviews.
Here I am trying to list down the complete process that I went through. It was a 4-month long process and there were a lot of questions that kept on popping in my head from time to time, so I’ll try to answer every such question.
Recruiter Connect
In the first week of February, I got an email from Singapore based Google recruiter mentioning that my profile has been shortlisted for the L3 Bangalore interviews(my current YOE is 2).
A week after that there was a call scheduled from the same recruiter mentioning the process. There had to be one phone interview and it was supposed to be eliminatory and if I pass that I would proceed to further onsite interviews.
All these would be based on Data Structures and Algorithms.
There was also a group call scheduled from the same recruiter wherein she explained the process and gave preparation tips. Thereafter we had to fill in a Google form mentioning our location of preference and dates of availability for the interview.
I got my phone interview scheduled for the first week of March.
Phone Interview
This interview was scheduled from 8:30 pm for 45 minutes. The interviewer was based in San Fransisco. I faced some network issues but he was really friendly with that.
The question was based on DFS and memoization. It was a medium-level question and I did solve it in 10 minutes(with code and explanation), he asked me further questions on the previous question.
Also, there was not a very hard time limit and in the end, we kind of discussed some more on the question for extra 5 minutes.
Tips:
Have a very good understanding of the data structures that you are using.
Be highly communicative on the approach.
Though I asked him if I need to code the input/output, he said there isn’t any need. But at last, I was asked if there is any modification I would do in the code, so I made the code production-ready. It was a good practice as later in the debrief I was told that this acted as a plus point.
Phone Interview Results
After 4 days, my recruiter scheduled a debrief call for 15 mins.
She told me I had passed the interview.
- My communication skills were very good. I listened to the interviewer very intently.
- I was able to come up with the solution really fast.
- I had a good understanding of trees and forests and ordered and unordered maps. Also, I was able to put input-output statements to make the code working. (Though you won't be asked to run the code)
- I also asked a lot of clarifying questions and tried to understand the requirements before jumping into the code.
From here on my application was handed over to a Bangalore-based recruiter for further interviews.
Regional Recuiter Connect
My new recruiter sent me the study material for the onsite interviews. I was given 10 days to prepare. I got my interview scheduled for the second last week of March.
There were 3 technical interviews and 1 behavioral interview.
Two of those interviews were scheduled on the first day and the next day the other 2 were scheduled.
Onsite Interview 1
Duration: 45 mins (took around 55 minutes)
I was asked a medium to hard level dynamic programming question.
The code had to be done on Google Docs.
I was able to come up with an approach and code the solution with all the edge cases covered.
Onsite Interview 2
Duration: 45 mins
I was asked a union-find question.
The code had to be done on Google Docs.
It was a little tricky. At first, it took some time for the interviewer to explain the question. The initial discussion on the question went for about 20 mins. After that, I started to code. But had some difficulties in understanding the question. But I was able to code it with all the edge cases covered.
Onsite Day 1 Results:
My recruiter called me 2 hours after the interview. He told me that the first interview was really good but I lost some points in the second interview. He then said that the next rounds will be scheduled the next day and I must focus on the data structure part as the second interview lost me some points there. In all the other criteria I had scored perfectly.
Onsite Interview 3
This was a dynamic programming hard-level problem.
Duration: 45 mins
I was able to come up with the approach and code the solution with all the edge cases. The interviewer was really impressed with my approach, although he had some other approach in mind. We discussed his approach also(within the time).
Onsite Interview 4: Behavourial
This was a behavioral round.
I was asked some generic questions. I answered the question using the STAR methodology.
The interviewer was really nice, at the end we discussed life at google and how much care does google showers on its employees.
Recruiter connect after the onsite interviews
On the day my onsite interviews ended I received an email stating that I need to submit some documents.
- Current Offer Letter
- Transcripts
- Updated Resume
This was required for the Hiring Committee.
I didn't have the transcripts from my college, so I sent the scanned grade cards and asked my college for transcripts. After a week I got the transcripts and forwarded them to my recruiter.
After 1 week I got a call from the recruiter asking me some general questions about college, hackathons that I had participated in.
Hiring Committee Results:
I had to wait for 2 more weeks before I heard from the recruiter. HC had approved my application and I was to proceed with the team matching round.
Team Matching
After 1 week, I had a call with the potential manager. We discussed the project in detail. Then he asked me various questions about my job profile and my experience.
Reaching to Recruiter
It was past 10 days that I hadn't heard from the recruiter.
By this time I had already received an offer from Flipkart. So I contacted my recruiter for the results of the team match.
After another 2 days, he told me that I had cleared it and sent me the compensation details.
Negotiation
I told my recruiter that I want the compensation to be revised. I mentioned that I am holding an offer from Flipkart but I want to join Google(big mistake! Never say that you want to join Google only at the compensation discussion)
I was asked to send the Flipkart offer letter. Though the negotiation didn't add too much value, I learned a fair bit from it!
Questions:
- Is it fine to contact your recruiter to get updates?
I wouldn't say it is recommended, so don't bother your recruiter unnecessarily. Google takes a lot of time to evaluate, so try to be patient. But if you are stuck and waiting for the results to plan ahead, then it is fine to ask your recruiter. Try to explain your situation and get their viewpoint as well. - What if I didn’t hear from the recruiter for a long time after the interview?
This is a very common thing, but what happened with me was my profile was on the positive side only, so it took that much time. I think that if you are going to get rejected your recruiter will let you know as soon as possible. If it is taking time, then it might be that they are considering hiring you. - I don’t have all the documents that the recruiter asked for, will I be rejected?
No, take your time and collect all the documents asap when your recruiter asks you. As I have already listed the main documents, it's better to at least keep those handy. - Does CGPA matter in Hiring Committee?
My CGPA is around 8, so I guess it doesn't matter, provided that you have a couple of years of experience and your interviews went really well. - In interviews, shall I start with the brute force approach?
I would say don’t. If you know there is some optimal solution, straightaway work to find it. Google interview questions are not easy and spending time unnecessarily on brute force solutions wouldn’t get you to the right solution in time. It's always better to complete beforehand and give the interviewer chance to ask questions on the code that you have written. - I am not from a Computer Science background, will I be able to get a recruiter to connect with me?
Yes. Have a good presence in the competitive coding community. Participate in Kickstart, CodeJam, Codeforces, etc.
Follow for more interview experiences.
Discord link: https://discord.gg/zEHhKWQm for any questions, debugging sessions.