Google | L3 | India | June 2021 | Offer
Anonymous User
4301

Hi all,
I'd like to share my Google Cloud interview experince with everyone and give back to the leetcode community.

The recruiter reached out to me around January 2021. Honestly at that time I hadn't interacted with any recruiters on LinkedIn before and I was not aware that recruiters often initiate the conversation. I ignored her message for about a month or so before I gave in and replied back to her with my resume. I thought I can take this chance even if it turns out to be a scam (I'm a deeply suspicious person :P).

She phoned me up sometime in March and did a quick screening test before informing that she will proceed with further interview rounds. This was a very basic 15 mins QnA round - she asked about how hashtables work, time complexity of some of the sorting algorithms and some C++ syntax.

I had my first phone screening round on Hangouts at the end of March. It was a 45-50 mins session where I was asked a very non-trivial (IMHO) DP question. I arrived at a sub-optimal solution that I coded at the end after a lot of discussion where my interviewer was prompting me towards the optimal solution. Unfortuantely I did not arrive at the optimal solution and sort of gave up. My feedback reflected my own expectations - I could improve on my DSA concepts and edge cases handling. I have yet to find the exact question that I encountered in this round anywhere on the internet and I don't want to voilate my NDA but I can say this much. It was a DP question in a matrix where one could move in all 4 directions.

I had 3 rounds of technical interviews; all happened on the same day sometime around mid May. My recruiter also changed to another person.

First round was the craziest of all. The interviewer asked me two very standard array related questions which I was able to code down very quickly. He asked me if I had seen them before and I answered honestly that yes I had. Next he asked me medium-hard DP question. I was quick to get past my sub-optimal solution and brainstormed on the optimal solution. The interviewer had to give me 2 hints before I was able to arrive at the desired answer. However I was not left with a lot of time and I managed to only write down pseudo code for the last question.

Second round was mediocre. It was a DP question that I was able to solve fairly quickly. We had a lot of discussion on how to improve the time complexity and I was able to identify the patterns with the help the interviewer but could not arrive at the solution he was promptimg me towards. Although he did remark that this optimization was very specific and he did not expect most people to spot this.

Third round was the best. It was a highly code intensive question involving graphs. The interviewer first made me code down a warm up question which involved cycle detection and in-bound/out-bound edges of a node in the graph. Then he gave me a problem statement where I had to identify that this could be reduced to a graph and I could reuse the warm up question logic. I coded this in time and we dry ran few examples together. I had missed out some minor edge cases that he pointed out. I also think he was running my code in an IDE because he was able to spot some syntactical errors. In this round I was able to finally practice what I had learnt - to ask a lot of clarifying questions because the question was a bit ambigious to begin with. We ended this interview right on time.

My recruiter was not very elaborative except to say the I had positive feedback and my Googlyness round was scheduled for day after tomorrow.

Googlyness round was as I expected. I had prepared for all the standard questions and rehashed all my past experiences to use as examples when required. It was a 30 minutes round and it went well.

After this my recruiter went MIA. He wouldn't respond to my emails and ignore my messages. After 20 days he called out of the blue to inform me that I had passed my HC review and the offer was mine to accept. I had a counter offer from a reputed startup that helped in my compensation negotiations (a very important thing to have if you don't want to be lowballed by Google).

I had no team matching. 1 month after I recieved an offer, my recruiter changed again. And this new person was able to clarify a lot of my doubts regarding team matching and more. Of the 3 recruiters, my experience with this one was the best. She was prompt, responsive and kept me updated with all the process.

I finally accepted the offer :)

My two cents:
I am an underconfident person by nature. So if 150 questions would have worked for others, I solved 300+ questions before my technical rounds to feel confident enough. Of course as many have stressed before me, quality matters much more than quantity. I aimed to solve as many types of questions, especially dynamic programming related, as I could. I also made use of Leetcode premium to target Google specific questions sorted by frequency (last 2 years). I had started half hearted DSA preparations in January because I wanted to switch company. But I picked up pace after March - when I had my first call with the Google recruiter. So I can say I devoted solid 2 months to DSA preparation.

Also I had certain health issues during April, so they were very accomodating when I asked to reschedule my technical rounds, no questions asked.

It is important to have competing offers from good brand names to have some leverage while negotiating salary. Otherwise Google low-balls you to the ground (a very eye-opening experience).

My YOE: 2 yrs

Comments (10)