Summary
I applied for a Senior Software Engineer position at Navan in Bangalore. The interview process consisted of two rounds: an LLD round on a Property Listing Service and a combined HLD/LLD + DSA round focused on implementing a Type Ahead Search. Unfortunately, I failed to complete the second round in time.
Full Experience
I applied for a Senior Software Engineer position at Navan in October for a Bangalore position. Honestly, the recruiter was quite difficult to deal with.
Round 1: Low-Level Design (LLD)
This round focused on designing a Property Listing Service. The requirements included:
- Users can list properties.
- Users can find properties based on various requirements (search).
- Search criteria included price range and number of rooms.
- Properties could be sorted by number of rooms or price.
- A bonus requirement was for users to mark a property as Sold or shortlisted.
Round 2: High-Level Design (HLD) / Low-Level Design (LLD) + Data Structures & Algorithms (DSA)
The interviewer for this round was from Europe. While extremely helpful, he had very high standards regarding code quality and optimizations. I was asked to implement a "Type ahead search" from scratch using Java, as Java was a mandatory requirement for this opening. Unfortunately, I failed to complete the implementation within the allotted time.
Interview Questions (2)
Design a Low-Level Design (LLD) for a Property Listing Service. The system should support the following functionalities:
- Allow users to list properties for sale or rent.
- Enable users to find properties based on specific requirements (search functionality).
- Search filters should include price range.
- Search filters should include the number of rooms.
- Allow properties to be sorted by criteria such as the number of rooms or price.
- (Bonus) Allow users to mark a property as "Sold" or "Shortlisted".
Implement a "Type ahead search" functionality from scratch using Java. Focus on code quality and optimizations.