Google | L4/ L3 | Bangalore | Nov-Dec 2021 (7 technical rounds)| [Rejected]

google logo
google
Software Engineer (L3/L4)Bangalore3.5 yearsRejected
February 5, 20220 reads

Summary

I interviewed for a Software Engineer L3/L4 role at Google Bangalore in late 2021, undergoing seven challenging technical and behavioral rounds over two months. Despite receiving positive feedback in some rounds and making it through additional committee-requested interviews, I was ultimately rejected for both L3 and L4.

Full Experience

I was employed with 3.5 years of experience at a product-based company and held a B.Tech CSE degree when I began the interview process with Google. The entire process for the Software Engineer L3/L4 role in Bangalore ran for two months, from November to December 2021. I found Google recruiters to be very supportive, providing ample time and resources for preparation.

The first round was a Technical Screening (45 mins). I was asked a problem about finding the maximum sum possible by removing k elements from either end of an array, along with a follow-up involving a cost factor. The expectation was to walk through my thought process and present working code.

The second round was an Onsite Technical (45 mins) where I had to create a complete Binary Search Tree (BST) from a singly sorted linked list. This was an open-ended problem, requiring me to ask clarifying questions and then implement the solution.

Round 3 (Onsite Technical, 45 mins) started with a warm-up on fitting text into a fixed-width page to minimize lines. The main problem was designing a two-column table on a fixed-width page to minimize overall height by finding the optimal column partitioning.

For Round 4 (Onsite Technical, 45 mins), I tackled a System Design question: design a scheduler supporting acceptTask, removeTask, and getNextScheduledTask, with tasks having an associated dueTime. This round was ambiguous and required significant clarification.

Round 5 (Onsite Googlyness, 45 mins) was behavioral. After a brief introduction, I discussed my favorite problem, how I collaborated with different teams, handled lack of help, managed peers feeling left out, dealt with workload and stress, and situations where I pushed back on my manager.

After these five rounds, the recruiter informed me I had three positive feedbacks (two for L3, one for L4) and one negative. My application was sent to GHC for review, and I was asked to fill out a form with my qualifications. A week later, I was told the committee wanted two more technical rounds, with the potential offer being for L3 only.

Round 6 (Technical, 45 mins) was a graph problem, related to a hierarchical category structure. Part 1 involved finding all transitive parents of an input category. Part 2 was a design subproblem: modeling and converting a filter class for conditions like 'telephones that are not wireless devices'.

The final Round 7 (Technical, 45 mins) also involved a graph. Part 1 asked for the minimum time to reach a treasure from a source in a graph with locked nodes, where movement through locked nodes is forbidden. Part 2 was a follow-up: if the treasure is unreachable, find the minimum number of locked nodes to unlock to create a path, with cost being the number of unlocked rooms. I implemented workable code for both parts.

The final verdict came almost two weeks after these additional rounds: I received one strong hire for L3 and one partial/neutral hire, but the committee decided not to proceed with my candidature.

Overall, the interviewers were experienced, and the sessions were good problem-solving experiences. The recruiter provided timely updates and detailed feedback. The downside was being downleveled and ultimately rejected for L3 after seven rounds. I hope my experience helps other candidates prepare.

Interview Questions (15)

Q1
Max Sum by Removing K Elements from Ends
Data Structures & AlgorithmsMedium

Given an array, find the maximum sum possible by removing exactly k elements from either end of the array. For example, if the array is (3, 100, 1, 1) and k = 2, the output is 103 (by removing the 3rd and 4th elements, leaving 3, 100).

Q2
Max Sum with Cost Factor by Removing K Elements
Data Structures & AlgorithmsMedium

Follow-up to the previous problem: Given an array and a corresponding array of cost factors, find the maximum sum by removing k elements from either end, where the sum is calculated as (array value * cost factor).

Q3
Create Complete BST from Sorted Singly Linked List
Data Structures & AlgorithmsMedium

Create a complete Binary Search Tree (BST) from a given singly sorted linked list. The problem was left open-ended, and the interviewer wanted me to ask clarifying questions and present working code. Here, we need to utilize the properties of a complete tree and a BST.

Q4
Text Justification Minimum Lines
Data Structures & AlgorithmsMedium

Given a text and a fixed page width, determine the minimum number of lines required to fit the text on the page. Word integrity must be maintained (words should not be broken across lines), and any remaining space on a line if a word doesn't fit should be left blank.

Q5
Minimize Table Height with Two Columns
Data Structures & AlgorithmsHard

Given two strings of data that you would like to put into a two-column table on a fixed-width page. Find the column sizes (or the index of the partitioning line) that minimize the overall height of the table. (Example: consider creating a two-column table in MS Word, you can move the partition line between 2 columns so that table height is impacted. You need to return the index of that partitioning line which minimizes the overall size of the table).

Q6
Design a Task Scheduler
System DesignHard

Design a scheduler that supports acceptTask, removeTask for all users, and getNextScheduledTask. Each task has an associated dueTime by which it needs to be completed. The problem is ambiguous and requires clarifying questions with the interviewer. The expectation was to write nice modular, workable, and optimal code.

Q7
Favorite Solved Problem and Satisfaction
Behavioral

Describe your favorite problem that you have solved. Were you satisfied with the end result? Be prepared for many follow-up questions.

Q8
Cross-Team Collaboration and Conflict Resolution
Behavioral

Describe your experience teaming up with different teams. Were they willing to help you? If you weren't getting the help you needed, how did you resolve this?

Q9
Addressing Peer Exclusion
Behavioral

What would you do if you observed a peer feeling left out?

Q10
Workload Management and Stress
Behavioral

Describe a time you had trouble managing your work or experienced stress. How did you handle it?

Q11
Pushing Back on Manager
Behavioral

Describe a situation where you had to push back on your manager.

Q12
Transitive Parents in Category Graph
Data Structures & AlgorithmsMedium

Given a hierarchical graph structure of categories (e.g., electronic, wireless, telephone), and an input category (e.g., 'Iphone', which belongs to 'Smartphone'), return all its transitive parent categories (e.g., Output: (1,2,3,4,5) representing all transitive parents). The graph structure can be referred to in the image context.

Q13
Design and Model Category Filters
System DesignHard

Given a hierarchical category graph, design and model a filter class that can process complex filtering conditions. Examples include: 1) Marking down all telephones that are not wireless devices. 2) Marking down all communication devices except wireless devices. The interviewer focused on designing and modeling this filter class and how it would be converted. The graph structure can be referred to in the image context.

Q14
Shortest Path in Graph with Locked Nodes
Data Structures & AlgorithmsMedium

Given a graph structure with a source and a treasure node, where some of the graph nodes are locked. It takes one unit of time to move from one node to another. You cannot move via locked nodes. Return the minimum amount of time taken to reach the treasure from the source.

Q15
Unlock Minimum Nodes for Path to Treasure
Data Structures & AlgorithmsHard

If the treasure is unreachable from the source, determine the minimum number of locked nodes that must be unlocked to create a path to the destination. Time is not a factor; the objective is to minimize the cost, where cost is the number of locked rooms in the path.

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!