
This August I have applied for the Developer Associate role In SAP India.
Number of Rounds - 5
Result - Selected
Team - SAP Ariba
Location - Bangalore.
Round 1:Technical round
This is an online coding round mostly conducted in Hackerrank, I have got a modification of the prime number program(I have used Sieve of eratosthenes for better time complexity) and an Array based Easy Problem.
Round 2 :Technical round
This is a personal interview round went for 1 hour
First question was finding Next greater element. First I provided a Bruteforce n*n solution then improved it with Stack.
I was asked to implement a custom Hash Map we have discussed the implementation with an array and approach using Balanced tree.
Since I interviewed for a java developer role and I have some basic experience with Spring Boot I was given a problem to design an API similar to the one which lists all available foods when we log in to a food delivery app like Swiggy.
I have got a mail saying I was selected and next round was in 2 days
Round 3: Technical round
This round too went for 1 hour.
I was given a Singly linked list and I need to check whether it is a palindrome. I gave 2 solutions
Reversing the given list and copying it and checking it with the given list.
Storing first half of the list in stack and checking it with second half of the list while popping out
Given a list of strings we need to find out the longest common prefix for those strings. I was not aware of the DP approach so I solved it through Brute force
The next round (Hiring Manager round) was also conducted on the same day back to back.
Round 4: Technical round
It was the toughest of all. and expectations were also high.
We were given an 2 d array of 0s and 1s we need to find out how many pools of zeros were there in the given array.
Let’s say the given array is
0,0,1,0,1,0,1,0
0,1,0,1,0,0,0,0
1,0,0,1,0,1,1,1
The output would be 3(We can consider only the four dominant directions top, left, bottom, right for contiguous zeros)
We were discussing only the approach, I was not able to complete the implementation.
This is a modification of quick sort We were given an Array and a pivot element, that array should be split into 3 buckets such that all elements to the left of pivot are smaller, then followed by pivot(pivot may contain repetition), followed by elements greater than pivot.
Next day I got a call saying I was selected for HR Discussion.
Round 5: HR discussion
This round is mostly about salary discussion and experience from the previous round. The questions followed our introduction were
Overall experience
Since I have applied for a developer role all questions were around Algorithm and Datastructures and basic System Design. I have added Spring Boot in my resume so some questions were asked in that and API design as well.
Wish you all success and see you in SAP!!