Skip to main content

One post tagged with "interview"

View All Tags

Failing Google’s Final Round — What I Learned

· 5 min read
Shekhar Patil
Full stack developer.

Google Interview

Like many of us, I used to only share the good stuff — job offers, achievements, career milestones. But over time, I realized failures are just as important. They teach us, humble us, and help others feel less alone in their journey.

This post is about my experience interviewing at Google. I made it to the final round but didn’t get the offer. It hurt, but I also learned a lot. I’m sharing my journey in hopes that it helps you prepare better.


How It Started

I applied through the Google Careers page around mid-November 2024.. This time, instead of the usual rejection email, I got a call from a Google recruiter — a promising start. He scheduled first Screening Call.

Initial HR Round: The Screening Call

The recruiter asked about my education, experience, projects, the tech I’ve worked with, and the scale of systems I’ve built. It was a standard screening call—until they asked:

"Have you done any competitive programming?"

At the time, I had solved around 90 problems on LeetCode, mostly Easy and Medium. I was honest and asked for a month to prepare before the next step.


How Google Evaluates Candidates

Before getting into the rounds, it’s helpful to know how Google evaluates you. After each interview, feedback is given as one of these:

  • Strong No Hire
  • No Hire
  • Leaning No Hire
  • Leaning Hire
  • Hire
  • Strong Hire

Only consistent "Hire" or "Strong Hire" ratings lead to an offer.


The Elimination Round

I used the one-month prep time to study hard. I solved over 250 DSA problems, mostly on LeetCode and AlgoExpert. You can see my full preparation here:
📘 DSA Roadmap

The round was a live coding interview with three graph problems, all linked together. I had to solve and code them in a Google Doc.

This round went well—I solved everything. Three days later, the recruiter called:

"You cleared the elimination round. Feedback is positive."

Probable rating: Hire / Strong Hire


Technical Round 1: Low-Level System Design

I was given a real-world scenario and asked to design core functionality using appropriate data structures. I solved it using arrays with O(N²) time complexity.

The interviewer asked if I could optimize it, but under pressure, I couldn’t. After the interview, I realized a Binary Search Tree (or Red-Black Tree) could reduce it to O(N log N).

Probable rating: Leaning Hire


Technical Round 2: HashMap-Based Problem

This round focused on implementing a solution using HashMaps. I misunderstood the problem at first, which cost time. After clarification, I fixed the code in the last 15 minutes.

The interviewer spotted a bug, though the majority of my solution was correct.

Probable rating: Leaning Hire / Hire


Technical Round 3: Graph Problem

This round was tricky. I took some time to understand the problem and realized it involved cycle detection in a graph.

I made mistakes in the beginning, and it took me about 35 minutes to get the solution right. Then I did a quick dry run in the another 5 minutes. The interviewer confirmed my final solution was correct. He had a follow-up question, but we ran out of time.

Probable rating: Leaning Hire


The Result

I had mixed feelings—both excited and nervous. It had been almost three months of continuous effort, and I was very close to the final stage. The next round was the Googliness interview, which is mostly a behavioral round, and many people usually clear it without much trouble.

Two weeks later, the recruiter called and said:

“We won’t be moving forward. The feedback mentioned that you should use more optimal data structures, and your problem-solving speed needs improvement. But feel free to reapply after a year.”

It was disappointing to hear, especially after coming so far. But I didn’t see it as a failure. Here’s why.


What I Gained

The whole process took almost 3-4 months, and in that time:


🛠️ Key Takeaways for You

  1. Know your best language: I chose Go, but I'm more fluent in Ruby. In time-bound interviews, using a language you’re super comfortable with makes a big difference.
  2. Manage your time: Getting the right answer isn’t enough. Google looks at how quickly and efficiently you solve problems.
  3. Simulate real interview conditions: Use a timer. Code in a shared doc. Practice talking while solving.
  4. Learn from mistakes: Every small mistake taught me something valuable.

✅ What’s Next?

I’m not giving up. I’ll reapply in a year. Till then, I’m focused on:

  • Advanced system design
  • Distributed systems
  • Speeding up problem-solving
  • Real-world contributions
  • Mastering Go and revisiting Ruby

If you're preparing for Google or any FAANG interview, check out my:


🌐 Explore More


🙌 Final Thoughts

Not getting into Google stung—but the journey changed me. I learned more in three months than I had in the past year. If you’re going through something similar, just know this: you’re not alone, and every setback is a setup for growth.