Google Europe L3 | Interview Experience
Summary
I interviewed for a Software Engineer L3 position at Google Europe and received very strong feedback across all rounds, leading to the team matching phase. While I was considered for L4, I ultimately proceeded with L3.
Full Experience
I recently interviewed for a Software Engineer L3 position at Google Europe. I have 1 year of experience and graduated from IIIT in 2024, with a LeetCode rating of 2500+.
Phone Screen
The problem presented was to count ordered pairs (i, j) in an array arr such that a[i] - a[j] = i - j, with 0 ≤ i, j < n. Important notes included that (i, j) and (j, i) are different, and (i, i) is also a valid pair. Examples were provided to clarify the problem. The verdict for this round was 'Position', though the recruiter didn't share exact feedback.
Onsite Round 1
In this round, I was given a directed graph where each edge has a security level. The task was to find a path from a startNode to an endNode such that the maximum edge security level in that path is minimized. I received a 'Strong hire' verdict for this round.
Onsite Round 2
The problem here involved splitting a given data size into the minimum number of packets, with each packet having a maximum capacity. If multiple solutions had the same minimum number of packets, I had to choose the one where the maximum packet size among all packets was minimized. This round also resulted in a 'Strong hire' verdict.
Onsite Round 3
This round presented a problem with a list of events, sorted by timestamp, each having a unique ID and timestamp, along with a timeout value. I needed to determine if there was any event where end_time - start_time > timeout. Follow-up questions included implementing an O(1) space solution and handling scenarios where events were stored in single or multiple files. I received a 'Strong hire' for this round as well.
Onsite Round 4 (Googlyness)
This round consisted of behavioral questions. All the questions asked were sourced from a frequently asked Googlyness questions post on LeetCode. I received a 'Strong hire' for this round.
Overall, my feedback across all rounds was very strong. My recruiter even considered me for an L4 position, but one interviewer felt I wasn’t the right fit for that level, so I am proceeding with L3. It was a great experience, and I am currently in the team matching phase.
Interview Questions (4)
You are given an array arr. Count the number of ordered pairs (i, j) such that:
a[i] - a[j] = i - j where 0 ≤ i, j < n
Important notes:
(i, j)and(j, i)are counted as different.(i, i)is also a valid pair.
Examples:
Input: [2, 4, 6, 5, 9, 9, 11]Output: 13
Input: [1, 2, 3]Output: 9
Explanation for [1, 2, 3]:
- For index 0 → 3 valid pairs
- For index 1 → 3 valid pairs
- For index 2 → 3 valid pairs
Total = 9
You are given a directed graph where each edge has a security level.
For any path from startNode to endNode, the security level of the path is:
max(edge security levels in that path)
Find the path from startNode to endNode whose security level is minimized.
You are given a data size and must split it into a minimum number of packets, where each packet has a maximum capacity.
If multiple solutions require the same number of packets, return the one where:
the maximum packet size among all packets is minimized.
Given a list of events sorted by timestamp.
Each event has a unique ID and timestamp, and you are also given a timeout value.
Determine if there exists an event where:
end_time - start_time > timeout
Follow-ups:
- Implement a solution with O(1) space complexity.
- What if events are stored in files instead of memory?
- What if the events are split across multiple files?
Preparation Tips
I prepared for the interview leveraging my 2500+ LeetCode rating. For the Googlyness round, I referred to the frequently asked questions outlined in this LeetCode post.