i
SAP
Filter interviews by
Convert byte stream to human readable format without using library
Iterate through the byte stream and convert each byte to its ASCII character representation
Concatenate the ASCII characters to form the human readable format
Handle special characters and edge cases appropriately
The minimum number of coins to reach a target amount can be calculated using dynamic programming.
Use dynamic programming to calculate the minimum number of coins needed to reach the target amount.
Start by initializing an array to store the minimum number of coins needed for each amount from 0 to the target amount.
Iterate through the coin denominations and update the minimum number of coins needed for each amount b...
To find number of nodes in a tree, perform a depth-first or breadth-first traversal and count the nodes. Time complexity is O(n).
Perform a depth-first or breadth-first traversal of the tree
Count the nodes as you traverse the tree
Time complexity is O(n) where n is the number of nodes in the tree
Abstraction is the concept of hiding complex implementation details and showing only the necessary information.
Abstraction allows developers to focus on the essential features of an object or system.
It helps in reducing complexity and improving efficiency in software development.
Implement abstraction in programming by using abstract classes and interfaces.
Example: In a car, we don't need to know the internal worki...
Process synchronization is the coordination of multiple processes to ensure they do not interfere with each other while accessing shared resources.
Preventing race conditions by using synchronization mechanisms like locks, semaphores, and monitors
Ensuring mutual exclusion to prevent multiple processes from accessing shared resources simultaneously
Implementing synchronization to maintain the order of execution and a...
C is a procedural programming language while C++ is an object-oriented programming language with features like classes and inheritance.
C is a procedural programming language, while C++ is a multi-paradigm language with support for object-oriented programming.
C does not support classes and objects, while C++ does.
C does not have features like inheritance and polymorphism, which are present in C++.
C is a subset of C...
A deadlock is a situation in which two or more processes are unable to proceed because each is waiting for the other to release a resource.
Deadlock occurs when processes have acquired resources and are waiting for additional resources that are held by other processes.
Four necessary conditions for deadlock are mutual exclusion, hold and wait, no preemption, and circular wait.
Solutions to deadlock include prevention...
Elements can be inserted at the back of the queue and deleted from the front.
To insert an element, use the 'enqueue' operation to add it to the back of the queue.
To delete an element, use the 'dequeue' operation to remove it from the front of the queue.
Insertion and deletion operations in a queue have a time complexity of O(1).
Function overriding is when a subclass provides a specific implementation of a method that is already provided by its parent class.
Occurs in inheritance when a subclass has a method with the same name and parameters as a method in its superclass
The method in the subclass overrides the method in the superclass
Used to achieve runtime polymorphism in object-oriented programming
Example: class Animal { void sound() { S...
Given two strings S1
and S2
comprised of lowercase alphabets, determine the list of characters that are uncommon between these strings. A character is considered uncom...
Given two strings, find uncommon characters in lexicographical order.
Iterate through each character in both strings and keep track of their frequency using a hashmap.
Iterate through the hashmap and add characters with frequency 1 to the result list.
Sort the result list in lexicographical order and return it as the final output.
I applied via Campus Placement and was interviewed in Aug 2024. There were 3 interview rounds.
45 minutes
arrays, strings,
SHL
To find number of nodes in a tree, perform a depth-first or breadth-first traversal and count the nodes. Time complexity is O(n).
Perform a depth-first or breadth-first traversal of the tree
Count the nodes as you traverse the tree
Time complexity is O(n) where n is the number of nodes in the tree
Abstraction is the concept of hiding complex implementation details and showing only the necessary information.
Abstraction allows developers to focus on the essential features of an object or system.
It helps in reducing complexity and improving efficiency in software development.
Implement abstraction in programming by using abstract classes and interfaces.
Example: In a car, we don't need to know the internal workings o...
The minimum number of coins to reach a target amount can be calculated using dynamic programming.
Use dynamic programming to calculate the minimum number of coins needed to reach the target amount.
Start by initializing an array to store the minimum number of coins needed for each amount from 0 to the target amount.
Iterate through the coin denominations and update the minimum number of coins needed for each amount based ...
Convert byte stream to human readable format without using library
Iterate through the byte stream and convert each byte to its ASCII character representation
Concatenate the ASCII characters to form the human readable format
Handle special characters and edge cases appropriately
I applied via Campus Placement and was interviewed in Jul 2021. There were 4 interview rounds.
I appeared for an interview in Jan 2021.
Round duration - 60 Minutes
Round difficulty - Easy
The first round was conducted on HackerRank platform and comprised of 10 MCQs and 2 coding questions.
Both the coding questions expected optimised solution (brute force wouldn’t work).
You are provided with an array of positive integers ARR
that represents the strengths of different “jutsus” (ninja techniques). You are also given the strength of the ene...
Count the number of subarrays whose combined strength matches the given enemy strength.
Iterate through all subarrays and calculate their sum to check if it matches the enemy strength.
Use two pointers technique to efficiently find subarrays with sum equal to the enemy strength.
Consider edge cases like when the enemy strength is 0 or when all elements in the array are equal to the enemy strength.
Your task is to determine the minimum number of platforms required at a railway station so that no train has to wait.
Given two arrays:
AT
- represent...Determine the minimum number of platforms needed at a railway station so that no train has to wait.
Sort the arrival and departure times arrays in ascending order.
Use two pointers to iterate through the arrays and keep track of the number of platforms needed.
Increment the number of platforms needed when a train arrives and decrement when a train departs.
Return the maximum number of platforms needed at any point.
Round duration - 60 Minutes
Round difficulty - Medium
The interview began with my introduction. The interviewer was very friendly and asked me a few questions about myself, my hobbies, etc.
You are given a sequence of numbers, ARR
. Your task is to return a sorted sequence of ARR
in non-descending order using the Merge Sort algorithm.
The Merge Sort...
Implement Merge Sort algorithm to sort a sequence of numbers in non-descending order.
Divide the input array into two halves recursively until each array has only one element
Merge the sorted halves to produce a completely sorted array
Time complexity of Merge Sort is O(n log n)
Example: Input: [3, 1, 4, 1, 5], Output: [1, 1, 3, 4, 5]
You are given an array of integers. The task is to remove all duplicate elements and return the array while maintaining the order in which the elements were provided.
Remove duplicates from an array while maintaining order.
Use a set to keep track of unique elements.
Iterate through the array and add elements to the set if not already present.
Convert the set back to an array to maintain order.
Round duration - 60 Minutes
Round difficulty - Easy
This was conducted on the Codepair platform on HackerRank and the interviewer was in face-time with me. There were 3 questions to be coded.
Given an unsorted array of integers, modify the array such that all the zeroes are moved to the end, while maintaining the order of non-zero elements as they appear or...
Move all zeroes to the end of an unsorted array while maintaining the order of non-zero elements.
Iterate through the array and maintain two pointers - one for non-zero elements and one for zeroes.
Swap non-zero elements with zeroes to move zeroes to the end of the array.
Maintain the relative order of non-zero elements while moving zeroes to the end.
Create a base class called Shape
that contains a field named shapeType
and a method printMyType
.
Implement two derived classes:
Create base class Shape with field shapeType and method printMyType. Implement Square and Rectangle classes with calculateArea method.
Create a base class Shape with shapeType field and printMyType method.
Implement Square and Rectangle classes inheriting from Shape.
Include additional fields and methods in Square and Rectangle classes.
Override printMyType method in Square and Rectangle classes to output their respective ...
Given an undirected and disconnected graph G(V, E)
, where V
is the number of vertices and E
is the number of edges, the connections between vertices are provided in the 'GR...
DFS traversal to find connected components in an undirected and disconnected graph.
Use Depth First Search (DFS) algorithm to traverse the graph and find connected components.
Maintain a visited array to keep track of visited vertices.
For each unvisited vertex, perform DFS to explore all connected vertices and form a connected component.
Repeat the process until all vertices are visited and print the connected components.
Tip 1 : Only write what your confident in cv
Tip 2 : Practice ds and algo problems with consistency
Tip 3 : Prepare for company specific questions
Tip 1 : Skills relevant to Job Description
Tip 2 : Be confident about things mentioned in cv
I appeared for an interview before Jan 2021.
Round duration - 60 minutes
Round difficulty - Easy
It was a 60 minute online coding round. 2 programming questions were asked in this round.
Your task is to determine the minimum number of platforms required at a railway station so that no train has to wait.
Given two arrays:
AT
- represent...Determine the minimum number of platforms needed at a railway station so that no train has to wait.
Sort the arrival and departure times arrays in ascending order.
Use two pointers to iterate through the arrays and keep track of the number of platforms needed.
Increment the number of platforms needed when a train arrives and decrement when a train departs.
Return the maximum number of platforms needed at any point in time.
Given two strings S1
and S2
comprised of lowercase alphabets, determine the list of characters that are uncommon between these strings. A character is considered unco...
Given two strings, find uncommon characters in lexicographical order.
Iterate through each character in both strings and keep track of their frequency using a hashmap.
Iterate through the hashmap and add characters with frequency 1 to the result list.
Sort the result list in lexicographical order and return it as the final output.
Round duration - 35 minutes
Round difficulty - Easy
The first one was a technical interview lasting for about 35 minutes.
Firstly, he asked me to introduce myself. I told about my academics, family, achievements, strengths and hobbies. He asked about my father's occupation and what and why have I got to learn from his work. I told my hobbies as playing logical games and solving logical questions as well as net-surfing.
He asked which type of websites do I visit and why. He asked me the areas of interest. And I told C, C++ and java. And, I prefer C++ more. He asked some basic theoretical questions. He gave me two programs to implement. Then, he gave me two SQL queries and also asked some questions on OS concepts. Then, he came to my project and asked about all my three projects done thoroughly with architecture and coding.
Later, he asked two puzzles and I answered them correctly.
Your task is to interchange the values of two numbers given as variables 'X' and 'Y' without using a temporary variable or any additional variable.
Y...
Swap two numbers without using a temporary variable.
Use bitwise XOR operation to swap the values of X and Y without using a temporary variable.
The XOR operation works by toggling the bits of the numbers.
Example: X = 10, Y = 20. X = X XOR Y, Y = X XOR Y, X = X XOR Y. After swapping, X = 20, Y = 10.
Elements can be inserted at the back of the queue and deleted from the front.
To insert an element, use the 'enqueue' operation to add it to the back of the queue.
To delete an element, use the 'dequeue' operation to remove it from the front of the queue.
Insertion and deletion operations in a queue have a time complexity of O(1).
A deadlock is a situation in which two or more processes are unable to proceed because each is waiting for the other to release a resource.
Deadlock occurs when processes have acquired resources and are waiting for additional resources that are held by other processes.
Four necessary conditions for deadlock are mutual exclusion, hold and wait, no preemption, and circular wait.
Solutions to deadlock include prevention, avo...
Process synchronization is the coordination of multiple processes to ensure they do not interfere with each other while accessing shared resources.
Preventing race conditions by using synchronization mechanisms like locks, semaphores, and monitors
Ensuring mutual exclusion to prevent multiple processes from accessing shared resources simultaneously
Implementing synchronization to maintain the order of execution and avoid ...
C is a procedural programming language while C++ is an object-oriented programming language with features like classes and inheritance.
C is a procedural programming language, while C++ is a multi-paradigm language with support for object-oriented programming.
C does not support classes and objects, while C++ does.
C does not have features like inheritance and polymorphism, which are present in C++.
C is a subset of C++, m...
A friend function in OOP is a function that is not a member of a class but has access to its private and protected members.
Friend functions are declared inside a class with the 'friend' keyword.
They can access private and protected members of the class.
They are not member functions of the class, but have the same access rights as member functions.
Friend functions are often used for operator overloading or to allow exte...
Multithreading allows for concurrent execution of tasks, improving performance and responsiveness.
Improved performance by utilizing multiple CPU cores efficiently
Enhanced responsiveness as tasks can run concurrently without blocking each other
Better resource utilization by allowing tasks to be executed in parallel
Facilitates easier handling of complex tasks by breaking them into smaller threads
Examples: Web servers han...
Function overriding is when a subclass provides a specific implementation of a method that is already provided by its parent class.
Occurs in inheritance when a subclass has a method with the same name and parameters as a method in its superclass
The method in the subclass overrides the method in the superclass
Used to achieve runtime polymorphism in object-oriented programming
Example: class Animal { void sound() { System...
Tip 1 : Must do Previously asked Interview as well as Online Test Questions.
Tip 2 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 3 : Do at-least 2 good projects and you must know every bit of them.
Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more.
Top trending discussions
I applied via Company Website and was interviewed before Oct 2019. There were 4 interview rounds.
I applied via Campus Placement and was interviewed before Nov 2021. There were 3 interview rounds.
Numerical and logical aptitude test
There are 5 rounds on datastructure and algorithm
posted on 16 Sep 2021
I appeared for an interview before Sep 2020.
Round duration - 50 minutes
Round difficulty - Easy
This was a Data Structural round.
Given a two-dimensional array/list consisting of integers 0s and 1s, where 1 represents land and 0 represents water, determine the number of distinct islands. A group of...
Count the number of distinct islands in a 2D array of 0s and 1s.
Identify islands by performing depth-first search (DFS) on the grid
Use a set to store the shape of each island and check for duplicates
Consider translations to determine distinct islands
Round duration - 50 minutes
Round difficulty - Easy
This was a Data Structural round.
You are tasked with arranging 'N' words of varying lengths such that each line contains at most 'M' characters, with each word separated by a space. The challenge is to minimiz...
The goal is to minimize the total cost of arranging 'N' words on each line with a maximum character limit 'M'.
Calculate the cost of each line as the cube of extra space characters needed to reach 'M'.
Minimize the total cost by arranging words to fit within the character limit on each line.
Ensure each word appears fully on one line without breaking across lines.
Round duration - 60 minutes
Round difficulty - Easy
This was a System Design round.
Design a system similar to Red Bus for handling bookings and onboarding vendors and customers.
Implement a user-friendly interface for customers to search and book tickets
Create a vendor portal for vendors to manage their offerings and availability
Include payment gateway integration for secure transactions
Develop a robust backend system for managing bookings, cancellations, and refunds
Utilize a database to store user in...
Round duration - 50 minutes
Round difficulty - Easy
This was a System Design round
Round duration - 50 minutes
Round difficulty - Easy
This was an HR round.
Tip 1 : Practice as much as you can.
Tip 2 : Prepare for company, not in general.
Tip 3 : Your past work should be objective and your contribution should be very clear
Tip 1 : Keep only relevant things for the job you are applying.
Tip 2 : Minimal data with measurable contribution and effect.
I applied via Monster and was interviewed before Apr 2020. There was 1 interview round.
Some of the top questions asked at the SAP Software Developer Intern interview for freshers -
based on 1 interview experience
Difficulty level
Duration
based on 3 reviews
Rating in categories
Software Developer
1.3k
salaries
| ₹13.9 L/yr - ₹27 L/yr |
Developer Associate
1k
salaries
| ₹10.8 L/yr - ₹18.6 L/yr |
Developer
897
salaries
| ₹15.4 L/yr - ₹27.8 L/yr |
Senior Developer
574
salaries
| ₹25.5 L/yr - ₹45 L/yr |
Business Process Consultant
493
salaries
| ₹17 L/yr - ₹35 L/yr |
Oracle
SAS
Zoho
IBM