SAP Labs | Intern | Bangalore | July 2024 | On Campus [Rejected] | Terrible Experience

sap labs logo
sap labs
InternBangaloreRejected
May 9, 202425 reads

Summary

I interviewed for an Intern position at SAP Labs, Bangalore, and unfortunately, I was rejected. The experience involved multiple technical rounds with a mix of fundamental computer science concepts, coding, and some unexpected web development questions.

Full Experience

I applied for campus placements at SAP Labs, targeting an Intern position with a compensation of 35k for 10 months starting July, provided my CGPA was above 7. The process began with an online assessment.

Online Assessment

I had 45 minutes to solve two easy questions on their platform. The questions were presented as long story-like problems, similar to Codeforces. I managed to solve them in about 25 minutes and submitted my solutions.

Interview Round 1 (30 Minutes)

This round started with a basic introduction, followed by a general discussion about my projects and their functionalities. The interviewer then delved into core computer science concepts:

  1. OOPS Concepts: "What is OOPS and its four pillars?" I answered this comprehensively.
  2. Virtual Functions: "What is a virtual function? Is it necessary to change parameters for function overloading?" I addressed this clearly.
  3. Exception Handling: "How are exceptions implemented in Java and C++? What is the difference between throw and throws?" I struggled a bit with this one.
  4. Alternating Print Logic: "There is code that prints a number on running once, upon running it again it prints another number, then again the first number and so on. Numbers are printed alternately on running the same code. How would you implement this?" I initially thought of semaphores but realized it was a single process. I then suggested using file handling to store the next value to be printed and rewrite it upon each execution. He then asked if I had to clear the whole code, which I didn't fully understand, and couldn't answer.
  5. Interface vs. Abstract Class: "What is an interface and an abstract class?" I couldn't fully answer this question.

Beyond these technical questions, I was asked typical questions like, "Why should I join SAP?" I felt I answered most questions well, except for those on exceptions and abstract classes.

Interview Round 2 (50 Minutes)

This round was quite challenging. The interviewer did not open his camera, but asked me to keep mine on, just like in the previous round. He interrupted my introduction and immediately started with questions without introducing himself. I had mentioned frameworks like Flask, Spring Boot, and React, which turned out to be a 'huge mistake'.

He asked about React, and I clarified that I wasn't proficient in JavaScript, but had used basic functions with HTML/CSS for frontend work on my backend-focused projects. He then asked, "What is the file extension for React?" I explained that React is a framework and uses .jsx, .js, and .css files, much like Flask doesn't have a single project extension. I might have sounded a bit arrogant due to frustration.

He then asked me to share my screen and create an HTML file. He was speaking in half-sentences and with a weird accent, which made communication difficult. He also wanted me to write TypeScript code, which I had never mentioned. I asked if I could show a sample React project, to which he agreed. I explained the components and setup. After that, he asked me to create an HTML button that performs an action on click using JavaScript. Despite my prior mention of being weak in JavaScript (and not having it on my resume), I created the button tag but struggled to write the JavaScript function.

This entire segment made me very nervous. I had focused on fundamentals and LeetCode for a week, and it wasn't advertised that SAP Labs would require such in-depth development skills.

We then shifted to C++. I was asked to write code to return the frequency of elements in an array. I coded and executed it within 5 minutes, showing the output. He then asked about hash maps and hashing explanations.

Next, he presented a standard LeetCode DP question, 'Maximal Square'. I provided a naive approach and was then prompted for a better one. I thought for about 5 minutes before he moved on, saying "it's ok...". I could only suggest some inefficient approaches involving storing locations of 1s in a vector. I believe I might have identified it as a DP problem with more time.

The last DSA question was to calculate the transpose of a matrix. I coded and explained this in about 5 minutes, then pasted the code in the chat.

He continued with more conceptual questions:

  • Overriding a function.
  • Semaphores vs. Mutex.
  • Time complexity of binary search and why.

I answered all of these. Finally, there were logic questions:

  1. "What is the speed of the minute hand?"
  2. "What is the angle between the hour hand and minute hand at a specific time?"

I answered both successfully. He also asked about my experience with Generative AI, to which I described a basic chatbot I had made using OpenAI. I was allowed to ask questions and inquired about the role, receiving an answer that it would be a full-stack developer position.

There was no feedback or response from the interviewer on any of my answers throughout the round.

Final Result

Out of 9 students shortlisted for interviews, 8 qualified for the HR round. I was the only one rejected. Upon discussing with others, I found that most were not asked about development (except for one student with the same interviewer as me) and were given two questions with 20 minutes each. Some didn't even share their screen. Questions for others included: add two numbers as strings, reverse a linked list, implement stack using queue, find middle of a linked list, and longest palindromic subsequence. Many of them didn't solve both questions in the OA or interview but still moved forward.

Thoughts & Lessons

I believe if I had revised basic JavaScript and been given a little more time, I might have performed better. As my second interview ever, I was quite shaken by an interviewer who was unclear, unresponsive, and specifically focused on areas I admitted to being weak in. My main takeaway is not to solely rely on past interview experiences of others and to always cover basic fundamentals.

Interview Questions (16)

Q1
OOPS Concepts and Four Pillars
OtherEasy

Explain Object-Oriented Programming (OOP) and its four main pillars.

Q2
Virtual Functions and Function Overloading Parameters
OtherEasy

What is a virtual function? Is it necessary to change parameters for function overloading?

Q3
Exception Handling in Java/C++ and Throw vs. Throws
OtherMedium

How are exceptions implemented in Java and C++? What is the difference between throw and throws keywords?

Q4
Alternate Number Printing on Repeated Execution
Data Structures & AlgorithmsMedium

Implement a program that, upon first execution, prints a number (e.g., A), and upon subsequent executions, alternates between printing A and another number (e.g., B). For instance, run 1 prints A, run 2 prints B, run 3 prints A, and so on.

Q5
Interface vs. Abstract Class
OtherEasy

Explain the concepts of interfaces and abstract classes, and describe their differences.

Q6
React File Extensions
OtherEasy

What are the common file extensions used for React components/files?

Q7
HTML Button with JavaScript Click Handler
OtherEasy

Write HTML code to create a button and implement a JavaScript function that executes when the button is clicked.

Q8
Frequency of Elements in an Array
Data Structures & AlgorithmsEasy

Write code to find and return the frequency of each element in a given array.

Q9
Maximal Square
Data Structures & AlgorithmsMedium

Given an m x n binary matrix filled with 0's and 1's, find the largest square containing only 1's and return its area.

Q10
Transpose of a Matrix
Data Structures & AlgorithmsEasy

Write code to calculate the transpose of a given matrix.

Q11
Function Overriding
OtherEasy

Explain the concept of function overriding in object-oriented programming.

Q12
Semaphores vs. Mutex
OtherMedium

Explain the difference between semaphores and mutexes.

Q13
Binary Search Time Complexity
Data Structures & AlgorithmsEasy

What is the time complexity of binary search, and explain why?

Q14
Speed of Minute Hand
OtherEasy

What is the angular speed of the minute hand on a clock?

Q15
Angle Between Clock Hands
OtherMedium

How do you calculate the angle between the hour hand and the minute hand at a specific time?

Q16
Experience with Generative AI
Other

Discuss any experience you have with Generative AI.

Preparation Tips

I focused my preparation on fundamental computer science concepts and solving LeetCode problems for about a week. I realize now that I should have also revised basic JavaScript, as it was unexpectedly a significant part of the interview.

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!