Was contacted by the recruiter
- Technical Phone Screen:
Implement LRU cache.
Couple of Android questions regarding lifecycle and best practices
- Onsite Interview:
- Round 1: 1:30 hrs of building a android app from scratch. Fairly strait forward. Retrieve data from a api and display images in a grid. Followed by 30 mins lunch, and another 1 hour to improve the app and code review
- Round 2: System design round (45 mins) . Design a Elevator system considering yourself as a elevator company. Only classes and interfaces. Should be able to handle multiple elevators in a building, and elevators servicing only a subset of floors
- Round 3: Hiring Manager behavorial interview (45 mins) : Mostly about my experiences and questions about the team
- Round 4: Algorithms (1 hr) : Design a system to implement 2 functions: add(int val) and query(int val). query(int val) function should return the largest value less than or equal to the input.
- Round 5: Behavioral + Design (45 mins): Interview about experience and certain design questions. Also questions about conflict, how to prioritize, etc. Was conducted by a non android engineer.
Overall a good experience. People are friendly and seem to enjoy working at Uber.