(This whole procedure is only for s/w developers not for s/w testers. Their selection procedure and questions in each round were totally different.)
The selection process consisted of total 3 round: first was online pure technical 45 MCQs with -ve marking in 75 mins in which 40 were shortlisted out of 300, 2nd was a problem to code on computer(the time they mentioned in ppt was 90 mins for this, but because of the complexity of the problem, it was extended to 5 hrs 30 mins) and last round was technical which was a bit like formality after almost 6 hrs of coding in which they selected only 3 students out of 40 who could complete the program without any errors. And fortunately I was among those 3 lucky students.
1st round consisted of only 45 C++ questions in which code was given and we need to find the output. One's concept of volatile, virtual functions, enum, templates should be clear to qualify this round.
In 2nd round, the coding question was quite tough. The problem was: We are given a heap memory of 512 x 4 bytes size with it's starting address. We had to implement our own malloc, remalloc and free functions named as mymalloc, myremalloc and myfree functions rptly. We need to use some data structure to keep track of all allocated blocks and perform requested operation and den to display the memory address, it's size and print whether it's free or busy(allocated).
After this round, the technical interview was just for formality in which he asked about projects, program to print mirror image of a tree and OS, c++ questions.