Google | L3 | Bangalore | Mar 2020 [HC Approved]

College: Ashoka University

YoE: 7 months (Joined Microsoft out of college)

I had a contact in Google who encouraged me to apply, and pushed me to prepare properly. A recruiter got in touch with me on the 15th of January, and we spoke a couple of days after. My phone screening was scheduled about a week later.

Phone screening:

https://leetcode.com/problems/decode-ways/

Came up with recursive solution, but took way too long to realize that computations were being repeated, and that we could memoize repeated recursive calls. At the end interviewer asked me to clean my code, and I froze, was completely unsure of what to say.

Also I asked her "What is it like to work at Microsoft" by mistake.

Regardless, I was passed on through to the onsites. Was told that my speed of implementation was effective, but I need to get to the optimal solution (I was still passing around substrings by value, so I got an n^2 complexity here instead of linear). I also needed to write cleaner code.

It was my first contact with Google, so I was a bit nervous. Onsites were scheduled about a month away, so I continued preparation steadily. Did not miss a single codeforces round, and finished up 100 LC problems (I was at about 113-114 before I went to my onsites, about 80 before I went to phone screening). I hit 1800 on Codeforces before the new year, but was unable to hit 1900 before my google process started (and still am unable to it seems).

A friend of mine had landed an internship at Google by now. He was still in college, so I got him to do a bunch of mock interviews with me.

Onsites were all virtual rounds. I sat in a room with a chromebook and paper and pen, and my interviewers would login one by one. They couldn't see the whiteboard, only my coding area.

#1 Behavioural:

My mother is extremely good at behavioural interviews, so I had her coach me before going in, which turned out to be an amazing idea. All the questions were things that I had prepared for. I'd highly recommend practicing a set of behavioural questions with a friend

#2 Technical:

An array based question, which I solved in about 15 minutes, and then a DP based follow up, which took another 20 or so. After this round I felt like I really gained confidence (and having the first round be behavioural also helped). I tried running through a test case, but took too long a test case, and couldn't finish it before he stopped me and asked if I had any questions. Quick tip: make sure you pick a small test case to work through, especially with recursive memoized DP.

#3 Technical:

A slight hiccup here, as I was given a very vague problem statement, and had no idea of what was needed. After asking a LOT of questions (I asked about 10-15 clarifying questions), I finally realised that this was a DP in 3 dimensions, and coded it up. (I still think it might be possible to do it in two, but I can't really see how). Interviewer didn't really inspect my code much, and asked if I wanted another question (15 minutes were left, but since the second interview had overrun, it was already time for lunch). I said yes, and then he told me he didn't have another question.

My recruiter informed me that the first two rounds had positive feedback, so I should continue in the same manner. He was extremely supportive throughout the process.

Lunch. Was. Amazing. I was still on the fence about Google vs Microsoft (I'm very very happy with my team at Microsoft) but lunch definitely played a big role in convincing me that Google has the upper hand. (that and the difference in pay).

#4 Technical:

Interviewer couldn't find a room, so I waited for 30 minutes until my interviewer arrived. After 30 minutes, my recruiter let me know that this round would be rescheduled, because otherwise the next round would cascade. I was a bit disappointed because the interviewer seemed really warm and nice, but I took my 15 minute break and went to the washroom.

#5 Technical:

My first real issue. The warmup question seemed extremely trivial (somewhere between Div2A and Div2B on codeforces, more tending towards A), but the follow up completely destroyed me. I kept working out invariants and observing insights until the very end, but I couldn't finish this part. My interviewer reassured me that he'd really enjoyed the experience (he was extremely engaged and was quite interested in some of the formulae I derived, at one point asking me to prove one of my statements formally), and that the warmup usually took people more time, which made me feel a lot better about not being able to solve the follow up. (I'd say about 4-5 minutes for warmup, and then 40 minutes helplessly trying to work through the follow up).

My recruiter called me after this round, and let me know that rounds 1,2 and 5 had been positive, and interviewer 3 had not got back to him yet. Again, the feedback was lightning fast. He apologized for having to reschedule the round, and asked me what time would work for me. The last round would be a hangouts interview from my house.

Rescheduled #4: Technical

Again, another question that was extremely vague and I had to ask a lot of questions to figure out what was required. The general trend seems to be that vague questions mean that there's only one question in this round, and easy well defined questions should be dispatched quickly so as to get to the follow up. Once I understood it, I explained my ideas, and one of them seemed to work (though it felt extremely brute force-like, but the interviewer seemed quite happy and told me to go ahead and code it). I managed to finish the implementation in about 10 minutes, and then talked about some additional optimizations for another 5 minutes. We had 15 minutes left in the interview, so I asked him a lot of questions about New York for 10 minutes, and then we just both decided to leave the interview early.

My recruiter let me know that this round had gone positive as well. We talked about locations and teams, and a week later he called to let me know all the feedback had been formally submitted, and my third interview was also positive.

My packet was submitted to HC this week. Apparently there's a huge backlog, so there's no clear timeline on when I can hear back. My recruiter has already started talking about teams, and since there were 5 positives, I'm also positive :) but who knows. He also warned me that he has seen on occasion 5 positives getting rejected, and phone screening (which is taken into account in HC) was a little mediocre.

Will update once I hear back from HC.

Update - Hiring committee has approved.

Edit - Apparently the rescheduled 4th interview question was incorrect, it was meant to be something else, and the interviewer just got confused. HC simply threw away this interview, but the remaining 4 positives were enough.

Comments (5)