Google | Interview Experience | L4 | India
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)
Evaluate arithmetic expressions with nested operations.
Examples:
a - (b - c) should simplify to a - b + c
a + (b - a) should simplify to b
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.
This round focused on behavioral questions and understanding cultural fit.