Round 1 - Screening
Questions:
- Design a multi-floor parking lot with different spot types for cars and bikes. In busy times, you can park 4 bikes in one car spot.
Candidate's Approach
- Discussed the class diagram and implemented a pseudo class.
- Explored different approaches to retrieve available parking spots, from brute force to an efficient solution using a custom tree.
Interviewer's Feedback
The interviewer was kind and supportive.
Round 2 - DSA
Questions:
- The problem was divided into two phases with input as a matrix (n x m) where each cell could be either white or black.
- Phase 1: Write code to determine if a color is "trapped" by the opposite color, meaning it’s completely surrounded by the opposite color in the immediate neighboring cells.
- Phase 2: Extend this to n degrees, meaning a color is trapped by its opposite at a distance greater than 1.
- Consider edge cases if coordinates are out of bounds, then consider it as trapped.
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Round 3 - LLD
Questions:
- Design a leaderboard.
- Ask 1: Design a simple use case.
- Ask 2: Implement caching.
- Ask 3: Make it thread-safe.
Candidate's Approach
- Completed the first two asks and discussed all possible approaches for the third.
- Asked for 10 more minutes to implement a keyed executor.
Interviewer's Feedback
No feedback provided.
Round 4 - Hiring Manager
Questions:
- Discussed hobbies and detailed projects from previous companies.
- Technical part involved designing a stock price notification system that alerts users if a stock price goes up by 10% or hits a static value.
Candidate's Approach
- Created a detailed low-level design on the whiteboard.
- The interview lasted 2.5 to 3 hours, which felt frustrating due to the length.
Interviewer's Feedback
No feedback provided.
Round 5 - HLD
Questions:
- Design the Uber Eats restaurant feed backend without further details or interaction from the interviewer.
Candidate's Approach
- Designed a basic high-level design focusing on how to store and retrieve restaurant data efficiently.
- Suggested using a quad tree and geo hashing, but proceeded with quad tree assuming Uber already uses it.
- Discussed quad tree storage logic, rebuilding it when a restaurant shuts down, and serialization/deserialization.
Interviewer's Feedback
Received a 'Soft Yes' due to familiarity with the problem, but all other rounds received a 'Strong Yes.'
Last Round - Team Matching
Questions:
- Had a call with three managers, clearly stating expectations.
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Offer Released
Overall, the process was quick, and it was the candidate's first in-person interview. The candidate felt more comfortable and confident in person compared to online interviews, benefiting from the ability to switch between the screen and whiteboard.