Samsung
Proud winner of ABECA 2024 - AmbitionBox Employee Choice Awards
Filter interviews by
I was interviewed before Sep 2020.
Round duration - 180 minutes
Round difficulty - Medium
In this round, you have to do a coding question on Samsung Coding Platform, which was installed earlier on our lab's system by the company guys. There is only a single question and time limit is of 3 hrs. There are 50 test cases, and you have to pass all the test cases in order to get selected for next round. Also you cannot use any inbuilt library and you have to implement everything from scratch (like stack, queue, hashmap, etc). You can test your code on sample test cases multiple times but the submission limit in only 5, to test the hidden test cases.
Note : Even passing 49 test cases will lead to rejection.
Round duration - 30 minutes
Round difficulty - Medium
There were two questions based on data structures and algorithms and some discussion on the Projects mentioned in resume (Major Project based on Arduino - It's programming and its functionality) .
Given an array/list ARR
of size N
, representing an elevation map where each element ARR[i]
denotes the elevation of the i-th
bar. Your task is to calculate and print ...
Calculate the total amount of rainwater that can be trapped between given elevations in an array.
Use two-pointer approach to keep track of left and right boundaries.
Calculate the trapped water by finding the minimum of maximum heights on left and right sides for each bar.
Sum up the trapped water for all bars to get the total amount of rainwater trapped.
Create a Stack data structure designed specifically to store integer data using two queues.
You need to implement a stack using two internal queues. You can u...
Implement a Stack using Queues to store integer data with push, pop, top, size, and isEmpty functions.
Use two queues to simulate a stack, with one queue acting as the main stack and the other for temporary storage.
For push operation, enqueue the new element to the temporary queue, then dequeue all elements from the main queue to the temporary queue, and finally swap the queues.
For pop operation, dequeue the top element...
You are tasked with implementing a Stack data structure specifically designed to store integer data using two Queues. Utilize the inbuilt Queue for this purpose.
Implement a Stack data structure using two Queues for integer data.
Use two Queues to simulate the Stack behavior.
Push elements by enqueueing them in one Queue.
Pop elements by dequeueing all elements from the first Queue to the second Queue, except the last one.
Top element can be retrieved by dequeuing all elements from the first Queue to the second Queue and then dequeuing the last element.
Size can be obtained by retur...
Round duration - 30 minutes
Round difficulty - Medium
There were two coding questions and I had to write the code on paper.
After that there was a discussion on OOPS concepts like polymorphism and Inheritance.
The interviewer also discussed about padding concept in structures (Indirectly via an example).
Imagine a gold mine represented by a 2D matrix with dimensions 'N' by 'M', where 'N' is the number of rows and 'M' is the number of columns. Each cell in this matrix...
Find the maximum amount of gold a miner can collect from a gold mine by moving right, up diagonally, or down diagonally.
Use dynamic programming to keep track of the maximum gold collected at each cell.
At each cell, consider the maximum gold collected from the cell above, below, and to the left.
Add the current cell's gold value to the maximum gold collected from the adjacent cells to determine the maximum gold at the cu...
Given a rod of length 'N' units, you can cut the rod into different sizes, each with a specific cost associated. The task is to determine the maximum obtainable cost by cutti...
Given a rod of length 'N' with associated costs, find the maximum obtainable cost by cutting the rod optimally.
Implement dynamic programming approach to solve the rod cutting problem efficiently.
Consider all possible ways of cutting the rod and choose the one that maximizes the total cost.
Keep track of subproblems to avoid redundant calculations.
Example: For rod length 4 with costs [2, 5, 7, 8], the maximum cost would
Round duration - 15 minutes
Round difficulty - Easy
Interviewer was friendly. He asked why Samsung, are you comfortable relocating to Bangalore. Also asked about my experience in previous rounds.
Tip 1 : Do practice a lot of coding problems specially Dynamic Programming. I pursued Coding Ninjas Interview preparation Course for cracking the interviews. Also prepared for DBMS, Operating systems and OOPS from Coding Ninjas notes.
Tip 2 : Always start with Brute force approach and then try to optimize it. Practice problems on paper more.
Tip 3 :Be confident during the interview and interact with the interviewer.
Tip 1:Keep your Resume short and crisp, in 1 Page. Have a complete understanding of the Projects mentioned in your resume.
Tip 2:Your interview always revolves around your resume. Go through it thoroughly before the interview.
I applied via Campus Placement
Samsung interview questions for designations
I applied via Campus Placement
Get interview-ready with Top Samsung Interview Questions
I applied via Campus Placement
I applied via Campus Placement and was interviewed in Dec 2016. There were 5 interview rounds.
I applied via Campus Placement and was interviewed in Dec 2016. There were 5 interview rounds.
The project is a web-based application for managing inventory and sales of a retail store.
Developed using Java and Spring framework
Includes features such as product management, order management, and customer management
Utilizes MySQL database for data storage
Implemented security measures such as authentication and authorization
Designed with a responsive user interface for optimal user experience
I am a software developer with a passion for coding and problem-solving. My hobbies include reading and playing video games.
Proficient in programming languages such as Java and Python
Strong problem-solving skills
Good communication and teamwork abilities
Weakness: Sometimes I tend to overthink and spend too much time on a problem
Hobbies: Reading books on technology and playing video games
I cannot make a commitment to staying at Samsung at this time.
I am open to exploring other opportunities
My decision will depend on various factors such as growth opportunities, work culture, and compensation
I value my time at Samsung and appreciate the experience gained
posted on 2 Dec 2016
I applied via Campus Placement and was interviewed in Dec 2016. There were 5 interview rounds.
DFS and BFS are two popular graph traversal algorithms used in computer science.
DFS stands for Depth First Search and explores as far as possible along each branch before backtracking.
BFS stands for Breadth First Search and explores all the vertices at the present depth before moving on to the next level.
DFS uses a stack data structure to keep track of visited nodes while BFS uses a queue.
DFS is useful for finding path...
Double pointers are used to store the address of a pointer variable.
Double pointers are useful in dynamic memory allocation.
They are used to modify the value of a pointer passed to a function.
They can be used to create linked lists and trees.
Example: int **ptr; //declares a double pointer to an integer
Permutations of an array
Permutations are all possible arrangements of elements in an array
Number of permutations for an array of length n is n!
Use recursion to generate all permutations
Swap elements to generate different permutations
My first biggest failure was not being able to clear an important exam in high school.
Failed to manage time effectively
Did not seek help from teachers or peers
Did not practice enough
Learned the importance of preparation and seeking help
Improved study habits and time management skills
Count the number of '-' characters in a string and return 1 if it matches the given number, else return 0.
Use a loop to iterate through each character in the string and count the number of '-' characters.
Compare the count with the given number and return 1 if they match, else return 0.
Handle edge cases such as empty string or negative number input.
Functions to create and delete nodes in a stack
To create a stack, initialize a top pointer to null
To push a node, create a new node and set its next to the current top, then set top to the new node
To pop a node, set top to its next and return the popped node
To delete the stack, pop all nodes until top is null
Code for producer-consumer problem using mutex
Create a shared buffer with a fixed size
Create a mutex to control access to the buffer
Create a semaphore to keep track of the number of items in the buffer
Create a producer thread that adds items to the buffer
Create a consumer thread that removes items from the buffer
Use mutex to lock the buffer while adding or removing items
Use semaphore to signal when the buffer is full o
Mutex and Semaphore are synchronization primitives used in multi-threaded environments.
Mutex is used to provide mutual exclusion to a shared resource, allowing only one thread to access it at a time.
Semaphore is used to control access to a shared resource, allowing multiple threads to access it at a time.
Mutex is binary, meaning it has only two states - locked and unlocked, while Semaphore can have multiple states.
Mute...
Virtual addressing is a memory management technique that allows a process to use a range of memory addresses independent of physical memory.
Virtual addresses are mapped to physical addresses by the memory management unit (MMU)
Virtual addresses are allocated to a process during its execution
Virtual addressing allows for efficient use of physical memory by allowing multiple processes to share the same physical memory
Exam...
Deadlock is a situation where two or more processes are unable to proceed because they are waiting for each other to release resources.
Prevent deadlock by using a proper resource allocation strategy
Avoid holding onto resources for too long
Use timeouts to release resources if they are not being used
Implement a deadlock detection and recovery mechanism
Avoid circular wait by imposing a total ordering of all resource types
Program to find the only duplicate in an array
Create a hash set to store elements as they are encountered
If an element is already in the hash set, it is a duplicate
Return the duplicate element
Virtual memory is still needed even with large physical memory. Paging helps manage memory efficiently.
Virtual memory allows for larger programs to run than physical memory can handle
Paging helps manage memory efficiently by swapping out unused pages to disk
Virtual memory also allows for memory protection and sharing between processes
Examples of programs that require virtual memory include video editing software and la
To find the middle of a linked list, use two pointers - one moving at twice the speed of the other.
Initialize two pointers - slow and fast
Move the slow pointer one step at a time and the fast pointer two steps at a time
When the fast pointer reaches the end of the list, the slow pointer will be at the middle
Time complexity of building a heap using linked list and arrays
Building a heap using linked list takes O(nlogn) time complexity
Building a heap using arrays takes O(n) time complexity
Linked list implementation is slower than array implementation
Top trending discussions
Some of the top questions asked at the Samsung Software Developer interview -
based on 10 interviews
5 Interview rounds
based on 34 reviews
Rating in categories
Sales Executive
1.1k
salaries
| ₹0 L/yr - ₹0 L/yr |
Assistant Manager
959
salaries
| ₹0 L/yr - ₹0 L/yr |
Software Engineer
871
salaries
| ₹0 L/yr - ₹0 L/yr |
Manager
526
salaries
| ₹0 L/yr - ₹0 L/yr |
Senior Engineer
481
salaries
| ₹0 L/yr - ₹0 L/yr |
Apple
LG Electronics
Sony
Xiaomi