[NDA] Google | L3 | Sunnyvale | Oct 2020 [Offer]

Position: Software Engineer L3
Location: Sunnyvale
YOE: 0 (Recent grad with MS in Computer Science)
Offer date: 10/9/2020; Start Date: 10/26/2020

First off, I'd like to thank the Leetcode community - the questions and the discussion sections were extremely helpful. I have read so many success stories that are the direct outcome of this wonderful platform, so it gives me immense pleasure to be able to share my personal experience.

Background

I did my bachelor’s in computer science from India (2018 grad), came to the US without any work experience and did my master’s in computer science (2018-2020). This was my first time applying to Google and the first time I interviewed for a FAANG company.

Preparation

I had done a grad-level algorithms course during my masters, so I think my fundamentals were pretty strong. June of this year, I started doing the Leetcode monthly challenge for fun but soon, I got addicted to solving problems on Leetcode! Till my interview, I solved about 350 (84 Easy, 241 Medium, 53 Hard) questions and participated in 10 weekly contests. I strongly believe that participating in the contests helped me improve my coding and thinking speed to a point where I was able to translate my thoughts to code without too many bugs. To anyone preparing for interviews, I strongly recommend contest participation. And yes, please compare yourself with your previous week’s performance and do not get demotivated by the leaderboard. I also subscribed to Leetcode premium for a year – I used this to solve Google tagged questions filtered over the last one year. I also did about 5 mock interviews on p-r-a-m-p. My interview was on a Monday and I even participated in the weekly contest on the Saturday before the interview. While I have seen people advice against solving new problems before the interview, I think this helped keep my mind ready to solve unseen problems. In the days leading up to the interview, I also went over ~250 of the questions I had solved. I spent about an hour on preparation for the Googlyness interview since I was relatively confident about behavioral interviews.

Interview

After a month and a half of leetcoding, I decided to apply to Google via a referral. When I applied, the new grad positions were not open, so I applied to a specific team. A recruiter got in touch with me early August and we had a brief conversation about my resume. They decided to proceed directly to the virtual onsite with 4 coding rounds and 1 Googlyness (behavioral) round. I asked for a month and a half of additional prep time. The virtual onsite was scheduled for September 21. I am sorry to disappoint the readers, but I cannot reveal the interview questions due to the NDA. The questions were of the difficulty level you would expect from Google.

Round 1: Coding Interview
Round 2: Coding Interview
Round 3: Coding Interview
Round 4: Coding Interview
Round 5: Googlyness

Post Interview

Three days after the interview, the recruiter contacted me. He said the feedback was positive and he was going to move ahead to team matching. I had two team fit calls over the course of the next two weeks and got matched with one. Post the match, we spoke about compensation and I did not negotiate – I asked for industry standard and the compensation they offered was very good. The hiring committee was up next, and I finally got the offer letter. It took about 3 weeks from interview to offer. Interviewing with Google was honestly an amazing experience and a huge shoutout to my recruiter for guiding me through this process and providing sound advice. The entire recruitment process was so professional, and it really pushed me to do better.

Takeaways

• The way you talk and communicate with the interviewer can make a HUGE difference. Writing code, while an important aspect of Software Engineering is not the ONLY thing. If you struggle with communication, spend time on improving your communication skills. Just think of it this way – if you were interviewing someone who is quiet and/or not communicating properly, would you want to work with them?

• Please do not try to solve a large number of problems and remember solutions. I can guarantee that the interview questions you will potentially get (especially at Google) will be new. Focus on the concepts – for example, I was initially under the impression that DFS and BFS are two alternatives to do the same task but the more problems I solved, I understood the actual underlying difference between the two and when one should use BFS over DFS and vice-versa.

• Rejections are completely normal! I have been rejected by Microsoft 3 times, Facebook once and Amazon twice - all without a phone screen. With the huge number of applications they receive, many external factors play a role. Keep working on improving your skills and you will be rewarded at some point.

• Practice coding on Google Docs on a few problems before the interview if you have been using Leetcode without autocomplete. If you are using autocomplete, turn it off ASAP!

• Staying calm during the interview is one of the hardest things to do. For me, constant self-reassurance that I have worked hard, and that I know my DS and algorithms helped. If one interview doesn’t go well, you can come back stronger in the next and erase most of the damage.

Throughout my undergrad and most of my grad school, I always thought Google was out of my reach and I was too scared to even apply! But here I am, a Noogler! Believe in yourself and put in the work :)

Good luck to everyone!

Edit: Thank you all for your response. Feel free to connect with me on LinkedIn.

Comments (42)