Google | Interview Experience onsite | Rejected
Summary
I had an onsite interview experience with Google which involved four rounds primarily focused on Data Structures & Algorithms. Despite passing some rounds strongly, I was ultimately rejected after failing to provide an optimal solution in the final technical round.
Full Experience
I was contacted by a Google recruiter via LinkedIn for an onsite interview opportunity. There was no initial assessment round. My interview process consisted of four rounds.
Round 1: Screening Round
The first round focused on data structures and algorithms. I was asked a question about finding the shortest path in a graph, followed by a modification where obstacles were added. I successfully passed this round.
Round 2: DSA Round
In this round, I was challenged to build a movie recommendation system. Given a movie graph containing names and ratings, the task was to return a list of similar top N movies. I was able to provide an optimal solution, although I did receive some hints for space optimization. The verdict for this round was 'Hire' or 'Low Hire' due to the hints I took.
Round 3: DSA Round
This round also focused on DSA. I was given an array of strings and asked to group strings that are 'buddies' to each other. Two strings are considered buddies if they have equal length and each character has the same distance from its corresponding character (for example, 'aab' and 'bbc' are buddies). I performed well and received a 'Strong Hire' verdict.
Round 4: DSA Round
The final technical round involved a binary tree problem. I needed to determine if, given a binary tree and a possible path range [lmin, lmax], there was any path whose node sum equaled kSum. This was similar to LeetCode's Path Sum III. Unfortunately, I couldn't provide an optimal solution during the interview, only an exponential recursive brute force. I solved it later with O(h) time complexity. The verdict for this round was 'No Hire'.
After completing all rounds, I was ultimately rejected.
Interview Questions (4)
First, I was asked to find the shortest path in a graph. The follow-up extended this by adding obstacles.
I had to build a movie recommendation system given a movie graph. The graph has movie names and ratings, and the task was to return a list of similar top N movies.
Given an array of strings, I needed to group strings that are 'buddies' to each other. Two strings are considered buddies if they have equal length and each character has the same distance from its corresponding character (for example, 'aab' and 'bbc' are buddies).