Samsung
Proud winner of ABECA 2024 - AmbitionBox Employee Choice Awards
Filter interviews by
Clear (1)
I applied via Campus Placement and was interviewed in Jan 2016. There were 3 interview rounds.
I applied via Campus Placement and was interviewed in Dec 2016. There were 5 interview rounds.
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
Yes, static variables can be defined in header files.
Static variables defined in header files have global scope within the file.
They can be accessed by any function within the file.
However, if the header file is included in multiple source files, each file will have its own copy of the static variable.
This can lead to unexpected behavior if the variable is modified in one file and then accessed in another.
It is general...
Yes, constant and volatile can be used together.
Constant variables are read-only and cannot be modified.
Volatile variables are used to indicate that the value may change unexpectedly.
Using both together can be useful in multi-threaded environments.
For example, a constant pointer to a volatile variable can be used to ensure thread safety.
Bi-directional linked list allows traversal in both directions, making it useful for certain algorithms.
Each node in the list has a reference to both the previous and next nodes.
Insertion and deletion operations are more complex than in a singly linked list.
Examples of use include implementing a browser's back and forward buttons or a text editor's undo and redo functionality.
OOPs properties and examples with applications
Encapsulation: bundling of data and methods within a class. Example: Java class. Application: data hiding and security.
Inheritance: creating a new class from an existing class. Example: subclass. Application: code reusability and extensibility.
Polymorphism: ability of an object to take on many forms. Example: method overloading. Application: flexibility and modularity.
Abstr...
Pointers and arrays are related concepts in C programming. Pointers hold memory addresses while arrays hold a collection of values.
Arrays are a collection of values stored in contiguous memory locations.
Pointers hold the memory address of a variable.
Arrays can decay into pointers when passed as arguments to functions.
Pointer arithmetic can be performed on pointers to access memory locations.
Pointers can be used to dyna
It depends on the specific use case and input size.
For small input sizes, simple algorithms like insertion sort or selection sort may be sufficient.
For larger input sizes, more complex algorithms like merge sort or quicksort may be more efficient.
For nearly sorted input, insertion sort may be the fastest.
For input with many duplicates, counting sort or radix sort may be the best choice.
For input with a known range, buc...
Check if a string is palindrome or not
Reverse the string and compare with original
Compare first and last characters and move towards center
Use recursion to check if first and last characters are equal
Samsung interview questions for designations
Get interview-ready with Top Samsung Interview Questions
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
873
salaries
| ₹0 L/yr - ₹0 L/yr |
Manager
526
salaries
| ₹0 L/yr - ₹0 L/yr |
Senior Engineer
483
salaries
| ₹0 L/yr - ₹0 L/yr |
Apple
LG Electronics
Sony
Xiaomi