[ INFO ]category: Behavioral · Onsite difficulty: difficult freq: first seen: 2019-07-11
[DIFFICULT][ONSITE]OnsiteSWE III (Senior)Rejected
$catproblem.md
Interview Experience for Senior Software Engineer - Android at Uber in , India.
Round 1: Android Coding
Given an existing project (basic app fetching weather information), I was asked to do a code review. The code had issues like network calls on the main thread, lack of separation of concerns, poor package structure, and no dependency injection.
I was then asked to consume an API and build a simple UI. Due to time constraints, I had to use AsyncTask and discuss the challenges associated with it. The round also involved understanding RecyclerView, why nested layouts are problematic, overdraw, and issues with nested RecyclerView and nested ScrollView.
Round 2: Coding
Given a matrix with cells containing arrows, I had to determine if a path existed from a start to an end point, moving only in the direction of the arrows. The solution required O(rows * cols) time with constant space.
A follow-up question asked for the minimum number of arrow direction changes needed to create a path from the start to the end point.
Round 3: Android Design
The round started with a project discussion.
The problem statement was to design an app that uploads all pictures taken by the user's camera to a server. I was expected to come up with API design, client architecture, components, upload logic, and error handling strategies. The interviewer focused heavily on error handling.
Round 4: Hiring Manager
This was a typical hiring manager round.
I was rejected due to the design round. I am unsure what the interviewer was looking for. Any insights would be appreciated.