I applied as a fresh graduate.
1st Round:
Hackerrank Test, 2 questions - Logic & SQL. No algorithms were required, focusing on logic-based problems. The test duration is 300 minutes.
2nd Round:
Live Coding. Similar to the 1st round, a Hackerrank test with 2 questions - Logic & SQL. The difficulty level was much more easier than the previous round. The tech lead was very kind and helpful, providing hints to guide me towards the best solution. Familiarity with data structures and the ability to calculate time & memory complexity were required, as I was asked to explain the time & memory complexity for the logic question. This was followed by a technical terms Q&A session where the tech lead asked about database indexing, Java-related terms (object-oriented programming, streams, functional interfaces), and Spring-related terms (dependency injection methods, auto-configuration). Lastly, I had the opportunity to ask the tech lead any questions. The duration was 1 hour.
3rd Round:
In-office interview. The panel consisted of 1 tech lead, 1 senior software engineer, and 1 TA. Three stages were involved. First, after introducing myself, I was encouraged to ask questions until I had covered all my areas of interest related to the role. The second stage involved a technical/behavioral discussion. The tech lead started by inquiring about my internship experience and delved into behavioral aspects - working culture, challenges faced, and how I solved them. Then, the senior software engineer and the tech lead presented various case scenarios, and I had to provide my approach to solving them. This stage was the longest, with many technical terms and behavioral questions. In the final stage, I had the opportunity to ask any remaining questions to the panel members. The interviewers maintained a friendly and professional demeanor throughout the process, allowing for open discussion of my background and experiences. The duration was 2 hours.