More than 600 students from my university were shortlisted to attempt the online assessment. The cutoff for shortlisting was 9 CGPA and 80% in 10 & 12. Applicants had a choice between Enterprise Engineer Track and App Development Track. I went ahead with the Application Development track.
Online Assessment: The assessment lasted 2 hours and it was divided into 3 sections. It was held on the Aspiring Minds (SHL) platform and although it was allowed to track back to skipped questions within a section, one wasn’t allowed to switch between sections.
Debugging Round (20 minutes): This round consisted of 7 easy questions that had to be completed in 20 mins. One could choose their preferred programming language before beginning this section. The aim was simply to amend the given code(reverse sign, rectify logic, and/or correct syntax) to meet the requirements of the question and clear all the test cases.
Reasoning Ability Section (20 minutes): This section had 10 questions that tested one’s aptitude and reasoning ability (Quants). The questions were mostly of medium difficulty and did not require a lot of calculations.
Coding Round (60 minutes): One had to solve 3 coding questions (easy, easy, medium) in the preferred language.
(Easy): One essentially just had to iterate through a list of numbers and choose all those numbers which fell in a given range. Very easy right? But the question wasn’t framed like that. The question stated that we had a tree that had to be traversed. Also, we had to take in fake inputs and discard them.
(Easy): A fixed-length sliding window problem
I was able to solve 6 out of 7 debugging questions and all 3 coding questions.
After OA, 14 students were selected for the interviews(8 for App Dev, and 6 for EE). The interviews were scheduled for the very next day.
Some behavioral questions.
How is polymorphism used in Databases?
Predict the output of the given code snippet
The interviewer gave me a hint in the first one as I was unaware of this concept somehow(https://www.geeksforgeeks.org/return-by-reference-in-c-with-examples/
). I thought it’ll cause a compilation error. But she told me it won’t. After that, I was able to make a guess as to what the answer will be.
She gave me another code snippet as she had to give me a hint for the first one. It was based on the concept of inheritance. I was able to answer it and also answer a follow-up question that was asked.
Question 1(Easy): Based on a 2D matrix. Had to print the sum of squares of all the elements present in both the diagonals.
Question 2(Easy): Given a circular list. Implement two functionalities. Delete from the end of the list and insert it at the given index. I implemented a solution using a doubly linked list. I was unable to implement the insert feature as we were running out of time and she wanted to move on to theory questions.
She asked me about namespaces in CPP. My answer wasn’t satisfactory and she seemed quite upset and told me to clear my basics.
Rapid fire theory questions on OS(mostly) & OOPS. I was able to answer all of them. I think this redeemed me from not being able to answer what exactly is the purpose of namespaces. Some of the questions that I can remember:
Process vs threads
Lastly, she asked me if I had any questions. I asked about her experience in MS. But our conversation was cut short as we ran out of time and I was asked to leave the meeting by people who were managing the interviews.
7 out of 14 students were selected for Round 2. I was one of them.
Round 2(Projects and HR):
Tell me something about yourself that is not on your resume.
Hobbies that you have
Then we got to my projects. I had about 1.5 years of freelancing experience at the time so I had a few good projects(both solo and team) that I could show. He seemed quite impressed with them.
What moral/ethical decision you took that others didn’t agree with?
Looking at my freelancing experience he told me that I had an entrepreneurial spirit and wanted to know why I would want to join a company.
He pointed out that in most of the projects that I work on, I have a lot of freedom to choose the tech stack and working hours. He wanted to about a time when I didn’t have that.
Finally, he asked me if I had any questions for him.
We got the results the next day. Final verdict: All 7 of us who got to the 2nd round were selected.