Google Software Engineer III Interview Experience : REJECT
Summary
I interviewed for a Software Engineer III role at Google, undergoing a phone screen and four onsite rounds covering data structures, algorithms, and behavioral questions. Despite identifying key approaches for some problems, I struggled with optimization and converting insights into efficient solutions, ultimately leading to a rejection with feedback on problem-solving and time efficiency.
Full Experience
I applied for a role via the Google Careers site. After approximately 2–3 weeks, I was contacted by a Google recruiter via email. I requested 3 weeks of preparation time before the interview process began. However, due to a transition where my assigned recruiter resigned and a new one took over, the interview was delayed. I subsequently requested an additional 2 weeks to prepare for the phone screen.
Phone Screen Interview
The problem involved reading strings from two files and finding the count of matching elements. After implementing the initial solution, the interviewer extended the problem to handle n files and asked for the maximum number of common elements found in at least two files.
The interview went well, and the recruiter later informed me that the interviewer gave a green flag to proceed to the onsite interviews.
A new recruiter was assigned for coordinating the onsite rounds, and I requested around 3 weeks of preparation time.
Onsite Interview
Round 1
The task involved identifying duplicates within a 10-second window. I implemented a solution using a hashmap and discussed time and space complexity. The follow-up asked for optimizing space complexity, but I couldn't effectively articulate the improved approach — although I was aware it involved using a deque, similar to the Sliding Window Maximum pattern.
Self-Evaluation: Lean Hire / No Hire
Round 2
This problem involved finding the farthest nodes from multiple source nodes using a breadth-first search. I implemented a BFS-based solution, and the follow-up questions were already addressed within my initial approach. I also discussed the time and space complexity in detail.
Self-Evaluation: Hire / Strong Hire
Round 3
This round focused on common behavioral questions such as:
“What was your toughest challenge, and how did you overcome it?”
“Describe a situation where you had to work with a difficult teammate.”
“How did you handle a project that changed direction mid-way?”
Self-Evaluation: Hire
Round 4
The question involved using prefix sums and hashmaps to track specific indices. Although I initially identified the need for prefix sums within the first 10 minutes, I was unable to translate that insight into an efficient solution. I ended up proposing an O(N^3) brute-force approach and struggled to progress further.
Self Evaluation : No Hire
Final Feedback
I received a call from the recruiter with the outcome. They summarized the feedback by stating I should focus on improving problem-solving and time efficiency a bit more.
Interview Questions (6)
The problem involved reading strings from two files and finding the count of matching elements. After implementing the initial solution, the interviewer extended the problem to handle n files and asked for the maximum number of common elements found in at least two files.
The task involved identifying duplicates within a 10-second window. The follow-up asked for optimizing space complexity, similar to the Sliding Window Maximum pattern.
This problem involved finding the farthest nodes from multiple source nodes using a breadth-first search.
What was your toughest challenge, and how did you overcome it?
Describe a situation where you had to work with a difficult teammate.
How did you handle a project that changed direction mid-way?