DEV Community

Cover image for Google Four-Round Interview Experience: Rejected!
OA VO Interview
OA VO Interview

Posted on

Google Four-Round Interview Experience: Rejected!

Google's Technical Interview Preferences

Google's hiring criteria consist of four standards. The first is Role-Related Knowledge: as the name suggests, this refers to your professional competence in the position you are interviewing for. The second is General Cognitive Abilities. Since Google requires employees to be capable of handling any task at any time, this assesses foundational problem-solving thinking and logical reasoning skills, similar to the hypothetical questions used in McKinsey interviews. The third is Leadership Skills. As the name suggests, this refers to leadership and teamwork. The last is Googleyness. This assesses your alignment with Google's values and your ability to continuously adapt to changing circumstances.

Phone Interview

In an x-y plane, given the coordinates of routers in a network and the maximum distance range d for data packets sent by routers, determine whether it is possible to send a message from the source router to the target router.

As a follow-up question, I was asked to write code to handle the scenario where each router can only send packets to the nearest router, rather than to all routers within the range.

I used breadth-first search (BFS) to solve this problem and made some modifications to the BFS code in the follow-up question.

Interview Process

Round 1: Technical Interview
Q: Design a restaurant waiting list system that supports users of different sizes and has the following three functions:

Users can join the waiting list at any time

Users can leave the waiting list at any time

Users must be seated at a table that can accommodate at least their group size, with table size passed as a parameter

This is an open-ended question, and the input structure and design must be discussed with the interviewer to clarify specific requirements. Each group must be seated at a table that can accommodate their maximum group size.

Follow-up: How to test these functions.

I provided an O(logn) heap solution, which the interviewer seemed satisfied with.

Round 2: Technical interview
Q: K constraint

Sliding Window: Maintain a window ensuring the number of 0s or 1s within the window does not exceed k, dynamically adjusting the window's starting point to meet the constraint. The optimal time complexity should be O(n).

The start pointer indicates the starting point of the sliding window, and i is the current endpoint of the window. Since start and i only move to the right, the overall time complexity is O(n). After adjusting the starting point to satisfy the constraint, all substrings ending at i within the window meet the condition, so the result accumulates i - start + 1.

Follow-up: Optimized to O(n)

Round 3: Technical Interview
Q: Range Product Queries of Powers

For this problem, I utilized knowledge related to prefix sums. First, analyze the problem: we need to calculate the minimum number of powers of two such that the sum of these powers equals n. We can use a greedy algorithm starting from the maximum value, which is the power of two not exceeding n. Then, halve it and reduce n. After calculating the powers of two, sort them in ascending order, then calculate the prefix sum (this should be the prefix product), store it in an array, and use this array to calculate the query's answer.

Round 4: Googleyness
The questions I was asked:

Please describe a project you participated in that lacked clear goals and requirements

How to handle multiple projects

How to prioritize work tasks

A project that did not proceed as planned, and the measures you took to ensure similar errors do not occur again

Here, I primarily used the STAR method and combined it with Google's values to answer. Pay attention to the details in your description, as the interviewer may ask follow-up questions.

Interview Summary & Suggestions

I believe I performed exceptionally well in Technical On-Site Tests 1 and 2 and the Googleyness section (including follow-up), but I was unable to write the correct code in On-Site Test 3. The recruiter did not provide any detailed feedback on my individual rounds even after two requests, and stated that my performance in the first and fourth rounds was poor—this was somewhat surprising to me, as I felt both rounds went well. Additionally, my performance in the third round was quite poor, so I am unsure why I received positive feedback.

As long as you prepare thoroughly, the interview will be manageable. If you encounter any difficulties or need assistance, feel free to seek solutions here.

Top comments (0)