There were 30 MCQs based on DBMS, OS, output questions, OOP concepts. And there were 2 coding questions
- One simple question based on the array.
- Second based on Dynamic Programming Number of ways to get a given sum with n number of m faced dices.
Both the coding question needed to be solved to proceed for the interview.
Based on my performance in the written test and maybe my resume they had selected me to interview for the System Dev Intern.
Interview Round -1
The interviewer went through my resume. Without wasting any time he said let’s move into coding. He told me that first he would explain/write the question. Then I will have to tell my approach and then after the approach in final, I will write down the working code in an A4 size paper.
I told him about the approach to find the pivot using binary search and then apply binary search in two half to find the element. He told me if I can find the pivot using binary search then I can also find the element without finding the pivot. I got stuck at this moment. Then I asked him for a hint he said you have the first element in the array, last element and the middle element how you can use it, using this I was able to solve and write the working code in the paper.
Why I used mid= start +(end-mid)/2 ? (to avoid overflow!)
Time Complexity of the program was asked. ( O(log n))
Then he asked me some questions related to my project, internships and all went fine.
Interview Round -2
The interviewer started that your projects and internships were discussed by the previous interviewer lets start with coding. He asked a simple character count program but basically wanted to know about my knowledge about STL i.e use of Map.
The main interview started with questions from subjects
- Basic shell commands like cd, pwd and also asked me grep, cut commands as had done shell scripting before in my project.
- Operating system related question, scheduling
- What happens when I write a URL and press enter in the browser.
- Networking related questions like TCP and UDP
- He gave me some example and asked which protocol is used here.
- And some scenarios which one should we use and why?
- When should we increase the number of servers and when we should increase the performance of servers. (Vertical and Horizontal scaling)
That’s all at the end of the day I was selected.