Google Interview Process
March 2024 — June 2024
A recruiter reached out to me via LinkedIn in February and I had received an email too for a job opportunity at Google. I agreed to proceed ahead with the opportunity and my recruiter scheduled a call to understand my profile. However, the call got postponed and we finally got to talk in the first week of March.
In the call, the recruiter asked me questions about my previous company, university I graduated from, my work experience, my preferred coding language, expected compensation, and my preferred location to work. They even asked me if I had appeared for any Google interviews before. I had appeared for a pre-screen round in December, 2023. But my process was not continued as the position got filled already. So this time, they decided to skip the pre-screen and directly move to the onsites as I had already cleared it.
December 2023
Pre-Screen: 45 minutes DSA coding round
This is an eliminatory round. If you clear this round, three onsite rounds are scheduled.
The interviewer was based out of Germany.
Question: The question they asked me had two parts to it. Both were solved to be in the next 40 minutes. It was a Greedy algorithm question of Leetcode medium level.
Performance: I solved it within time frame, did a dry run of the code. In the time left, I asked some questions from the interviewer.
After the short call in March about my profile, the recruiter gave me two weeks to prepare and scheduled a mock interview to assess my progress. The mock interview was scheduled in the third week of March.
March 2024
Mock Interview I
It was a practise round. There is no impact on the candidature due to your performance in this round.
The interviewer was from the US. They asked me two questions.
Question: First question was from Stack topic. It was of Leetcode easy level. I solved it without any challenges.
Second question was from Trie topic. It was of Leetcode hard level. I had not brushed up on this topic. Hence, I took some time to discuss the approach. I could not complete the code within timeframe.
Performance: The interviewer gave me some feedback on my performance and how I could improve.
After the mock interview, I received an email to provide the preferred time slots for the onsite rounds. Since I believed I needed to brush up on some topics like trie, graph, and dp; I requested to schedule the onsites in the second week of April.
Onsite rounds are no different in format. They are the same 45 minutes DSA round. It was conducted virtually only.
Just a week before my onsites, my recruiter asked me if I wanted to give one more mock interview. I agreed to the proposal and got one more mock interview scheduled few days before the onsites.
April 2024
Mock Interview II
The interviewer was based out of Singapore.
Question: They asked me only one question of Leetcode medium level. It was a String manipulation question that required the use of HashMaps and optimisation for the best approach. The focus was also on my coding practices like how many functions I was creating and if I could make the code more clean. There was a lot of discussion on the edge cases of the question.
Performance: We were over time but the interviewer concluded with the feedback and asked if I had any questions.Onsite I
The interviewer was from India.
In the first five minutes, they introduced themselves and asked for my introduction. Then they summarised the format of the interview.
Question: It was a string manipulation question with the use of Graphs in it. I would rate it as a Leetcode hard level.
Performance: At first, the question looked quite easy. I discussed the approach and coded it quickly. However, as I ran through the code, the edge cases that popped up in my mind made it a little tricky. I explained about the cases where my code would fail, and the interviewer asked me to make modifications to incorporate all the cases.
It required cycle detection algorithm. I suggested the approach thoroughly. Then they asked me the time and space complexity of the solution. The interviewer looked quite satisfied and said that only approach was enough.
Although the interview went well, I was concerned that I should have made room for me to write the remaining code as well.
Self verdict: HireOnsite II
The interviewer was from India.
They directly displayed the question and I was all left to solve it in the next 45 minutes.
Question: It required a graph traversal technique to solve it. Although it was of Leetcode medium level, the description and the follow ups made it hard.
Performance: I was trying to understand the pattern and was discussing all that was coming into my mind. However, I was stuck and could not reach the solution. The interviewer was silent for the first 15 minutes, however, they jumped in with hints. I could not make use of them as I found them vague. After about 30 minutes, I proposed a solution. The interviewer was convinced with the approach but I had little time left to code. I wanted to complete it and I coded the problem in an entire hurry. It had few errors, but there was no time to resolve them. We could not discuss any further optimisations too.
I believe I had messed up the interview but I was still hopeful.
Self verdict: No hire/ lean hire
After this the recruiter called me saying that the high-level feedback of the interview was not good, and that I may expect another one or two onsite rounds after these three rounds. I had become scared and thought I cannot afford to mess up any more interviews.
The third onsite was scheduled after two days of the second onsite. However, due to logistics it got postponed. I was again asked for the preferred slots. But I had to postpone it even further as my grandfather had passed away. And I needed some time to cope up and be with my family for rituals.
During this time, I would grind Leetcode and GFG hard questions specifically those tagged to be already asked in Google previous interviews. I would even keep track of time in which I would solve the question.
Finally, third round was scheduled in the second week of May just a day before my birthday.
May 2024
Onsite III
The interviewer was from India. They were friendly and polite.
They asked me to introduce myself and just before they wrote the question, they asked me to take deep breath. Gestures like these shoot up your confidence and make you feel at ease.
Question: The question was a dynamic programming question and there was a follow up too, along with a discussion on space and time complexity.
Performance: I explained the approach starting with brute force and then optimising it at next levels. I then wrote the optimised code.
The interviewer was satisfied and I asked them some questions about their experience.
Self verdict: Strong hire
The recruiter also told me that this round went pretty well and that the next round would be a Googleyness round. It is equivalent to the HR/ managerial rounds at other companies. It got scheduled the next week. I went through the Google values, and prepared example scenarios for the hypothetical situation questions.
Googleyness round
The interviewer was from India.
There were questions about my behavioural aspects. I answered all the questions using STAR method. We also discussed the Google culture and interviewer’s experiences.
Self verdict: Strong hireTeam Matching round
On the same day, a team fitment round was scheduled.
In this call, you get to talk to the hiring managers of team with which your profile matches. The discussion revolves around the work experience, the kind of work the team is involved in and if both the parties are satisfied with each other.
The HM I got to talk to selected my profile and I also agreed to be a part of the team.
Then I was asked to share some personal details for background verification. I suspect that my packet was sent to the Hiring Committee (HC) for the approval.
After two weeks, I asked my recruiter for any update to which they replied that I would have to go through an additional onsite round as the feedback of one round was not up to the mark.
The additional onsite round was scheduled in the first week of June. As I felt tired with the process, I had stopped practising in the last three weeks. But due to the introduction of the additional round, I immediately got back to practise. This time, I focussed only on already solved questions for revision. I did not solve any new question and just went through the previous Google interview experiences.
June 2024
Additional Onsite Round
Due to my work commitments, I had requested the recruiter to schedule this interview in the evening.
The interviewer was from the US.
Question: The question was of Leetcode medium level. It was an open ended question and did not have a definite approach to be solved.
Performance: I solved it using Heap data structure.
The interviewer was so friendly and it was nice interacting with them.
Self verdict: Strong hire
On the same day, I received an email from my recruiter that the additional round went well and that we could move to the next level. However, I did not hear back from them for a week.
After some days, I received a call for salary negotiation. After few discussions the compensation was finalised.
18th June 2024
The offer letter was in my inbox!