Round 1: Online Test on Hackerank
Resumes of around 350 applicants were shortlisted and 151 students were allowed for round 1.
There were three sections.
Section1 : Quant (15 questions, 20 minutes) Questions were difficult to solve by most of the students. I solved just 1 question in this section.
Section2: Computer Science Aptitude (15 questions, 15 minutes) Consisted of many output questions in C, C++. Questions from OOP, OS and general CS were also there. I was able to attempt 8-9 questions.
Section3: Two programming questions (45 minutes).
Q1. A boat when has full fuel tank can cover d stops. There are n stops and it’s given in an array that which of the stops have fuel station. Boat can be stopped at such stops to refill the tank. You have to minimize the number of stops to start from 1st station and reach the nth station. I was able to submit this question, passing all the test cases.
Q2. An inverted apple tree with two branches arising from each node is given. Basically a binary tree. An apple can be normal, nearly overhydrated or neary underhydrated. Penalties for overhydrated and underhydrated apple are given. You have to water just one node in tree such that the sum of overhydrated and underhydrated penalties for the whole tree is minimized. Input for tree is given in the form of a parent array and another array denotes the status of each of the apple node as 0 (neutral), -1 (under hydrated) and 1 (overhydrated). My naive recursive code (without tree building) could pass only 5 out of 15 test cases.
Total 16 candidates were shortlisted for next round.
Round 2: Technical Interview 1 (2 on 1)
They discussed my resume and started picking technologies such as Hibernate and Angular2 that I mentioned as part of the projects. I frankly told them that I am not much confident so they asked only basic questions. The interview continued on Core Java since my resume had projects on Android, Jersey/Hibernate and my skill set also reflected strong Java background. Various concepts of Java were discussed in detail. This went on for around 20-25 minutes. They then asked about my proficiency in JS to which I also told that I’m not confident, still 2-3 basic questions were asked. Finally one DS question – Level Order Traversal of a binary tree. Since it was a simple question I tried asking questions to obtain specifics such as whether levels are needed in different lines etc.. I was expected to write complete code on paper and then explain it.
Finally when given the opportunity I asked the scope of Machine Learning at Arcesium. Always try and ask some sensible questions to the panel.
Because of multiple intern experiences and freelance work, my interview revolved around my resume only while other students were asked mostly from DSA. The panel was really friendly and both of them seemed impressed. Communication skills also played a crucial role.
Round 3: Technical Interview 2 (1 on 1)
3-4 questions from DSA.
a. Given a DAG and two nodes A and B, print all paths with k edges from A to B.
The original question was to print only one path, and later was extended to the above mentioned. Full code was expected and the interviewer verified every part of the algorithm, discussing the same with me.
b. Minimum element on Stack in O(1)
Suggested the solution using an auxiliary vector and maintaining a variable min. He asked me to do without the vector. I told him about a mathematical approach that I studied somewhere but don’t remember completely. He asked me to try and think about something else and give reasoning for the same. I couldn’t think of any other solution. He then asked to remove the min variable as well. With reasoning I told him it will not be possible to do it in O(1) without maintaining the variable min.
c. Obtain element(s) from array which has at least 2 elements greater than itself in the array.
Pretty much simple by obtaining second largest element.
Interviewer then started asking questions from C++. Mostly OOP concepts, polymorphism etc. Discussion about why static functions are required to which I explained for about 10 minutes but he didn’t seem to be satisfied.
To my surprise I was selected for the final HR round. You should be confident and smart enough with the interviewer. Don’t panic even if the interviewer seems to be dissatisfied with your answers. His/her reactions too are oriented to test you in different situations.
Round 4: HR (1 on 1)
A young lady took the HR. This round went swiftly with frank discussions about the interview process, past interviews, my projects, which project was the most enjoyable etc.
After 3 hours of wait (I went to hostel and slept) the PR called my up and we met the complete panel. I was selected along with one other guy. It was truly a ‘on cloud 9’ feeling.