Round 1: Technical
Questions:
- In-depth discussion of previous experience, focusing on:
- Spring Boot, Global Exception, Spring Security, Asynchronous Programming, Java 8 features.
- Best practices of coding, including Design Patterns and Clean Code practices.
- Internal implementations like CompletableFuture.
- Follow-up questions included:
- Why? How? Why not this?
Candidate's Approach
The candidate discussed various design patterns and SOLID principles, emphasizing the importance of understanding internal implementations rather than providing one-liner answers. The interviewer focused on the reasoning behind the candidate's choices.
Interviewer's Feedback
No feedback provided.
Round 2: Technical
Questions:
- Situation-based technical discussion and in-depth review of the resume.
- Topics included:
- JVM and the importance of multi-threading with memory management questions.
- Internal workings of Stream API and Functional Interfaces.
Candidate's Approach
The candidate demonstrated problem-solving skills and explained their approach to various technical challenges, particularly around JVM and multi-threading.
Interviewer's Feedback
No feedback provided.
Round 3: Managerial + Technical + Behavioral
Questions:
- Discussions centered on past experience, including:
- DB migrations and design patterns with real-life examples.
- Clean coding practices and in-depth questions on Kafka.
- Multi-threading, discussing pros and cons.
- Behavioral questions about why JP Morgan.
Candidate's Approach
The candidate prepared thoroughly by reviewing their resume and was able to explain 7-9 design patterns effectively. They were also ready to discuss clean coding practices and their experience with Kafka.
Interviewer's Feedback
No feedback provided.
Additional Notes
- The entire interview process took about 3-4 weeks with three rounds.
- The candidate completed over 150 LeetCode problems but noted that no DSA questions were asked during the interviews.
- Preparation included studying System Design and practicing coding problems daily.
- The candidate received the offer within a month and appreciated the HR team's communication throughout the process.
Preparation Suggestions
- Spend at least 2 hours daily on preparation.
- Start slow and avoid comparing progress with others.
- Regularly revise practiced questions without memorizing.
- Use pen and paper for problem-solving practice.