Google | L4 | India | June 2022 | Accepted
Anonymous User
9811

Initials

Recruiter approached me on phone (got my contact details from my past google applications) and went through my experiences and asked if I'd be interested in interviewing for a full-stack (backend-focused) role at Google and gave me 3 week time to prepare for the first telephonic round.

Details mentioned by recruiter:
Location: Bangalore
Team: Not mentioned
Level: General SWE (L3/L4 - SDE-II/SDE-III based on interviews)

Telephonic Preparation

I also interviewed at Amazon but the experience with the interviewers didn't went very well and finally got rejected in the telephonic round. Already had good understanding of basic data-structures and algorithms, though I was not well versed practicing the tricky questions (adhocs) and advanced patterns in problem-solving (like monotonic stack/queue, line-sweep, binary lifting, etc). I was preparing after/before my office hours and mostly picked questions from the company wise sorted frequency list and once picked, I tried other questions following similar patterns to get my head around new things well (and re-iterated those back after solving some other types).

Telephonic round

Interviewer asked for introduction (about my experiences around things I've built) and directly jumped to the question

Interview question: Time for turn

The story of the problem made it a little difficult to understand initially but asked a lot of clarifying questions and figured out the approach, verified with interviewer with example cases and coded it out. There was a bug that interviewer asked me to find and fix in the last 2 minutes which I couldn't so they pointed the line number and then figured it and solved.
Interviewer was sometimes interrupting me (during intro and even while approach discussion), even though it can quickly become annoying but best way to deal with such situations it to make them feel heard and then asking for your space to think on the suggestion (did this and when I felt he was still not allowing me to "think out loud" properly, I asked 2 minutes of quiet time to properly analyse the problem and devise an approach)

Telephonic result

Received call from recruiter the same day that the interview feedback was very positive and asked my availability for onsites. I asked for three-week time to prepare for onsites and it was scheduled. I was asked if I wanted to do all rounds on the same day or spread over multiple days, I chose to do it on the same day to reduce the pressure.

Onsites preparation

I couldn't prepare much for the onsites due to my office work so just before a week away from the round, I realised that I'll fail if I go ahead with the current preparation and wisely asked the scheduling team to give me 2 month preparation time as I'm not able to get a lot of time weekly for preparations because of my full-time commitment. Round got re-scheduled by one month.
Practiced some common problems and patterns and sometimes explored new topics/algos based on curiosity rushes.

Onsite Round I

An interviewer from Google China team joined the call, asked basic introduction and jumped straight to the problem.
I was asked a problem very similar to Amount of new area painted each day and knew the optimal approach to solve it but the interviewer asked if I've solved this problem before and replied positively and they immediately scratched it from the board. :/
Interview then presented the screen and showed an internal google doc with giant description of a game problem in it.

Interview question: Find the winner | Babylon [Linking someone else's post with same question as mine]

I initially tried to solve it greedily, figuring out the optimal moves for each player but then interviewer explicitly mentioned that we'll have to run a game simulation to figure out which player will win and it's impossible to solve it greedily.
Wrote a function to first figure out the next states given any game state. Mentioned a non-optimal way to store the game states (2D vectors) and then wrote a function to explore all possible games states given the starting state of the game to figure out the winner. Interviewer asked for time and space complexities but I did a mistake calculating the time complexity for the exploration function. We ended exactly at the 45th minute mark.

I got a bit nervous after the first round that it didn't go well but calmed myself thinking I can still K.O. this with a 3/1 score.

Onsite Round II

This round came out to be the googlyness one. Interviewer was lead architect in some team at Google Cloud and had 25 years of experience. He explained to me very well about what was expected and that I'm allowed to take proper time to think before speaking. Felt like scene from movies where FBI officers say: "whatever you speak can/will be used against you".

Brief of discussion:

  • Past work experiences and 3 key achievements
  • Questions related to a major project I mentioned as achievement at my current org
  • Team conflict and situational questions (again related to the same project)
  • A few generic leadership and product related questions

After this round, I was feeling quite happy and confident, it was a very candid talk with the interviewer.

Onsite Round III

Interviewer semed very calming and humble from the start, we had a little chat about how's the day going and directly jumped to the question.

Interview question: Flow water to cities

Solved the question and the follow-up quite easily, rode through my thought process in detail and shared complexities. Talked about better code design and implemented a generic solution (which could handle k cities instead of just two). Interviewer seemed positive and we finished it on time.

Onsite Round IV

Interviewer asked for basic introduction and some past experiences and jumped to the question.

Interview question: Generic Language Translator

I started speaking through the approach for the easier version where interviewer interrupted and told that this is warm-up and if I think it's easy, I should directly code it out. After coding it out, we discussed time and space complexities where we went deep into how unordered_map (hash-map) works internally and why the worst case is not constant. I explained the probabilistic nature of the data structure and we discussed around "amortised" time complexity.

Again traversed through thought-process for the follow-up, we discussed even the minor decisions in the code design in very detail and how to properly design this API to handle all possible cases (updates/deletions if required), at this point only 3 minutes were left, interviewer asked me to code it out and strectched the interview by 10 minutes, coded it, dry-ran some test cases and interviewer accepted it.

HC and team matching

Follow-up I

Received call from recruiter two days after the interview. Got to know that interview feedback was positive and I needed to fill out some basic information form to get my packet submitted to the hiring committee.

Follow-up II

Recruiter told me that after some discussion they've decided to directly pass my packet for team-matching as the scores are good and they don't need HC approval in this case.

Follow-up III

Recruiter told me that hiring manager from a GCP team is interested in profile and wants to have a discussion. They also told me that they're upgrading my level to L5 based on interview scores.

Hiring manager call

Discussed my experiences and interests for the first 10 minutes. Next 20 minutes, HM introduced the team, product and helped with my queries around team-culture, challenges, etc. Went well but decided to pass this team as the role was more frontend-focused.

Follow-up IV

Another team from GCP liked the profile and got a call scheduled with the HM.

Hiring manager call

Got asked some questions around my interests and recent experiences on backend system design. HM shared detailed insights about the product and the team and the discussion went smooth.


After all this, I was asked my compensation expectations, got a good counter offer with which I was happy, accepted after one round of negotiation.

Compensation post: deleted due to negativity from the community

Wrote this post in gratefulness for the LC community.
Thanks to you all. 🙏

Comments (24)