Online Test:
MCQs on basic CS fundamentals, SQL, etc.
2 Leetcode medium DSA questions:
1. One was to find the maximum number with a given sum of digits and digit count.
2. I don’t remember the second one.
Phone Screening 1 (60 minutes):
2 DSA questions:
1. Given a matrix with zeros and ones, find the maximum perimeter rectangle with all ones.
2. Given an array of integers, find the maximum sum of elements such that no two elements are adjacent.
Basic Java questions on threading, Runnable, Callable, Singleton class, etc.
Phone Screening 2 (60 minutes):
2 DSA questions:
1. Given an array of positive integers, find the longest subsequence such that all the elements are consecutive.
2. Given a tree, find the height of the tree using both recursive and iterative approaches.
Design question:
1. Design an online bidding system and answer questions related to scalability and performance enhancement.
Basic questions on Java, Spring Boot, how MVC works, how Spring creates beans, and some design patterns.
Onsite Interview:
Craft Demo (90 minutes):
The recruiter provided boilerplate code (I had to choose among different languages and for BE, FullStack, or UI). I just needed to set up the code locally. I selected the BE code.
The interview panel gave some user stories:
1. Create a REST API that takes isAdmin as a request parameter and returns a list of all players with their first and last names if the admin has called the API. Otherwise, it should return only the first name.
2. Add running JUnit test cases for the REST API I created.
3. Follow proper API writing practices.The panel wanted to see the running code.
Technical Round (60 minutes):
2 DSA questions (Luckily, I got questions that were asked before):
1. Given an array of integers, find the maximum sum of elements such that no two elements are adjacent.
2. Given a tree, find the height of the tree using both recursive and iterative approaches.
They extended the Craft Demo by asking me to add pagination and sorting to the API I had created earlier.
I used the Specification<> provided by JPA and explained its internal workings.
Some additional questions on Java, threading, design patterns, and microservices patterns, such as Resiliency Design Patterns.
AI/ML Round (30 minutes):
Since I have some projects based on ML, I explained the working and algorithms used in my projects.
Some questions related to AI:
1. What makes an app AI-native?
2. When should you use AI, and when should you not?
3. Advantages and disadvantages of AI.
4. One Java-related question: Create a producer-consumer problem using a blocking queue in Java. I partially coded it, but the interviewer helped me, and we successfully wrote the code.
Manager Round (30 minutes):
Basic managerial questions.
Outcome:
The recruiter reached out 2 days later with positive feedback.
Verdict: Selected.