Round 1 - Pair Programming
Questions: I received a codebase related to the parking lot problem in which I had to implement some missing features and modify/add some of the test cases. The focus was on writing clean code and test cases which had complete coverage. The interviewer also asked me Java-related questions on:
- Streams
- Garbage collection
- Heap/memory management
- Exceptions
- Static variables
Candidate's Approach
I thoroughly reviewed the codebase as soon as I received it and familiarized myself with it. I practiced writing the missing features and unit test cases on my own, ensuring that my code was clean and well-structured.
Interviewer's Feedback
No feedback provided.
Round 2 - Past Projects and HLD
Questions: The interviewer asked me to describe one of my past projects on a whiteboard and drilled down into its details. The discussion included my design choices and various components. The interviewer then shifted towards distributed systems with questions on:
- Load balancers
- Discovery service
- API gateway
- Rate limiting
- Handling node failures
- Database bottlenecks
- Caching strategies
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Round 3 - Bar Raiser
Questions: The hiring manager asked me simple behavioral questions, some past project descriptions, my role at the current company, and my expectations from the role.
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.