I am one of the luckiest people who interviewed at Google HQ, MountainView. I will share with you my experience and how I cracked the interviews. I will write in parts as there is a lot to cover and I do not want the readers to feel overwhelming.
Luckily got an interview
I was actively applying for jobs. One day I applied for Google Software Engineer Intern position. I had applied for Intern position because for interns the bar is low than full-time. Within a few weeks, I got a reply from recruiter to send him my transcripts. I sent him my transcripts.
After 2 days, I got a reply from the recruiter saying that I am not fit for the role but he did tell me to apply to Software Engineering New Grad full-time position because they are looking for candidates with a similar profile of mine. I immediately applied to the position. After 2, days a different recruiter contacted me saying that Google wants to have an interview with me and he gave me a link to survey form which I had to complete which included giving my available dates for the interview. The interview steps are 2 phone interview of 45 min each and an onsite interview.
Interview Confirmation and Preparation materials
The recruiter confirmed a particular date with me and provided me with the resources to prepare for the interview. Below are the links that were shared with me:
- How to Prep for a Google Interview Video
- Project Euler
- Google Code Jam -Practice Problems
- Google Students & Life at Google YouTube Channels
- Google Tech Dev Guide
- Google Coding Interview
General tips:
- Put up real code (don’t rely on the pseudo code) — your code should work in a compiler.
- Talk through your thought process as much as possible.
- If you’re making assumptions as you reason through the problem, be sure to communicate those assumptions to your interviewer.
- Ask clarifying questions if you don’t fully understand the problem/question being asked.
- Be receptive to any feedback from the interviewer.
- If you can’t come up with the most refined solutions right away, you can work on the brute force solution and improve on it — but let the interviewer know that’s what you’re doing.
- Check to make sure your code works — run through at least one or two examples to check for correctness.
- We also highly recommend that you get comfortable answering problems similar in the book, “Cracking the Coding Interview.”
This is the best part I liked about Google is that they shared all the resources and the recruiter also scheduled with me 15 min of pre-interview call for making me understand the interview process and what types of questions should I expect. I was told following in my 15 min pre-interview call:
- Talk through the problem out loud with your interviewer.
- Ask questions to clarify questions
- The interview will be 45 min
- I should expect 3–4 questions in the interview
- General Algorithms and Data Structure questions
Planning a preparation strategy
I knew that this is a big opportunity for me and I can not afford to take it casually. I had 15 days in my hands before the 1st phone interview to prepare. I had to be disciplined and had to strictly follow a timetable. I started searching online that how I should prepare for the phone interview:
- This guy studied for 8 months for a full time at Google: I was really inspired by this guy’s story. It boosted me although I was also a bit intimidated because he did not end up a job at Google
- GeeksForGeeks: Google interview preparation: This is one of the best place to practice because it includes articles with a question and detailed answers along with an explanation of the time complexity and space complexity.
- LeetCode: This is my personal best. I think this is the best coding platform and now the new Google Tech Dev Guide has links to Leetcode which means that even Google wants the candidates to practice on LeetCode
LeetCode Premium
After looking at a few problems on LeetCode I realized that many of the problems were actually asked to my friends in Google interviews, so I immediately bought the premium to unlock Google questions. One of my friend who interviewed Google on-site (currently working at Amazon) advised me not to do graph problems and advanced algorithms for my 1st phone interview and just focus on practicing easy and medium level questions of Google LeetCode and I took his advise and I decided to practice String Manipulation, Recursion, Dynamic Programming. He also warned me that speed is important and told me to complete at least 2 questions in the phone interview. He told me to practice graph problems if I clear the 1st phone interview. Some LeetCode Premium features:
- Unlocked Top 50 Google Interview Question and other Top Tech Company’s questions
- Unlocked All 278 questions tagged with Google:
- Unlocked The Google PlayGround which is the best Premium feature. The PlayGround questions are classified into either Phone interview or On-site interview which gave me an idea of which questions I should expect in a phone interview.
- I chose Python as my programming language as suggested by LeetCode Coding Interview Strategy, and I am an expert in Python Programming so I knew that if I want to crack Google interview than I can only do it if I use Python.
The strategy that I finalized for 1st Phone Interview
- I had 15 days in my hands.
- I planned to complete Easy and Medium Leetcode questions in LeetCode Top Google 50 questions.
- No graph problems and advance algorithms like Dijsktra, KMP, etc.
- Focus more on Dynamic Programming especially Tabulation.
- Practice a few GlassDoor Google Interview Questions.
- Keep on practicing Google questions as much as I can for the next 15 days continuously.
- Practice Classic Dynamic Programming questions.
Check out my next post here. In the next post, I share my preparation and my 1st phone interview experience with Google