I applied through an employee referral. The process took 4 weeks. I interviewed at Google in Mar 2010
Interview
I had two technical interviews over phone. The first interviewer asked me to solve two graph related problems, and the second one asked me about finding the intersection of two lists of integers, leading on to the case where the lists are too big to fit into the memory. I think I gave correct solutions, but botched on asymptotic running time of one of the graph problems.
Interview questions [3]
Question 1
There is a museum organized as NxN room. Some rooms are locked and inaccessible. Other rooms are open and some rooms have guards. Guards can only move north, south, east and west, only through open rooms and only within the museum. For each room, find the shortest distance to a guard. What is the time complexity of your algorithm?
There is an NxM grid containing a robot at (1, 1) and a destination at (N, M). Robot can move only up or right. Some locations can have obstacles. Find the number of unique paths from (1, 1) to (N, M). What is the time complexity of your algorithm?
You are given two sets of integers, sizes M and N with M < N. Perform inner equal join on these two sets (i.e., find intersection of the two lists). How to perform it if both the lists are in files and the available memory is of size K < M < N.
OA with three questions to solve. Each problem was a leetcode medium or hard question. I was given I think about two hours for the three questions. The site automatically locked after the given time.
The overall process was challenging but well-structured, taking a few weeks from start to finish. It began with an initial recruiter screening to discuss timeline and background. This was followed by rigorous technical interviews focusing heavily on Data Structures, Algorithms, and problem-solving (expect LeetCode Medium/Hard level questions).
After passing the technical rounds, I moved into the Team Matching phase. This involved a behavioral and technical discussion with the actual Hiring Manager to see if my past projects (C++, hardware, system architecture) aligned with the team's needs. Once the manager gave the green light, the file went to the global compensation committee. The final step before the official written offer was an automated ID verification process (via Veriff) to confirm my legal name for the contract. The recruiting team was great, but be prepared for the final administrative steps to take a bit of patience!
Interview questions [1]
Question 1
Walk me through the architecture of the most complex system you have built. What were the biggest performance bottlenecks and how did you solve them?
The first step was OA, then two 45-minute technical rounds with engineers. These rounds had one coding question + multiple follow-ups. There was some time left at the end for questions.
Interview questions [1]
Question 1
One question tested my knowledge of recursion, hashmaps, and backtracking.