Round 1:It was an online test on HackerRank. It consisted of 10 MCQs based on Data structures, algorithms, Operating System and some output based questions and 2 Coding Questions. Difficulty level for this was easy-medium .
Coding questions asked were:
- Lexicographically next permutation of a given string . https://www.geeksforgeeks.org/find-the-next-lexicographically-greater-word-t
- A simple hashing question which could have been done using hash-map .
I was able to clear this round . 117 students appeared for round 1 out of which 11 were selected for round 2 . Both the coding questions were easy so selection was dependent on who solved more MCQs correctly .
Round 2:This was a F2F Technical Interview or I’d say more of a problem solving round. Interviewer seemed friendly. He started off by asking about myself, then after giving him introduction and straight away jumped to DS and Algo.
- You are given co-ordinates(all different initially) of racers on x-axis and a final destination on x-axis . All racers will run towards destination . Speed of every racer is given . So while running some racers will come side by side so they will form a group and will start running together with speed of slower one. Further clarifying he said suppose there are 2 groups, one with 4 racers and one with 2 racers so they will form a larger group of 6 racers if they come side by side and will start running with speed of slower one. So I had to tell how many groups will reach the final destination . https://www.geeksforgeeks.org/water-drop-problem/ (similar to this)
- Maximum number of 1’s in a row in row-wise sorted matrix containing on 0 and 1 in linear complexity. https://www.geeksforgeeks.org/find-the-row-with-maximum-number-1s/ (O(n+m) variation )
- Write full code to print 360 view(top + bottom) of a given binary tree .
This round was about 45 mins long .I was able to solve all the questions. In the end he asked me if I have any questions for him and then told me to wait outside. HR told me that I’ll have a Round 3 and was called for round 3 in about half an hour. 7 out of 11 were selected for round 3 .
Round 3: This was again a F2F Technical Interview / problem solving round / project discussion .
First there was discussion on my projects for around 15 mins in which he asked me about my projects and some questions on android.
Question on android were:
- what is gradle ?
- What is DVM(Dalvik Virtual Machine) and how does it work ?
Then I was asked these coding questions :-
- All combinations(Brute force, O(1) space, Hashing) of pair of values in array with sum equal to a given value. https://www.geeksforgeeks.org/count-pairs-with-given-sum/ and then extended it to find triplets in array with given sum .
- This question was a different analogy of 0-1 Knapsack . https://www.geeksforgeeks.org/0-1-knapsack-problem-dp-10/
The round was about 40 mins long .I gave answers to all the questions. . In the end he asked me if I have any questions for him and then told me to wait outside. HR told me that I’ll have a Round 4 . 5 out 7 were selected .
Round 4: This was a F2F HR round .
The interviewer was very friendly and asked general HR questions . First he asked me to introduce myself, then questions about college, my studies, subjects which we are studying and we had a nice talk . The round was about 20 mins long. Then he told me to wait outside .
3 out 5 were given the the offer and I was one of them .
The thing with these technical interviews is to know the candidates’ thought process behind approaching a problem. They give you hints if you get stuck somewhere, they ask you to optimize the approach if they know this can be optimized further. After discussing the approach you are asked to write code on paper.