
Samsung Research


Samsung Research Software Development Engineer Interview Questions and Answers
Q1. You are given a thread and you are unlocked in a room.Measure the height of the room using string.
Measure the height of a room using a thread.
Tie one end of the thread to a known height point, such as a door handle.
Hold the other end of the thread and let it hang down to the floor.
Mark the point where the thread touches the floor.
Repeat the process at different points in the room to get multiple measurements.
Take the average of the measurements to estimate the height of the room.
Q2. Print linked list in reverse order
To print a linked list in reverse order, we can use recursion or a stack data structure.
Recursion: Traverse the linked list recursively until the end, then print the current node.
Stack: Traverse the linked list and push each node onto a stack. Then pop and print the nodes from the stack.
Q3. Process Scheduling in operating system
Process scheduling is the method by which the operating system decides the order in which processes are executed.
Process scheduling determines the fairness and efficiency of resource allocation.
Different scheduling algorithms prioritize different factors such as CPU utilization, response time, and throughput.
Examples of scheduling algorithms include First-Come, First-Served (FCFS), Round Robin, and Shortest Job Next (SJN).
Q4. Deadlock in operating system
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 two or more processes are stuck in a circular wait.
Four necessary conditions for deadlock are mutual exclusion, hold and wait, no preemption, and circular wait.
Examples of deadlock prevention techniques include resource allocation graphs and bankers' algorithm.
Deadlock avoidance techniques involve resource scheduling alg...read more
Q5. Dijkstra algorithm
Dijkstra algorithm is a graph search algorithm that finds the shortest path between nodes in a weighted graph.
Dijkstra algorithm uses a priority queue to select the node with the smallest distance from the source node.
It maintains a distance array to keep track of the shortest distance from the source node to each node in the graph.
The algorithm iteratively selects the node with the smallest distance and updates the distances of its neighboring nodes.
It continues until all no...read more
Q6. Bankers algorithm
Banker's algorithm is a resource allocation and deadlock avoidance algorithm used in operating systems.
Banker's algorithm is used to prevent deadlock in a system with multiple processes and resources.
It works by simulating the allocation of resources to processes and checking if it leads to a safe state.
The algorithm considers the current allocation, maximum needs, and available resources to make decisions.
If a request for resources cannot be granted without leading to an uns...read more

Top Software Development Engineer Interview Questions from Similar Companies





Reviews
Interviews
Salaries
Users/Month

