This was a campus interview at IITB.
Before the interview, there were two rounds.
OA: They gave 3 coding questions of Leetcode Medium/Hard difficulty, all of them on graphs. 1 question was there to test the debugging skills in OOPS. All of the coding questions were to be attempted in C++.
Group Discussion: We were given a piece of paper with some C++ code on it and we had to answer some questions in a group.
What is this code doing? What is this class's main function? What bugs do you see here? What possible optimizations can you suggest here?
People needed to raise their hands to answer. Interviewers were helpful ad helped us arrive to the answers.
Now the interview rounds.
Round 1: DSA Pen+Paper Round.
I was given a 10 page problem statement and the interviewers left me alone in the room and told me that I can read the problem statement on my own for 20 minutes. After 20 minutes, when they came back, they asked me my approach to solve the problem. What data structure would you use? How would you optimize this functionality if you don't care about the other one? In each case, I was asked the best case and worst case time complexity.
Round 2: Coding Round
I was asked to code the same thing, but they said more than me passing all the test cases they were interested in the way I approach the coding. So I was given few files, with different classes, I needed to analyze and implement whatever we discussed in the previous round.
The topics that were asked were heap, priority queue, binary search tree, and in-depth C++ and OOPs.