Google SWE II (L3) | Phone Screening round | April | 2025
Summary
I interviewed for a Google SWE II (L3) position, which focused on recursion and tree traversal. I successfully cleared the interview, but the hiring process is currently on hold due to a freeze.
Full Experience
Hello everyone,
My background includes graduating from a Tier-1 college in 2023 with 2 years of experience as an SDE-1. I recently interviewed for the Google SWE II (L3) position for a phone screening round.
The interview questions primarily tested my understanding of recursion and tree traversal. Fortunately, I received what I considered easy questions, but the interviewer thoroughly questioned me on the worst and best time and space complexities for each solution. We had about 10-15 minutes remaining at the end, which we used to have a casual discussion about our typical workdays.
I later received an update from the recruiter informing me that I have cleared the interview. However, they also mentioned that hiring is currently frozen, so there are no further updates as of now.
Interview Questions (2)
You're given a tree structure where each node represents a directory with a unique ID and a name.
struct Node {
int id;
string name;
vector<Node*> directories; // children
};
Your task is:
For each node, check whether any of its ancestors (up to the root) have the same name. If a duplicate is found, print the id of that node.
Example:
a
└── b
└── c
└── b <- duplicate (same name "b" as ancestor)
Output: id of second b (since it shares the name with its ancestor).
This is a modification of the previous task: Same as above, but only check up to the last K ancestors. If the duplicate occurs beyond K levels up, ignore it.
Example (K = 2):
a
└── b
└── c
└── d
└── e
└── b <- NOT a duplicate (original "b" is more than 2 levels up)
Output: None
If K = 5, then the second "b" would be considered a duplicate.