Uber L4 - SDE2 Android Interview experience
Summary
I interviewed with Uber for an L4 SDE2 Android position and completed a CodeSignal OA, phone screen, DSA, Android Machine Coding, HLD, and Hiring Manager rounds. Unfortunately, I was rejected after the final assessment.
Full Experience
I recently had the opportunity to interview with Uber for an L4 SDE2 Android position. The process began with a CodeSignal Online Assessment, where I managed to solve 3 problems completely and about 80% of the 4th one. A couple of days later, I received a call from the recruiter, inviting me for the subsequent rounds.
The first official round was a Phone Screen, where I was asked a Data Structures and Algorithms question about finding the minimum number of elements to append to a string to make it a palindrome. I solved this problem completely. My recruiter then informed me that my resume was moved forward for the onsite interviews.
The onsite rounds included:
- DSA Round: This round featured a mathematical DSA question. I was given a number
xand an array, and had to determine if it's possible to make all elements in the array equivalent to any numberyby adding or subtracting multiples ofx. The initial question setxto 1, which I solved in multiple ways. The follow-up extendedxto be any integer greater than or equal to 1. - Android Machine Coding: For this round, I had to open a pre-written Android application in Android Studio and implement a couple of functionalities for a notes app, specifically edit and delete a note. I was also asked to review some of the existing code.
- HLD Round: This was a High-Level Design round where I was tasked with designing an Android SDK that includes a search bar, which, when typed into, would display a list of places. Despite feeling that this round went quite well, I received a 'no hire' feedback for it.
- HM Round: The final round was with a Hiring Manager, where I faced standard behavioral questions and was asked to deep dive into one of my projects.
Interview Questions (4)
Given a string, what is the minimum number of characters that need to be appended at the end of the string to make it a palindrome?
Given a number x and an array of integers, determine if it's possible to make all elements in the array equivalent to some number y. You can add or subtract any multiple of x (including zero) from each element in the array. Initially, x was 1. The follow-up extended x to be any integer greater than or equal to 1.
Given a pre-written Android notes application, implement functionalities such as editing and deleting a note. This involved making changes within the provided codebase in Android Studio and reviewing existing code.
Design an Android SDK that includes a search bar. When a user types into the search bar, it should display a list of places.