Google | L4 | Interview Experience

google logo
google
SDE II4.2 yearsOngoing
January 8, 202511 reads

Summary

I interviewed for an L4 position at Google, completing a phone screening and four onsite rounds over a few months. I felt I performed strongly in several technical and behavioral rounds and am currently awaiting the final outcome.

Full Experience

I have 4.2 years of experience in a product-based company. I received a message on LinkedIn from a Google recruiter, and as I was actively looking for opportunities, I scheduled my phone screening round for the following week.

Nov 1st week: Phone Screening Round

I don't remember the exact question, but it was an array question similar to this LeetCode Discuss post. I was able to solve the question with an optimal solution, and later received positive feedback from HR.

After this, there was a break for a soft team alignment. For those unfamiliar, this is a process where my candidature was circulated throughout Google to see if any Hiring Manager was interested in my profile. This is a one-way process; at least one HM needs to show interest for the onsite rounds to be scheduled. After one and a half months, I received a mail to schedule the onsite rounds. Trust me, there were times I almost gave up on Google! A week after receiving the mail, I scheduled my onsite rounds.

Dec End: Round 1

The question was: You are given an input string, for example add(5, mul(2, pow(5,2))), and you have to evaluate it. This was just a plain string with operators such as add (addition), mul (multiplication), pow (power), sub (subtraction), and div (division). I was able to come up with an approach, but could only code half of the solution due to time constraints. The feedback was not great for this round.

Dec end: Round 2

The question involved creating two functions:

  1. InsertRange(int start, int end): This function takes two integer arguments, start and end, to create intervals where start is inclusive and end is exclusive.
  2. Query(int point): This function takes an integer as input and returns a boolean, indicating if the particular point is present in any of the created intervals.

Example:

  • Insert: [2, 3), [2, 5), [9, 13). The final merged intervals should be {[2,5), [9, 13)}.
  • Query: 0 should return false, 2 should return true, 10 should return true.

I was able to solve and code the solution within time, including follow-up questions. I'm guessing I got a Strong Hire for this one.

Jan start 2025: G&L round

This round consisted of general behavioral questions. I'm guessing I received a Hire or Strong Hire for this round.

Jan start 2025: Round 3 (Rescheduled)

This was a Dynamic Programming question, specifically finding the length of the longest increasing subsequence but with a tweak. I was able to solve and code the solution within time and also handled the follow-up question. I'm guessing a Strong Hire for this as well.

I hope this post helps others. Thanks and All the best!

Interview Questions (2)

Q1
Evaluate Arithmetic Expression String
Data Structures & Algorithms

Given an input string, for example add(5, mul(2, pow(5,2))), you have to evaluate the string. This is just a plain string. The available operators are:

  • add: addition
  • mul: multiplication
  • pow: power
  • sub: subtraction
  • div: division
Q2
Interval Management System
Data Structures & Algorithms

Create two functions:

  1. InsertRange(int start, int end): This function takes two integer arguments, start and end. When called, it should create or merge intervals such that start is inclusive and end is exclusive.
  2. Query(int point): This function takes an integer as input and returns a boolean, indicating whether the given point is present within any of the currently stored intervals.

Example:

Insert operations:

  • InsertRange(2, 3)
  • InsertRange(2, 5)
  • InsertRange(9, 13)

The final merged intervals should be {[2,5), [9, 13)}.

Query operations:

  • Query(0) should return false
  • Query(2) should return true
  • Query(10) should return true
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!