Google India L3 Software Engineer Interview Experience | Offer Accepted

Anonymous2 weeks ago

Introduction

Hi everyone,

I recently interviewed for the Software Engineer L3 role at Google India, and I’m happy to share that I have received and accepted the offer.

I’m sharing my interview experience in detail because TUF helped me a lot during my preparation. I hope this post helps others who are preparing for software engineering interviews at Google.

Round-by-Round Experience

Round 1: Virtual Technical Interview

The first round was a technical interview conducted virtually. The interviewer asked a coding question based on an existing problem, but with a small variation.

Question: Maximum Good Subarray Sum (Modified Version)

In the original problem, we need to find the maximum sum of a good subarray. In this interview, the requirement was slightly different. Instead of finding the maximum sum, I had to return any valid pair of indices (i, j) that satisfied the given conditions.

The main challenge was to understand the modified requirement and identify a suitable approach to find the required indices.

This round tested my problem-solving skills and my ability to modify an existing approach according to the question's requirements.


Round 2: Virtual Googliness Interview

The second round was a behavioural interview, commonly referred to as the Googliness round at Google.

The interviewer asked simple behavioural and hypothetical questions. These questions focused more on how I think, how I handle different situations, and how I approach problems outside of coding.

The questions were not particularly difficult, but they required clear and thoughtful answers.

My approach was to understand the situation described in each question and explain how I would handle it.


Round 3: Onsite Technical Interview (String and Partitioning Problem)

The third round took place at Google's office. It was one of two technical interviews scheduled back-to-back on the same day.

The interviewer presented a story-based problem. After understanding the story, the actual problem could be described as follows.

Problem Statement:

You are given a string containing only two characters: 'a' and 'b'.

It is guaranteed that the total number of 'a' characters and the total number of 'b' characters in the string are both even.

You can make at most two cuts in the string to divide it into smaller parts. These parts must be distributed between Alice and Bob so that both receive the same number of 'a' characters and the same number of 'b' characters.

In other words:

  • Alice and Bob must have an equal number of 'a' characters.

  • Alice and Bob must have an equal number of 'b' characters.

  • You can make no more than two cuts.

  • You need to return the index or indices where the cuts should be made.

What made this question interesting?

The main challenge was to determine where the string should be divided so that both Alice and Bob receive equal numbers of both characters.

Since the string contains only two types of characters, it was important to track their counts carefully and identify valid cutting positions.

This question tested logical thinking, string processing, and the ability to identify a valid partition under a limited number of operations.


Round 4: Onsite Technical Interview - Array and Equal Sum Problem

The fourth and final round was also conducted at Google's office on the same day as the previous technical round.

Like the previous question, this was presented as a story-based problem. Once the story was simplified, the actual requirement became clearer.

Problem Statement:

You are given an array of integers.

In one operation, you can select any element from the array and remove it. After removing that element, you need to determine whether the remaining array can be divided into two contiguous subarrays with equal sums.

The task is to check whether such a division is possible after removing exactly one element.

What was the main challenge?

The important part was to consider which element to remove and whether the remaining elements could be divided into two parts with equal sums.

The solution required careful reasoning about array elements, their total sum, and the possible positions where the array could be split.

This question tested array manipulation, prefix-sum-style reasoning, and the ability to evaluate different possibilities efficiently.


Interview Feedback and Result

I was able to solve all four interview questions and received positive feedback from every round.

One piece of feedback I received was to improve my time management. Although the overall feedback was positive, this was an area where I could improve further.

After completing all the interviews, I received a call from my recruiter within two days. The recruiter informed me that I had cleared the interviews and that my profile was being sent to the team-matching stage.


Google Hiring Process After the Interviews

After clearing the interview rounds, the remaining process moved forward quite quickly.

1. Interview Results

Within two days of completing the interviews, the recruiter informed me that I had cleared all the rounds.

2. Team Matching

My profile was sent for team matching, and I received a team match within two business days. I also had a good conversation with the hiring manager.

3. Hiring Committee (HC)

After the team-matching stage, my profile and interview feedback were sent to the Hiring Committee for review.

4. Compensation Discussion

Around three days after my profile was sent to the Hiring Committee, the recruiter contacted me to discuss compensation.

5. Offer Received

I received the offer on the same day as the compensation discussion and accepted it.

Overall, the process after the interviews was relatively quick, with updates coming within a few business days at each stage.


Preparation Advice and Final Thoughts

If I had to share one piece of advice with anyone preparing for Google interviews, it would be to believe in yourself and keep preparing, even when things don't go your way.

Before receiving this offer, I had faced around 10 rejections from Google. I had not even progressed to the online assessment or interview stage in those earlier attempts.

Because of those experiences, I never expected that things would work out this time. However, on a random Wednesday, I received the news that I had cleared the interviews.

Looking back, the journey taught me that rejection does not necessarily mean you are incapable. Sometimes, you need to keep improving, stay consistent, and be ready when the right opportunity comes along.

My suggestion is to keep practising DSA, focus on understanding the logic behind problems instead of memorising solutions, and work on explaining your thought process clearly during interviews. Also, pay attention to time management, as solving a problem efficiently is just as important as arriving at the correct answer.

Most importantly, don't let previous rejections decide what you believe you can achieve.

Whatever you believe in, whether it is God, destiny, or fate, remember to believe in yourself too.

Thanks for reading, and all the best to everyone preparing for their interviews!

Recommended Reads

Post

DSA daily challenge

i did another problem today is was easy (1)I tried using loop , (2)Using binary search , (3 )Using determinent formula , (4) later divisor method so finaly all

Post

am starting dsa and doing pattern printing questions can you guys please tell me where to practice or just do strivers sheet questions ??? am doing it

please reply

Interview Experience

MobiKwik SDE-3 Interview Experience | Java Developer |

MobiKwik SDE-3 interview process was a mix of problem-solving, system design, and practical coding. Here’s a breakdown of the rounds and what I learned from the

Success Stories

I Wasn’t From CS, But I Chose to Prepare Like One

I’m Mahima, a B.Tech ECE student who wanted to build a career in software development. My placement journey was a mix of learning, self doubt, consistency, and

Post

AI Is Finding Security Bugs Faster

Imagine a bug hiding inside a programming language used by millions of websites. Developers have been working with it for years, but the problem goes unnoticed.

Comments0