Google SWE II (L3) | Phone Screening round | April | 2025

google logo
google
SWE II (L3)2 yearsOngoing
July 2, 20253 reads

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)

Q1
Find Duplicates in Ancestors
Data Structures & AlgorithmsMedium

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).

Q2
Find Duplicates within K Ancestors
Data Structures & AlgorithmsMedium

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.

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!