Google Interview Experience for Software Engineer

Hello, and welcome to my first article! If you’re curious about the Google interview process for Software Engineers, you’re in the right place. Here’s my journey through Google’s rigorous selection process.

Interview Process Overview

The interview process for a Software Engineer at Google typically includes:

  • Round 0: Telephonic (Qualification, Data Structures & Algorithms)
  • Rounds 1-4: On-site (DS & Algorithms / Problem Solving)
  • Round 5: Googliness
  • Fitment Call
  • Google Hiring Committee Approval

My Experience

I applied in February through a referral while I was at home. I needed more time to get back to Bangalore, so I requested a delay from my recruiter, Komal Tanwani, who was very accommodating. She provided preparation materials, including links to coding practice sites (w3wiki, Codeforces, LeetCode), YouTube channels (like Tushar Roy’s), and Coursera’s Algorithms courses, which I found particularly helpful.

Round 0 (Telephonic, DS & Algo):

This virtual round was conducted over Google Meet with a shared Google Doc for coding. We faced connectivity issues; I couldn’t hear the interviewer, but they could hear me. We improvised by communicating through the Google Doc until they called me on my cell phone. I tackled a medium-level 2D matrix backtracking question, followed by a complexity discussion. Despite answering only one question due to time constraints, the feedback was positive, and I moved on to the next rounds.

On-site Rounds (Virtual Due to Pandemic)

Rounds 1-3:

These rounds were scheduled on the same day with 15-minute gaps.

  1. Round 1: Focused on Strings. We discussed various test cases and I wrote unit test cases after coding.
  2. Round 2: Centered on Backtracking. Initially, we discussed some mathematical proofs, followed by a main question and a follow-up with increased conditions. I coded and dry-ran the solution.
  3. Round 3: Transitioned from basic DFS to Dynamic Programming. I struggled initially but managed to write the code using the tabulation method, even though I was more familiar with memoization.

I realized that Google emphasizes code quality, which was a learning curve for me. My reviews for two rounds were just above the boundary due to code quality issues. Determined to improve, I revisited memoization concepts and focused on writing cleaner code.

Round 4:

Scheduled 15 minutes after Round 3, this round involved a vague question with no definitive solution. We discussed and developed an approach together. I wrote cleaner and faster code, addressing previous mistakes.

Round 5: Googliness

This non-technical round assessed my personality, teamwork, conflict resolution, and innovation skills. Despite nerves due to my average performance in earlier rounds, the feedback was positive.

Final Steps

After successfully completing the interviews, my profile was forwarded for a fitment call. I spoke with Sanjeev Gupta, Director of Engineering, who assessed my fit for the Google Cloud team. This casual conversation helped align my interests with the team’s needs.

Next, my profile went to the Google Hiring Committee (GHC). They requested my degrees, a note about my experience, and an internal reference. A senior who had previously worked with me and was now at Google provided a recommendation. With all approvals in place, I finally received the much-anticipated call from my recruiter: “Congratulations! You are selected!”

Reflections

The Google interview process was challenging but rewarding. Here are a few key takeaways:

  1. Ask clarifying questions during interviews and finalize your approach with the interviewer before coding.
  2. Engage the interviewer with your thought process.
  3. Focus on code quality, not just correctness.
  4. Manage stress effectively to perform your best during interviews.

Preparation resources that helped me included w3wiki, InterviewBit, and LeetCode Google Premium. Remember, it’s crucial to understand concepts deeply and practice enough to make problem-solving second nature. Don’t stress out; treat interviews as learning experiences. If an opportunity arises, go for it, even if you feel unprepared. The experience itself is invaluable.


Contact Us