Interview Experience - 58 - Google | Software Engineer | L4
Summary
📌 Job Role: Software Engineer
🔢 Number of Rounds: 6
📜 Offer Status: Offer
📍 Location: Bangalore, India
👤 Candidate Name: Not disclosing due to signed NDA
Interview Process
I was contacted by a Google APAC recruiter in December 2020. The recruiter was extremely cordial and professional throughout the process. We scheduled a call to discuss my experience, educational background, and some of the projects I had worked on. She also gave me a detailed walkthrough of the entire interview process, timelines, and expectations.
My telephonic interview was scheduled for January. After that, the India-based recruiting team took over. The recruiter here was equally helpful and made the entire process very smooth. I had to reschedule my onsite interviews once, and the team was very flexible about it. Just keeping them informed in advance was enough.
I opted for coding-focused rounds (System Design is not mandatory for <= L4). So, I had four problem-solving rounds and one Googliness round, all scheduled as 45-minute sessions.
The day after my final interview, the recruiter called to share feedback. One of the rounds hadn’t gone great (as I had expected), but overall the feedback was positive and my profile was moved to the Hiring Committee (HC) for review.
At this point, I was asked to fill in a pitching document with details like promotions, key achievements, and academic transcripts (mandatory if your highest degree is under 3 years old). They also arranged a fit call with a hiring manager from a team interested in my profile. This call was more of a two-way discussion to check if our interests aligned. We discussed the team’s projects, my experience, and cleared up some of my queries.
Both sides were on the same page, and the team-matching was done.
Around two weeks after my interviews, the recruiter informed me that the HC had approved my packet for L4. He also walked me through compensation components, insurance benefits, and other perks. We discussed expected compensation, and the recruiter submitted it to the compensation committee and executive approval chain.
Because of the worsening COVID-19 situation, the process experienced a bit of a delay. But once things resumed, I got the initial offer in a couple of days, negotiated a bit, and received a revised offer the next day — which I accepted.
Preparation Guide
Focus on DSA (No-Brainer). There is no single winning strategy — what works for me might not work for someone else.
Keep upsolving. Quantity doesn’t matter, quality does.
Enjoy solving problems. Don’t overdo it or set rigid daily targets, but try to maintain continuity.
Leetcode Premium is useful. No need to pay for other resources — there's already enough free content available.
Practice speaking out while you code. This makes a big difference.
Lead the conversation. Try to simulate a discussion with a peer or senior — it helps reduce pressure.
For FAANG-style interviews, try to hit >90th percentile in terms of speed and optimality on Leetcode problems.
Avoid taking hints when practicing. Always dry run your code. Find your own bugs.
Google recruiters usually give you ample time to prepare — take advantage of it.
Having a competitive offer in hand when dealing with Google can help during compensation discussions.
Interview Rounds
Round 1: Telephonic Round
Duration: 45 minutes
Difficulty Level: Medium
Experience:
This was my first interview in about four years — the last one was during college placements, so naturally, I was a bit nervous.
Two coding questions were asked, both of Leetcode Medium level. One was on stream manipulation, the other was essentially a sorting problem with a twist. I was able to solve both within the stipulated time.
The recruiter called me within a few hours with positive feedback. I was moved to the onsite stage.
Key Learnings:
Handling nerves is important, especially after a long gap.
Don’t aim for perfection — just focus on solving problems logically and cleanly.
Round 2: Coding Round
Duration: 45 minutes
Difficulty Level: Medium
Experience:
The problem was based on text fitting on a screen, with a twist. The core idea required a greedy approach, and a follow-up pushed towards binary search optimization.
I implemented the greedy version and was able to discuss the binary search improvements.
Key Learnings:
Always look for ways to optimize — it shows depth.
Clearly communicate your thought process and improvements, even if you can’t implement them fully.
Round 3: Coding Round
Duration: 45 minutes
Difficulty Level: Medium
Experience:
This round involved problems around sub-sequences and text manipulation. The initial approach I coded was sub-optimal. I realized this and discussed a more optimal strategy, though I couldn't implement it due to time constraints.
Key Learnings:
Acknowledge shortcomings openly but pivot quickly to better ideas.
Discussing optimality even if you can't code it is often appreciated.
Round 4: Coding Round
Duration: 45 minutes
Difficulty Level: Hard
Experience:
This was a tough one — a problem that involved handling a large file of bytes. Not something from standard platforms like Leetcode.
The problem required dealing with memory constraints and smart processing strategies. I struggled with this one.
Key Learnings:
Be prepared for unconventional problems.
Clarify assumptions and constraints early to avoid going down the wrong path.
Round 5: Onsite Round 4 (Googliness)
Duration: 45 minutes
Difficulty Level: Medium
Experience:
This was the behavioral round. We talked about previous projects, how I handled unexpected situations, team dynamics, and project ownership.
It was a conversation more than a test — meant to assess cultural fit and alignment with Google’s core values.
Key Learnings:
Be honest and reflective.
Don’t just highlight achievements — talk about failures and what you learned.
Round 6: Onsite Round 5
Duration: 45 minutes
Difficulty Level: Medium
Experience:
This was a standard Graph BFS problem (Leetcode Medium). I was comfortable with BFS, so I walked through the approach, dry-tested it, and implemented cleanly.
Key Learnings:
Strong grip on graph fundamentals helps — don’t neglect the basics.
Dry-testing is your best friend in time-bound coding interviews.
Round 7: Onsite Round 6 (Replacement for Round 3)
Duration: 45 minutes
Difficulty Level: Hard
Experience:
This was a replacement round for the one where I had underperformed.
The problem was NP-Hard — definitely not your usual interview question. We discussed the problem in detail. I attempted a solution, but it was very buggy.
Despite this, the discussion around edge cases and constraints seemed to be appreciated.
Key Learnings:
Stay calm in hard rounds — you're often being assessed more on approach than final code.
Engage the interviewer — ask questions, discuss possibilities.
Final Thoughts
Google's interview process is thorough but fair. If you're honest, communicative, and prepared, you stand a good chance.
Time your prep well — especially if you're working full-time. Take time off if you can.
Focus on clarity of thought and communication. Your approach and attitude matter just as much as code correctness.
It’s completely okay to mess up a round. What matters is how you respond, discuss, and recover.
Behavioral and fit rounds are not to be underestimated — they can make or break the outcome.
Be patient. Things may get delayed, especially in uncertain times like COVID, but Google usually communicates well.


