SAP labs came to our campus and the interview was held virtually due to the COVID-19 situation, there were six rounds and all they have seen is how we approach a problem.
Round 1 (Online Test): The time duration for this round was 1hour and the exam was held on Hackerrank. There were three sections.
Section 1 (5 MCQs):
- Analysing time complexity.
- Definition of a variable.
- Correct initialization of an array.
- Characteristics of distributed systems.
- Malloc function in c allocates memory at which time?
Section 2 (5 MCQs):
- Find inorder traversal from preorder and postorder traversal
- Definition of message queues
- C++ constructor initialization
- Given R(A, B, CD) and functional dependency is A->B and C->D . The decomposition of R into two different schemas R1(A, B) and R2(C, D) is?
Section 3 (2 coding questions):
- Given an integer k and a list of integers, count the numbers of distinct valid pairs of integers (a,b) in the list for which a+k=b.two pairs of integers (a, b) and (c, d) are considered distinct if at least one element of (a,b) does not also belong to c.
Input : n=4 ,k=1 Numbers-[1,1,1,2] Output: 1
I have used a HashSet to avoid duplicates and checked if the element in the hash plus k exists in the HashSet and if it exists , then I have incremented the count and returned the count at last and all the test cases where passed.
- Given an array of integers, perform some number k of operations. Each operation consists of removing an element from the array and dividing it by 2 and inserting the ceiling of that result back into the array . Minimize the sum of elements in the final array.
Input : nums[10,20,7] k=4 Pick | pick/2 | ceiling | Result Initial array [10,20,7] 7 3.5 4 [10,20,4] 10 5 5 [5 ,20, 4] 20 10 10 [5 ,10, 4] 10 5 5 [5,5,4] The sum of the final array is 5+5+4=14 and the sum is minimal. Output: 14
I have constructed maxheap to get the maximal element at each time and removed that max element from the heap and divided by 2 and added the element into the heap, repeated the same thing till k by doing so I found the minimal element at the end of kth iteration.
ROUND 2(Code Pairing): The time duration for this round was 30mins and the exam was held on Hackerrank codepair. I have asked 1 coding question and a SQL query. He said that he had viewed my hackerrank , Github, leetcode profile, and the projects which I have mentioned in my resume and was impressed by that. Since we had 30 minutes, instead of having an introduction we have moved on to solve the question.
Coding question: Given an array of integers and its size is n and I need to change any n-1 characters by incrementing the array elements by one, in one iteration and do that repeatedly and at last, all the array elements should have the same value. Return how many iterations required to achieve this.
Initial array: [2, 3, 5, 5, 4]
I have found a pattern initially like I could have altered all the array elements by incrementing all the array elements by one except the maximum element in that array. I have coded that and a few test cases didn’t pass. But he was satisfied with my approach, and he asked to move on to the next question.
SQL query: Given a country table and population in that country, you have to print the country name and the Population such that the population should be the even number and the country name should be printed in ascending order and the country should be in upper case.
I have solved this and selected for the next round.
ROUND 3 (Tech Round): The time duration for this round was 30mins and the exam was held on Microsoft Team
- Implementation of an abstract class: There is a Dog Class that has two methods speak which prints bow bow, and walk, which prints walking. There is a Cat Class which has two methods: speak which prints meow, and walk, which prints walking. There is a consumer class which has a method Act which should call the speak and walk methods based on the object gets passed to eat. In other words, if you pass Dog it should call dogs methods and if you pass a cat, it should call cats methods. What would be your approach towards designing a solution This was the question, and I am expected to do that using the abstract class and the follow-up question is the difference between the interface and abstract class.
- Design patterns: He asked about the design patterns that I know and I have said about the singleton, factory design patterns, and chain responsibility theorem, then he asked me in which real-time scenario you would have used singleton and factory. I mentioned a few and he was ok with that.
- SQL query: A company stores the information of its employees in the EMPLOYEEtable. Write a query to print the name and salary of all the employees in the EMPLOYEE table who earns a salary of more than $500. Sort the results in ascending order of the last three characters in the employee’s name. If two or more employees have names ending with the same three characters, then sort them by descending order of salary. Even if there are two or more employees earning the same salary then sort such employees by ascending ID.
Sample Input: EMPLOYEEID NAME SALARY 1 Candice 4685 2 Juliana 2253 3 Scarlet 2350 4 Illeana 1151 Sample Output: Juliana 2253 Ileana 1151 Candice 4685 Scarlet 2350
He asked me if I had any questions and I asked him about the more challenging and interesting project in SAP and he answered. At 3 pm I received mail that I have cleared this round along with three other students and the next round is managerial round 1.
ROUND 4 (Managerial round 1): The time duration for this round was 15mins and the exam was held on MS teams. Two managers interviewed me at this round and I have asked the questions like,
- How was the day?
- How was the overall interview experience?
- What do you feel about the first round
- Is this your first interview
- Why do you want to work in SAP
- Interesting projects that I have done and I explained in detail
- In which role do you like to work with (developer or tester or customer service)
- Why upgradations are necessary for the software environment
- How do you manage the server failure
- Is relocation to Bangalore is ok
- Your college marks are lower than your school marks and relocation from rural to urban is the reason for your performance degradation in college.
- If you were selected, will you join the company on day 1 or do you need some time?
And at 5.20pm I received mail that next managerial round is at 5.50pm to 6.10pm
ROUND 5 (Managerial round 2): The time duration for this round was 15mins and the exam was held on MS teams. This was a normal discussion round started with a brief introduction of mine.
- How was the day?
- Two strengths and two areas to improve and how you achieved that.
- The problem you have faced during your leadership roles.
- How often do you come to your hometown
- What was the good day in your hostel life and why and a bad day in hostel life and why
- What would you do in your free time apart from academics
- Why do you like to work in SAP
And at 7 pm, I was called for the final hr round.
ROUND 6: (HR Final round): The time duration for this round was 20mins and the exam was held on MS teams.
- Tell me about your achievements that I have mentioned in my resume.
- Difficulties I face in the COVID-19 situation.
- How were the online classes going?
- Areas of interest.
Then I was told that I will get the results by the next day or after two days.
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more, please refer Complete Interview Preparation Course. In case you are prepared, test your skills using TCS, Wipro, Amazon and Microsoft Test Serieses.