Round 1: Screening Round
Questions: 1 Coding problem: maximum-sum-iarri-among-rotations-given-array (Geeks for Geeks)
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Round 2: Depth Coding Round
Questions: 1 DP based coding problem: Given a matrix of size n*m with tower heights as input. For each tower, you are allowed to jump to another neighboring tower if the height of the current tower < height of the neighbor tower. Find the maximum number of towers you can jump.
Input:
60 60 40 45 50 45 15 10 10
For the above input, the answer is 4:
10 -> 15 -> 45 -> 60
NOTE: You can start from any tower.
Candidate's Approach
Was able to solve this question within given time and space constraints. This round went well.
Interviewer's Feedback
No feedback provided.
Round 3: Low Level Design
Questions: Design a car booking system and implement two APIs:
- getAllAvailableCars(int startDate, int endDate);
- reserveCar(int startDate, int endDate);
Note: Input data is coming in infinite stream format like [startDate, endDate]. Example - [10, 12], [13, 15].
Expectation:
- Discuss initial requirements. Limit the scope of the problem. Finalize assumptions.
- List down entities and models.
- Discuss SOLID principles, design patterns, and inheritance/interfaces.
- Discuss different booking strategies like First Fit, Minimum Wastage.
- Write working code with all entities and helper classes. Define modularity and use design patterns for implementation.
- Finally, discuss concurrent user scenarios and, if possible, provide a working demo.
Candidate's Approach
This round went really well. I was able to answer all the problems except one, which was the Minimum Wastage based strategy. This was something I had heard for the first time. However, the general board discussion went really well, and I was able to explain the full scenario and how this can extend for future use cases.
Design Patterns used:
- Singleton for CarBookingApp
- Strategy for different booking strategies
Interviewer's Feedback
No feedback provided.
Round 4: Hiring Manager Round
Questions:
- How would you resolve conflicts among peers?
- Explain one scenario where your work was used by someone outside your team.
- Explain a time when you received criticism feedback.
- Explain one scenario when you did something above and beyond.
- Explain a time when you made a huge mistake and what you did to resolve it.
Candidate's Approach
Was able to answer these questions really well, as I had faced these scenarios in my 4 years of experience. The cross-questioning also went really well. Finally, this round was something I am proud of.
Interviewer's Feedback
No feedback provided.