Round 1: Screening Round
Questions: 1 Coding problem: maximum-sum-iarri-among-rotations-given-array (Geeks for Geeks).
Candidate's Approach
Really bombed this round. But at the end of the interview, I was able to submit the question after a lot of hand-holding. The reason was that I got panicked.
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 neighbor 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 50 40 45 15 10 10
For the above input, the answer is 4:
10 -> 15 -> 50 -> 60
NOTE: You can start from any tower.
Candidate's Approach
Was able to solve this question within the 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 is 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 a scenario when you did something above and beyond.
- Explain a scenario when you made a huge mistake and what you did.
Candidate's Approach
Was able to answer these questions really well because 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.