uber | Software Engineer | Interview Experience
Interview Date: Not specified
Result: Not specified
Difficulty: Not specified
Interview Process
The interview was conducted via a scheduled meeting. Initially, I was asked to implement a linear algorithm for a meeting scheduler. I later improved it to O(log n) using a tree map. There were three follow-up questions during the interview:
- Add a method to return the last n meetings.
- Add a method to cancel the last n meetings, ensuring updates are made.
- Discuss how to handle concurrent requests; I suggested using a global lock and mentioned that a room-level lock could be an improvement, but I ran out of time to implement it.
After the interview, I was unsure if I had passed. The questions were not particularly difficult, but they seemed to cover a wide range of topics.
Technical Questions
- Design a meeting scheduler (binary tree, sorted map, concurrency)
Tips & Insights
Focus on algorithm optimization and be prepared to discuss concurrency issues in detail.