The whole process was divided in 4 rounds :
1) Aptitude and Coding round (Online)
2) Technical Interview 1
3) Technical Interview 2
4) Managerial + HR round
1) Aptitude and Coding round (Online)
Around 100 students appeared for the online test.
The duration of this round was 70 minutes. It consisted of 25 aptitude questions to be solved in 25 minutes, and 3 coding questions to be solved in 45 minutes.
First coding question was partial coding where we had to complete the functions. It was a fairly easy problem, which required us to find whether the 3 given integers are in AP or GP, and find the next term of the sequence. The second question involved debugging and writing the function. We had to write the full code for the third question. Both second and third questions were ad-hoc problems which tested basic implementation and mathematical skills.
Manage your time well in this round. Solving problems on online judges(Hackerrank, Codechef, etc.) will be useful for coding round.
19 students were shortlisted for interviews after this round.
2) Technical Interview 1
There were 2 interviewers for this round. Both were friendly. It started with the usual 'Tell me about yourself' question. Then they started going through my resume. As I had mentioned my internship experience, they asked many questions related to that. I answered all of them, and they were satisfied. Then there was a discussion on every project that I have mentioned. Questions ranged from the language/framework used to database design and optimizations. Then they asked me questions on Normalization, which included: Why normalization, What is 3NF, Is normalization always needed, How will you figure out upto what level of normalization is to be applied, etc.
My open source contributions seized their attention and we had a long discussion about the projects I've contributed to, what was the contribution, how a bug is fixed, etc. So I explained to them the whole process involved right from cloning the repo till the PR gets merged.
Then questions on Software Development Life Cycle were asked. I was asked if I follow the steps involved in Development Life Cycle when I make projects, and how do I plan them. A few questions related to Software Testing like, Difference between White box and Black box testing, Unit testing, Module testing, etc were asked. And finally an algorithmic problem was asked which required me to find out the minimum number of platforms required on a bus station given arrival and departure time of the buses. I cleared all my doubts regarding the problem statement and came up with the solution quickly, and they accepted it.
Finally they asked me if I had any questions. I asked them about the technologies used in SAP Labs, and they gave me a clear picture of it. I was then asked to wait for the results of this round.
This round lasted for around 1 hour. Only 3 students were selected for the next round.
3) Technical Interview 2
It started with an introduction. Then he asked me an algorithmic problem, Given an array of x and y coordinates lying around an imaginary straight line (y=ax+b), find the value of a and b. I clarified all my doubts regarding the problem statement, and started solving it. I came up with 2 solutions, one was to find the variance and proceed, and the other approach was to find the slopes taking pair of points and then finding the best fit. We then discussed a few of my projects and he asked which was my favourite and why. He asked me to give an account of a problem which I faced during the development of any of my projects, and how I solved it. I explained him how I used array of objects in javascript to efficiently store the geocoordinates and then performed hash based search, in one of my web app, and how the performance of my app increased in doing so.
As I had mentioned MEAN stack in my resume, he asked me a few questions like How AngularJs works, controllers in MVC, Why Nodejs, When do you use MongoDB, etc. I tried to answer most of the questions, and he also helped me along the way.
The next question was very interesting as he asked me to plan out things for the next sale if I'm working in an e-commerce company. Here, my internship experience came handy as I explained him the load testing of servers. Then I started with the architecture of websites/apps. At that moment he asked me if I knew what Microservices are, to which my answer was No. He then explained me the architecture of all modern websites/apps, how load balancers are used, etc. This was very informative.
At the end he asked if I had any questions. I asked him about SAP Hana. He explained me how in-memory databases worked. This turned out to be a discussion where we talked about concepts like page faults, swapping, etc in context with the in-memory databases.
This round lasted for around 45-50 minutes.
4) Managerial + HR round
There were 2 interviewers for this round. I was first asked to introduce myself. They looked at my achievements and then asked about the Hackathons which I won or was a part of. They were curious about one of my web app and asked about it in detail. We then discussed the improvements that can be done in the upcoming versions of the app. Then they asked me about my internship experience, how I worked in a team, what was my contribution, etc. They also asked me about my leadership experiences. I answered all these questions. A few more questions like What are your aspirations, Any plans of higher studies, etc were asked. At the end they asked in which language kernel is written, to which I replied C and Assembly language. Then they asked why C and why not C++. I told them all possible answers I could think of before giving up finally. They were happy and asked me if I had any questions. I asked them one or two question regarding the profile, and then we shook hands. This round lasted for around 30 minutes.
Overall it was an amazing experience, and the interviewers were very friendly and supportive throughout the process. Finally, 2 of us were placed.
Final Words :
Prepare well. Make sure you are strong in computer science fundamentals. Don't neglect your core subjects. Have a broader view of Software Development. Do some meaningful projects.
Think out loud while solving any problem as it helps the interviewer to evaluate your thought process.
Work Hard. Code often. Be confident. Be honest. Carry a positive attitude with a smile.
All the best.
#SAP ( for search purpose )
Can You Post Questions Asked In Coding Round??
ReplyDelete