L5 Google | Interview Exp. | Rejected
Anonymous User
15683

Hello LeetCode Community,

Today, my journey for the Google L5 process has come to an end. After 3 months of rigorous preparation for the interview, I received a rejection.

Over the last 3 months, I solved more than 250 questions (medium and hard only), covering all the major concepts like Segment Trees, Fenwick Trees, Disjoint Sets, and other advanced data structures. I gave it my all.

I also did 3 mock interviews with Google employees before my onsite interviews.

Mock Interviews:

Mock Interview 1:
Question: Given a list of words and a target word, find if the word exists in the dictionary.
Follow-up: Given a matrix of characters, find all the words that exist in the dictionary. You can’t use the same cell twice for each word.
Solution: Solved using Trie.
Feedback: Strong hire.

Mock Interview 2:
Question: There are n trains coming to a station, each with a unique ID and a different arrival time. Given a train ID and time, find the closest train that will come to the station.
Solution: Solved using HashMap + TreeMap.
Feedback: Strong hire.

Mock Interview 3:
Question: Stock prices are given for each day in an array. You can make any number of transactions, but at any time you can either buy or sell (no two buys or sells consecutively).
Solution: Solved using DP.
Feedback: Strong hire.

After these successful mock interviews, I felt confident that I was ready for the onsite interviews.

Onsite Interviews:

Round 1:
Question: There are n friends living in different cities across a graph. Find the shortest distance between two friends (e.g., A and B).
Solution: Solved using BFS (Dijkstra's algorithm).
Follow-up: Given k friends, find the node where the total distance for all friends to reach is minimized.
Solution: Solved by applying BFS from each friend and checking nodes that all k friends visit.
Feedback: Strong hire.

Round 2 (The Downhill Part):
The interviewer came late (by 5 minutes), didn’t ask for an introduction, and gave a vague problem. I took some time to fully understand it. The hints provided were not helpful and actually made things worse. The interviewer didn’t participate much, and in the end, just asked me to write down whatever I thought would work.

Question:
You are given a matrix of 0s, 1s, and 2s, where 0 means an empty cell, 1 means a wall, and 2 means an exit. There will always be an exit. Generate a sequence of instructions (U, D, L, R) such that no matter where you start in the matrix, you always reach the exit.
Example:

1 0 1  
0 2 0  
1 0 1  

Answer: UDLR (No matter where you start, you’ll end up at 2).
Feedback: Not hire (feedback : weak in problem-solving).

Round 3:
Question: You are receiving signals from a robot at different timestamps (in non-decreasing order). There could be duplicate messages. Print only the messages that are unique in the last 10 seconds.
Follow-up: Classify duplicate messages as bugs. Don’t print a message if it’s repeated within the 10 seconds window (future or Past).
Input:
[{timeStamp: 1, message: "Hello"}, {timeStamp: 2, message: "Hello"}, {timeStamp: 8, message: "Hey"}, {timeStamp: 12, message: "Hello"}]
Output: Hello Hey Hello
Follow-up Output: Hey Hello (First "Hello" is excluded due to duplicates within a 10-second window).
Solution: Solved both the main problem and follow-up. I thought it went well, but the feedback was that my approach wasn’t optimized, and they were looking for more scalable solutions.
Feedback: Lean not hire.

And that’s where my journey ends. I hope these questions and my interview experience help the community. I’ve been working incredibly hard for the last 3 months without any breaks, and now I’m going to rest.

Best of luck to everyone preparing. May the force be with you!


Comments (78)