Google | Interview Experience | L4 | India

google logo
google
SDE IIIndia
August 3, 20255 reads

Summary

I interviewed for an L4 Software Engineer role at Google in India, completing the process over approximately four months. The interview rounds included a phone screen focusing on expression evaluation, an onsite round on designing a BookManager class, and a Googleyness round for behavioral assessment.

Full Experience

Phone Screen
Evaluate arithmetic expressions with nested operations.
Examples:
a - (b - c) should simplify to a - b + c
a + (b - a) should simplify to b

Onsite Interview – Round 1:
Design and implement an BookManager class with the following functionalities:

insert(bookNumber, score): Insert a new book with its corresponding score.

get(): Retrieve the book with the highest score. After retrieval:
Its score is decreased by 1.

It becomes temporarily ineligible for the next get() call.

Follow-up 1:
Extend the logic so that once a book is retrieved, it becomes ineligible for the next n get() calls.

Follow-up 2:
Now each book also has an associated delay. Once a book is retrieved at time T1, it should not be eligible again until T1 + book.delay.

Onsite Interview – Round 2:
Can't recall completly but it was related to 2 pointers.

Onsite Interview – Round 3:
Similar to onsite-2 question here - https://leetcode.com/discuss/post/6812909/chances-of-swe-3-at-google-by-anonymous_-2wwd/

and couple of follow ups.

Googleyness:
This round focused on behavioral questions and understanding cultural fit.

Entire process took ~4 months.

All the best!

Interview Questions (3)

Q1
Evaluate Arithmetic Expressions with Nested Operations
Data Structures & AlgorithmsMedium

Evaluate arithmetic expressions with nested operations.
Examples:
a - (b - c) should simplify to a - b + c
a + (b - a) should simplify to b

Q2
Design BookManager Class with Score-Based Retrieval and Eligibility Rules
Data Structures & AlgorithmsHard

Design and implement an BookManager class with the following functionalities:

  • insert(bookNumber, score): Insert a new book with its corresponding score.
  • get(): Retrieve the book with the highest score. After retrieval:
    • Its score is decreased by 1.
    • It becomes temporarily ineligible for the next get() call.

Follow-up 1:
Extend the logic so that once a book is retrieved, it becomes ineligible for the next n get() calls.

Follow-up 2:
Now each book also has an associated delay. Once a book is retrieved at time T1, it should not be eligible again until T1 + book.delay.

Q3
Behavioral / Cultural Fit
Behavioral

This round focused on behavioral questions and understanding cultural fit.

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!