SAP Labs India visited NIT Rourkela on 27th of July 2020 offering Full Time Employment opportunity to final year students and Internship to pre-final year students. They provided for a virtual hiring process considering that in-person hiring was not possible given the pandemic situation across India. NIT Rourkela was the first campus they visited for FTEs in 2020-21 and so was SAP Labs the first company that completed its hiring process at NIT Rourkela.
The process for Full Time Employment for the position of Associate Developer was conducted across 5 rounds spread over 3 days each being an elimination round. Apart form the online test, all rounds were face-to-face via video only. These were preceded by the pre-placement talk by the company conducted via Zoom video meet.
- Online Test: Conducted on HackerRank Platform
- Peer Coding Round: Conducted on HackerRank CodePair
- Technical Discussion Round: Conducted on Microsoft Teams
- Managerial Round: Conducted on Microsoft Teams
- HR Round: Conducted on Microsoft Teams
1. Online Test:
Duration: 60 minutes
Section 1: MCQ (Multiple Correct Answer type) – 4 Questions
- Based on function overloading and overriding
- Based on static functions
- Based on checked and unchecked exceptions
- Bases on access specifiers and nested classes
Section 2: MCQ (Single Correct Answer type) – 6 Questions
- Given a full binary tree with N internal nodes, what will be the number of leaf nodes?
- Number of three digit number where the digits occur in ascending order?
- Find the time complexity of the given code snippet?
- Minimum number of variables required to swap values of two variables?
- Given a JAVA code Snippet, Identify the design pattern used?
- Method to free memory of pointer to an array of integer created using new keyword?
Section 3: Coding – 2 Questions
- Given two arrays X and Y, and an integer D, find the number of elements X[i], such that the absolute difference between Y[j] for 0<=j<Y.size() and X[i] is greater than or equal to D.
- Given two array of strings X and Y, return a vector Z such that Z[i] corresponds to the number of elements need to be altered so as to make X[i] and Y[i] anagrams.
It was mentioned that the test has sectional cutoff so it was important to solve MCQs as well. The questions were randomized between candidates and hence different people had different set of questions. I successfully solved both the coding questions and was able to pass all the test cases. In the MCQ section I could correctly answer 3 questions in section 1 and 5 question in section 2.
After this round 15 students were shortlisted for the peer coding round to be held the next day. I was shortlisted and received a mail consisting of details and link to the HackerRank CodePair interview.
2. Peer Coding Round:
Platform: HackerRank CodePair
Duration: 40 minutes
The interview started with the interviewer introducing himself followed by my introduction. Then he asked me to rate myself out of 10 on Data Structures, Object Oriented Programming and CPP. After this we moved on to problem solving part of the interview.
Question 1: Given an array of integers X and a target Y, find the number of distinct pairs in the array such that the absolute difference between the elements is equal to the target Y.
This was a coding question. I was expected to discuss the approach with the interviewer and then code out the program which was then run against all the test cases available. I did mention the time complexity of my different approaches I proposed.
After I solved this question we moved to white boarding also available with HackerRank CodePair.
Question 2: Given a Binary Search Tree where only one of the node element is corrupt i.e. violates the conditions of the Binary Search Tree, Find the node and display the corrupt element.
In this question I was expected to discuss my approach and then code out the approach. I was also asked to write the associated structure of node for the BST. Since this was on whiteboard we did not run the program.
Question 3: Given a Binary Search Tree find out the sum of all the leaf nodes of the tree.
I discussed my approach and write out the code. I was asked which out of pre-order, in-order or post-order traversal would be the best approach to solve the question.
Question 4: Given a Binary Search Tree, print out a 2-D matrix where for each node the respective row contains 1 for nodes which are rooted with that node and 0 otherwise.
Since we were running out of allocated time I was only asked to discuss my approach and not code out the solution.
Towards the end of the interview the interviewer asked if I had any questions for him. I asked one.
The interview went very good and the interviewer looked satisfied. At a later point in interview he guided me to what all technical stacks and concepts I should learn about so as to have an edge when it comes to workplace.
After this round 6 students were selected for the technical discussion round and I was one of them. The link for the MS Teams conference which was to be held the next day was shared with me through mail.
3. Technical Discussion Round:
Platform: MS Teams
Duration: 50 minutes
The interview started with the interviewer introducing himself. He then asked me to introduce myself. Then the discussion started which was focused mainly on Data Structure and Algorithms, Database Management System and Projects and Skills mentioned in my CV and a puzzle. Question asked included the following
Data Structures and Algorithms:
- What is the meaning of n in O(n) ? What is the time complexity of the given code snippet?
- What is red black tree? What is AVL tree? How is it different from typical implementation of Binary Search Tree?
- What is HashMap? What is hashing? How does it function?
- Design a stack which in addition to push and pop has an additional function minEle all of which functions in O(1) time complexity.
- What kind of data structure would you use to design a large scale social network? What algorithm would you use to find the shorted distance between two given people in the network? How does bidirectional breadth first search work? Will it improve the complexity of the search?
- Given a linked list how would you remove all duplicate elements? Can the space complexity of the algorithm be improved at the cost of time complexity? How many pointer would be needed? Can we do it with less number of pointer variables?
Database Management System:
- What is a NoSQL database? What are some of the examples? Do you know how to work with MongoDB?
- What is the meaning of schema in DBMS?
- Given a database schema, I was asked to write a SQL query to perform a given operation.
CV Based Questions:
- Do you know about training and forming in ML?
- How would you access a Windows system from a Linux system? Would you require any additional software?
- What is the use of Grep command in Linux?
- Do you know about Lucene? What technical stack did you used for your search engine project?
- 3 ants sitting on three corners of a triangle, randomly pick a direction and start moving along edge of the triangle. What is the probability that any two ants collide?
After these the interviewer asked if I had some questions for him. I asked a few. He then followed by asking me what do I know about SAP and why do I want to join with the company?
This round went well too. I was confident. After this round two students were selected for the Managerial round and I was one of them. I received the link to MS Teams conference through mail.
4. Managerial Round:
Platform: MS Teams
Duration: 30 minutes
The interview started as usual with the interviewer introducing himself. I in fact knew the interviewer from the pre-placement talk. He asked me an array of Managerial and HR questions which included:
- Introduce yourself. Tell me about your background, works accomplished, interests and hobbies.
- Who else are in your family? How has the pandemic impacted you and your family?
- What is geopolitics? Tell me some geopolitical issues I might not be knowing about? (It was one of the interests I mentioned)
- Why do you want to join SAP Labs? Why not wait for other companies to come?
- What is the difference between a product based and a service based company? What are some of the other product based companies?
- Have you been to Bangalore? Do you have any issues with relocation?
- Do you plan on higher studies? Since you have interned at IIT Bombay, so why do you want to join a product based company and go for higher studies?
- What is the idea behind your ML project of COVID-19. What algorithm did you use? Where can we see and read your findings?
- Where do you see yourself in 5 years down the line?
- What is the type of work you want to do at SAP? What if you are not accommodated into a related project?
- What extracurricular activities have you undertaken in your institute? Explain your role? How do you keep connected to activities when you are not in your campus?
- Since you have worked a considerable amount on writing and reporting, why not take journalism as a career?
- Tell me one thing about yourself that according to you no other person knows about you?
- Suppose you have 4 hours to yourself without any technical resource what is that one thing you would like to do?
- Do you lie?
The interview ended with the interviewer asking me if I had any questions for him. I did ask a few.
Both the candidates moved to the next and final HR round.
5. HR Round
Platform: MS Teams
Duration: 20 minutes
This round was a very casual discussion between the HR and the candidate. He wanted to tell us more about the job profiles, what kind of work we would be doing when if we get onboarded. This according to me was their way of understanding our preferences in location of work and work profile. He introduced himself and then asked me to introduce myself and talk beyond my CV.
- Who else are there in your family and what do they do?
- Why NIT Rourkela?
- Do you have a problem with relocation? Where would you like to work?
- What would you like to do during the first 6 months if onboarded?
- What is your profile preference? What are your interests?
- What do you do in your free time?
This interview ended with the interviewer asking me to ask questions. I then asked a few and the HR was very enthusiastic and explained more about the business model of SAP and how its business works. At last he told the they would revert back to us with the results later in the evening on the same day.
This was the last round and I hoped of a positive outcome. It was around 7:45 pm in the evening in the evening when I received a mail asking me to join a video call at 8:00 pm the same day. It was in this conference call where the HR informed us that I along with one other candidate was selected for the position and I was over the moon :-))