Years of Experience: 3
Prior Experience: SDE2 at one of the FAANGs
Title/Level: Software Engineer II (L4) - Backend
Location: Bangalore,India
Date: April-May 2022
Round 1 (DSA 60 mins)
Similar to https://leetcode.com/problems/bus-routes/
Follow up - What if there is a cost associated with changing buses. Didn't write the code, explained that Djikshtra's algorithm will be used. Round went really well.
Round 2 (Coding 60 mins)
Given a 2-D plane, there are many rectangles(whose edges are parallel to X and Y axis) and there are many infinite lines(vertical and horizontal). The ask was to find total number of intersection points of the lines with the rectangles.
I created classes for all the models(line,rectangle,separate class for binary search methods) and proposed a binary search solution. Here, the focus is on writing modular code with proper naming conventions and handling all the edge cases. Also, the expectation was to decide how to take the input and write a working code passing against few test cases.
Also, i clarified with the interviewer about the edge cases when a line passes through one of the edges of the rectangle and if we count that as 2 points or 1.
This round also went really well.
Round 3 (HLD 60mins)
First half, detailed discussion on a previous project. Design decisions taken, trade-offs made, challenges faced, basic working of the entire product of the team.
Second half, design something similar to a hotel booking system with search and reserve capabilities.Was asked in the end about how i would scale it to multiple regions in the world, parition index and sharding technique.
Round 4 (HM 60 mins)
Usual behavioural stuff like most challenging problem, conflict with teammates, critical feedback from manager,etc
Got a call hire call in a week and received the offer letter 2 weeks later.
Here is the compensation details - https://leetcode.com/discuss/compensation/2126057/Uber-or-SDE2(L4)-Backend-or-Bangalore