Round 1: Technical Round I
The interviewer asked detailed questions about the projects from my previous organization. A DSA question was asked on finding the length of the longest substring without repeating characters using the sliding window technique, followed by printing either the first or last such substring. Questions were also asked from DBMS (ACID properties, locks, indexing), Operating Systems (deadlocks, multithreading), and Distributed Systems (load balancing).
Duration: 1 hour
Round 2: Technical Round II
I was asked to find the diameter of a binary tree, including the class construction. There were also conceptual questions on pass-by-reference and how it works in Java and C++.
Duration: 40 minutes
Round 3: Managerial Round
The interviewer asked the Next Greater Element question along with a detailed dry run. This was followed by in-depth questions on my ongoing project, its requirements, and the optimizations implemented. Topics such as multithreading in Java and C++, JavaScript’s async/await behavior, and how JS handles asynchronous operations in a single-threaded environment were covered. The producer-consumer problem and its solutions were discussed, along with questions on REST APIs, HTTPS requests, API design, and API contracts. The round concluded with a system design question on designing a lift system.
Duration: 70 minutes
Round 4: Director's Round
The discussion started with questions about my prior experience and reasons for switching jobs. Two DSA questions were asked: KMP Algorithm and Kadane’s Algorithm, both of which required complete code implementation.
Duration: 1 hour