Google | SDE - III (L4) | Rejected

google logo
google
SDE - III (L4)3.5 yearsRejected
March 16, 20244 reads

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)

Q1
Queue Reconstruction by Height
Data Structures & AlgorithmsMedium

You are given an array of people, people[i] = [h_i, k_i] where h_i is the height of the i^th person and k_i is the number of people in front of the i^th person who have a height greater than or equal to h_i. Reconstruct the queue.

Q2
Longest Subarray with Sum Less Than or Equal to K
Data Structures & AlgorithmsMedium

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.

Q3
Logger Rate Limiter
Data Structures & AlgorithmsEasy

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!

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!