Last week, some of us had attended the placement process for SAP Labs India.
To give you an idea of the company, SAP Labs India is one of their four Labs world over (others being in Germany, US and Israel). More about the company could be found here.
The selection process included 3 rounds. First an aptitude quiz, second Technical interview and finally an HR round. I am sharing with you my experience attending this process.
The first round was an online quiz which had three sections – verbal, logical reasoning and technical. Th first two sections are on the usual lines, while the technical round had further sub-divisions such as OS, OOP, DBMS etc. The key to getting through this round is time management. We had about 95 questions to be answered in about 90 minutes (each section was separately timed). The technical questions required understanding of the whole concepts. For example there were questions based on a large relational database schema. The key to answering these questions were to use common sense rather than working out the whole problem. I found the section on DBMS especially difficult, since I couldn’t brush up my basics on that topic. All those who are aspiring to get into some of the top companies – Google, Microsoft, SAP, etc.. – brush up your basics before you go for the selection process.
After clearing the first round, we had Technical Interview round. Since, the results had come by 7pm, they wanted to interview atleast 4 people the same day. I volunteered to be one of them, and as luck would have it, all 4 of us got selected. I am detailing on the contents of the interview (it could be a bit dry to read, but worthwhile). The following is an explanation of how I faced the interview. Well, everyone does it differently and would have different experience and insight about the same. This is to give you a broad idea about how the interview would be and what according to my experience was the key to give your best.
The interviewer was extremely helpful and caring. I was a bit tensed when my chance had come. After the initial introduction, we straight away went to the technical part. He started out with asking me about the difference between C and C++ and the OOP concepts. I explained each of the concepts with real world examples and sample codes. Then, the difference between compile time and runtime polymorphism was to be explained. Though I had a vague picture about both, I did not have a deep understanding about the both. So, I asked for some time to recollect, and then I wrote some sample codes on sheets of paper. Then I got a better understanding so that I could explain to him. He went in depth on that. We spent almost 20 mins on various OOP concepts. The key to succeed in this round (according to my experience) is to remain open, continuously speak to him about what you are doing (think aloud), tell him if you are getting stuck, clearly state your understanding. He wasn’t expecting us to recollect everything, but we should be able to work through the problem.
After the initial part, he was concentrating more on the data structures. He asked me which is my favourite data structure. I was caught unexpected. I hadn’t ever thought that I would be aksed such a question. Well, then I told him that DS is only a tool which aids in solving a problem. Then I thought for a while and then told that Queue is my favourite since I had worked with it in my TCP layer implementation project. He asked me few questions based on queues. He then went on to ask me about link lists. After few basic question regarding the structure of LL, he asked me to explain how to reverse an LL. Well, I couldn’t recollect any direct solutions to this problem. Then I asked him for some time to work out. Then I started with using 2 pointers (current and next). I tried the reversal starting from head and then tail, both of which wasn’t working. I was at a road block – couldn’t proceed. So, I told him about this and then he suggested I use 3 pointer (prev, curr, next) to solve the same problem. I started with it, and soon found out that my solution lay in using 3 pointers. I worked it out on a scratch pad and then wrote the algo for it. It took another 20 mins solving this.
The later part of the interview was based on DBMS (relations, cardinality, keys). He didn’t venture into normalization of relations. The last part was a puzzle. The question was to create 4 equilateral triangles using 6 match equal match sticks (without breaking or overlapping). I worked on it for sometime on a paper. I showed him all the possibilities on a paper, but none of them could have 4 triangles. I tried for some more time, and then left it there. Yes, that was it. My 1 hour tech interview was over, finally. It was about 9.30pm by the time it got over.
When I look back, few things that could have made it easier for me would be – to brush up all the basic concepts right before you go for the interview. Well, don’t get muddied up reading about a lot of technology. They are looking for your basics, you attitude (openness, communication and articulation of ideas) and how well you cope up with the interview. My mantra was – “be yourself”.
The HR round was on the next day morning. This time, I was much more relaxed after the previous night’s tech interview. There are some interesting points that I would like to share with you from my experience. The HR round started of with an intro about my blog (yes, you read it correctly – blog). I explained about what all things I blog on – technical, social and reviews, why do I blog and my opinion and views on the social issues. It was a long discussion on my personal views on a variety of topics – corruption, FOSS and ABC. I never expected such a lengthy discussion on my blog during an interview. He also asked me why I am excited about FOSS and the reason why I am still contributing to the FOSS community. Later, they wanted to know about my cultural and extra-curricular activities. We discussed a lot on them. I shared my experiences with ABC (Amala Bharatam Campaign), Amrita Sanjeevani (stalls, fund raising), Amma’s Birthday (plate washing, managing crowd), CIR SSR project and the FOSS club. Here, I shared my learning on managing groups and being part of a large group. They asked me questions about my weaknesses (again, something that you should always be prepared to answer). I took me sometime to think about it and then I told them about how I have learned to work in a group, thanks to the FOSS club in our campus. The last part of the HR round was mostly based on my outlook towards career. They wanted me to analyze and find out which role would be best suited for me – a single handed worker or a small groups person or a manager of a large number of people. My strength was more on “a small groups person”. After our initial training in SAP, we have the freedom to select between these three groups – according to our strengths.
This interview gave me a first hand experience about what they expect from us. To sum it up, they are expecting students to be strong on the basics, open to ideas, a good team player, good communication and articulation skills (most of which I developed after coming to Amrita). Two of my friends also got into SAP Labs along with me – Shilpa and Chandni. After our selection, we had a company dinner the same day, which we enjoyed to the last bit. All of us are extremely happy to get into SAP Labs.
I haven’t gone in detail about how I approached the problems and my thought process. So, please feel free to ask any question regarding the interview process.
– Article written by Rahul Krishnan
Update: I did not join SAP Labs since I wanted to pursue my graduate and doctoral studies. Currently I am a doctoral student doing research in multimedia and wireless networks at the Amrita Center for Wireless Networks and Applications in Amrita University.