Google | SDE - III (L4) | Rejected
Summary
I interviewed for an SDE L4 role at Google and underwent preliminary screening followed by two on-site rounds. Despite coding solutions for all questions, I was ultimately rejected for the L4 position.
Full Experience
Application and Recruiter Screening
I applied for both L4 and L3 SDE roles through a referral around early November 2023. Initially, my L4 application was rejected. However, a recruiter reached out in mid-December 2023, expressing interest in my profile for an L3 position. After a recruiter screening call in mid-January 2024, discussing my day-to-day responsibilities, I was given a month to prepare for the preliminary screening. I also had a mock interview with a Googler during this preparation phase.
Preliminary Screening
This round took place in mid-February with an interviewer from India. The core idea of the question was similar to LeetCode's Queue Reconstruction by Height. I quickly explained the O(n^2) brute-force solution and started discussing the optimized O(n log n) approach using Fenwick Tree + Binary Search. As I couldn't fully explain the optimized approach in time, the interviewer asked me to code the brute-force solution, which he accepted. Later that evening, the recruiter informed me that I was a 'Lean Hire' by L4 standards and would proceed as an L4 candidate for the on-site rounds.
On-site Round 1
I had two weeks to prepare for this round. The interviewer was from Singapore. The question was: given K and an array of integers, find the longest subarray where sum <= k. I unfortunately struggled here, initially attempting a memoization approach. Despite a hint from the interviewer, I wasn't receptive. I coded my initial approach, and after discussing its time and space complexity, he suggested a simpler two-pointers solution, which I then implemented. The recruiter later told me I had overcomplicated it. The verdict for this round was 'No Hire'.
On-site Round 2
This round happened a week after the first on-site, with an interviewer from India. The question was Logger Rate Limiter, which is an easy LeetCode problem. I quickly discussed my approach and coded it, achieving O(n) time and space complexity for 'n' calls. We had some discussion about the 'if' conditions, which I corrected. The follow-up asked how to optimize space complexity assuming unique timestamps. I used an additional queue, demonstrating that both the queue and map would hold at most 10 elements in the worst case (similar to a sliding window maximum), achieving O(1) space complexity. I finished this just at the 45-minute mark. Although it felt like a medium-hard problem under interview pressure, I handled it well. Despite this, the recruiter later informed me that I was still a 'No Hire' for this round as per L4 standards. I am yet to receive detailed feedback.
Interview Questions (3)
Given an integer K and an array of integers, find the longest subarray where the sum of its elements is less than or equal to K.
Design a logger system that receives a stream of messages along with their timestamps. Each message should be printed if and only if it is not printed in the last 10 seconds. All messages arrive in non-decreasing order of timestamps. Multiple messages may come at the same timestamp. Implement the Logger class.
Preparation Tips
Preparation Strategy and Tips
I was given a month to prepare for the preliminary screening and an additional two weeks for the on-site rounds. My key takeaways and advice are:
- Look for simple solutions: It's not always the case that Google asks advanced questions. Sometimes, the most straightforward approach is preferred.
- Be receptive to hints: It's crucial to listen to and understand the hints provided by the interviewer; they are often guiding you towards the optimal solution.
- Work on fast thinking and implementation: Being able to quickly grasp a problem and translate it into working code under pressure is vital.
- Be crisp and clear on the basics: A strong foundation in data structures and algorithms is essential, as my struggles in On-site Round 1 demonstrated.
Stay persistent and prepare well everyone! All the best!