SAP Developer, Palo Alto, Jan 2020

sap logo
sap
software developerpalo alto ca3 yearsRejected
February 23, 202012 reads

Summary

I applied for a Software Developer position at SAP in Palo Alto and went through a phone screen and a three-round onsite interview process, which unfortunately resulted in a rejection.

Full Experience

I applied through the company website on January 7, 2020. Shortly after, I received an email from a recruiter to schedule a phone screen.

Phone Screen (45 min Skype call with code share link):
This round was with an engineer from the software development team who had about 4 years of experience. We started with an ice breaker where I had to tell them about myself, followed by a discussion about my last project. For coding, I was asked two specific questions:

  • Given a list of words and a string as input, I needed to identify if that string could be made from the given list of words. The challenge included frequency constraints; for example, list_of_words = [“what”, “is”, “San Francisco”, “SAP”, “Job”], string – where is SAP located should return False. If a word appeared twice in the string but only once in the list_of_words, it should also return False.
  • The second question required me to find the minimum distance of every letter in a given word from a specified alphabet. For example, for word = “sustainable” and alphabet = “a”, the expected output was [3,2,1,0,1,1,0,1,2,3].

I successfully cleared the phone screen and received an invitation for an onsite interview a week later.

Final Onsite Interview:
The onsite consisted of three distinct rounds: two technical interviews focusing on coding and system concepts, and a final behavioral interview with a hiring manager.

Round 1 (approx. 55 minutes):
This round covered a mix of topics and questions:
  • Tell me about yourself.
  • What are Classes and objects?
  • What is the use of the final keyword in Java?
  • What are JRE and JVM?
  • Explain your last project, including any problems you faced.
  • Coding Question: Two Sum.
  • Coding Question: Design an LRU Cache.

Round 2 (approx. 45 minutes):
This round began with questions about my projects listed on my resume and challenges I had encountered. Following this, I was given a coding question:
  • Design a stack that supports a find min feature along with regular push and pop operations, with the constraint that the complexity of all these operations should be O(1).

Round 3 (30 minutes with hiring manager):
This round was more conversational. The manager and I chatted about how the day was going and they explained details about the team and the work. They inquired about my future goals, how I resolve conflicts with teammates (asking for specific examples), and my expectations for the role.

Despite what I felt was a strong performance, I received a rejection three weeks later. This was, in my opinion, the best interview I’ve given, having correctly answered all coding questions and Java-specific questions. I was quite confident about the outcome, so this rejection, my second that week, was disappointing. I am hopeful that next time will be my time.

Interview Questions (15)

Q1
String Formation from Word List with Frequency Constraint
Data Structures & Algorithms

Given a list of words and a string as input, identify if that string can be made from the given list of words. For example: list_of_words = [“what”, “is”, “San Francisco”, “SAP”, “Job”], string – where is SAP located. For this case, you should return False. Additionally, if there are two occurrences of a word in the string but only one occurrence in the list_of_words, then you should also return False.

Q2
Shortest Distance to Character
Data Structures & Algorithms

Find the minimum distance of every letter in the given word from a given alphabet. Example: word = “sustainable” and alphabet = “a”. You should return [3,2,1,0,1,1,0,1,2,3]. Explanation: The distance of 's' at index 0 to the nearest 'a' (at index 4) is 3, and so on.

Q3
Self-Introduction
Behavioral

Tell me about yourself.

Q4
Last Project Discussion
Behavioral

Explain your last project, including any problems faced.

Q5
Classes and Objects
Other

What are Classes and objects?

Q6
Java 'final' keyword
Other

What is the use of the final keyword in Java?

Q7
JRE and JVM
Other

What are JRE and JVM?

Q8
Two Sum
Data Structures & AlgorithmsEasy

Given an array of integers, find two numbers that add up to a specific target.

Q9
Design LRU Cache
Data Structures & AlgorithmsMedium

Design a Least Recently Used (LRU) cache. Implement the get and put operations with optimal time complexity.

Q10
Resume Project Discussion
Behavioral

Discuss projects listed on your resume.

Q11
Challenges Faced
Behavioral

Discuss challenges faced in your projects or roles.

Q12
Min Stack
Data Structures & AlgorithmsMedium

Design a stack which supports push, pop, top, and retrieving the minimum element in constant time (O(1)).

Q13
Future Career Goals
Behavioral

Discuss your future goals.

Q14
Conflict Resolution
Behavioral

Describe how you resolve conflicts with your teammates, providing specific situations if you have faced any.

Q15
Job Expectations
Behavioral

Discuss your expectations for the role.

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!