Samsung
Proud winner of ABECA 2024 - AmbitionBox Employee Choice Awards
Filter interviews by
Operating system uses memory protection to prevent modification of const variables like const int i=5;
Operating system marks the memory page containing i as read-only
Any attempt to modify i will result in a segmentation fault
Compiler may optimize code by replacing i with its value at compile time
Explanation of memory layout in main memory of computer system.
Main memory is divided into four segments: stack, heap, data, and code.
Stack stores local variables and function calls.
Heap stores dynamically allocated memory.
Data stores global and static variables.
Code stores the program instructions.
Example: int x; //stored in data segment, int *p = new int; //stored in heap segment
Two methods to allocate memory in C are malloc and calloc. Malloc allocates memory block of given size while calloc initializes the allocated memory block to zero.
Malloc allocates memory block of given size while calloc initializes the allocated memory block to zero.
Malloc returns a pointer to the first byte of allocated memory block while calloc returns a pointer to the first byte of initialized memory block.
Malloc is...
new() is an operator in C++ used for dynamic memory allocation.
new() returns a pointer to the allocated memory.
It can be used to allocate memory for primitive data types, arrays, and objects.
Memory allocated using new() must be deallocated using delete operator.
Example: int *ptr = new int;
Example: int *arr = new int[10];
Example: MyClass *obj = new MyClass();
malloc and new are used to allocate memory dynamically. Malloc is faster but new is safer.
malloc is a C function while new is a C++ operator
malloc only allocates memory while new also initializes the memory
new throws an exception if allocation fails while malloc returns NULL
malloc is faster because it does not involve constructor calls
new is safer because it ensures type safety and prevents memory leaks
extern and static are storage classes in C programming language.
extern is used to declare a variable or function that is defined in another file or module.
static is used to declare a variable or function that is local to a file or module.
Example of extern: extern int count; //declares count variable defined in another file.
Example of static: static int count = 0; //declares count variable local to the file.
The two statements are equivalent and declare a pointer to a constant integer.
Both statements declare a pointer to an integer that cannot be modified through the pointer.
The 'const' keyword can be placed before or after the 'int' keyword.
The pointer itself can still be modified to point to a different integer.
Example: const int *p; and int const *p; both declare a pointer to a constant integer.
Cannot modify value pointed by p, but can change the address it points to.
p is a pointer to a constant integer with value 5
a) is valid as p can point to a non-constant integer
b) is invalid as *p is a constant and cannot be modified
Self referential structure is a structure that contains a pointer to the same type of structure.
It allows a structure to reference itself within its own definition.
It is commonly used in linked lists, trees, and graphs.
Example: struct Node { int data; struct Node *next; };
Here, the Node structure contains a pointer to another Node structure.
Structure and union are data structures in C language. Union stores only one value at a time while structure stores multiple values.
Structure is used to store different data types while union is used to store only one data type at a time.
Structure allocates memory for all its members while union allocates memory for only the largest member.
Structure is used when we want to store multiple values of different data types ...
Structure byte padding is the insertion of unused bytes between structure members to align them in memory.
Padding is added to ensure that each member of a structure is aligned on a memory boundary that is a multiple of its size.
The amount of padding added depends on the size and alignment requirements of the members.
Padding can affect the size of a structure and the performance of code that uses it.
For example, a struc...
To check if a linked list is circular, we can use Floyd's cycle-finding algorithm.
Floyd's cycle-finding algorithm uses two pointers, one moving at twice the speed of the other.
If the linked list is circular, the fast pointer will eventually catch up to the slow pointer.
If the linked list is not circular, the fast pointer will reach the end of the list and the algorithm will terminate.
Windows is a proprietary operating system developed by Microsoft.
Windows is a graphical user interface (GUI) based operating system.
It is designed to run on personal computers, servers, and mobile devices.
Windows has different versions such as Windows 10, Windows 8, Windows 7, etc.
It supports a wide range of software applications and hardware devices.
Windows is known for its ease of use and user-friendly interface.
UNIX is an operating system developed in the 1970s, while LINUX is a free and open-source operating system based on UNIX.
UNIX is proprietary, while LINUX is open-source
UNIX is older and has a longer history, while LINUX is a newer development
UNIX is more stable and reliable, while LINUX is more customizable and flexible
UNIX has a more limited user base, while LINUX has a larger and more active community
Examples of UNIX...
A real-time operating system is an OS that processes data and events as they occur, without delay.
Real-time operating systems are used in applications that require immediate response, such as aviation, medical equipment, and industrial control systems.
They prioritize tasks based on their urgency and importance, and can handle multiple tasks simultaneously.
Examples of real-time operating systems include VxWorks, QNX, an
There are 6 types of CPU scheduling: FCFS, SJF, SRTF, Priority, Round Robin, and Multilevel Queue. Each has its own advantages and disadvantages.
FCFS (First-Come-First-Serve) - processes are executed in the order they arrive
SJF (Shortest-Job-First) - shortest job is executed first
SRTF (Shortest-Remaining-Time-First) - preemptive version of SJF
Priority - processes with higher priority are executed first
Round Robin - eac...
No, there is no ideal CPU scheduling possible.
CPU scheduling is a complex problem with many variables.
Different scheduling algorithms are suited for different scenarios.
The ideal scheduling algorithm would depend on the specific system and workload.
For example, a real-time system would require a different scheduling algorithm than a batch processing system.
To set process priority in Windows and Linux, use task manager and nice command respectively.
In Windows, open task manager, right-click on the process and select 'Set Priority'
In Linux, use the 'nice' command followed by the process name or ID and the priority level (values range from -20 to 19)
Higher priority levels mean the process will get more CPU time
Examples: 'nice -n 10 firefox' sets Firefox priority to 10 in Li...
The priority of a mobile application depends on the business goals and user needs.
The priority of a mobile application can vary depending on the business goals and user needs.
For example, a mobile banking app may have a higher priority than a social media app for a bank.
On the other hand, a social media app may have a higher priority for a media company.
The priority can also depend on the target audience and the market...
Implement the game of Snakes and Ladders on LeetCode.
Use a 1D array to represent the board of the game.
Use a queue to perform BFS to find the shortest path to reach the end.
Handle the special cases of snakes and ladders by updating the position accordingly.
I applied via campus placement at Anna University and was interviewed in Feb 2024. There were 4 interview rounds.
In-person test in their office at Chennai
Hackerrank easy - medium difficulty
Samsung interview questions for designations
It was 1 hour online coding test in which there were 3 coding questions on basic DSA
Advanced DSA test of 4 hours containing 1 question
Get interview-ready with Top Samsung Interview Questions
Coding questions were given to solve in a time frame
They were asked on linked list merge
1 medium level question on DP. Need to run all the test cases to pass.
3 hours one question
Spark architecture is a distributed computing system that provides high-level APIs for big data processing.
Spark architecture consists of a cluster manager, a distributed storage system, and a computing engine.
Data in Spark is represented as Resilient Distributed Datasets (RDDs) or DataFrames.
Spark supports various data models, including batch processing, streaming, machine learning, and graph processing.
Spark's archit...
Top trending discussions
Some of the top questions asked at the Samsung Software Engineer interview -
The duration of Samsung Software Engineer interview process can vary, but typically it takes about less than 2 weeks to complete.
based on 21 interviews
5 Interview rounds
based on 129 reviews
Rating in categories
Sales Executive
1.1k
salaries
| ₹1 L/yr - ₹6.5 L/yr |
Assistant Manager
1k
salaries
| ₹5.5 L/yr - ₹19.3 L/yr |
Software Engineer
876
salaries
| ₹6.5 L/yr - ₹25 L/yr |
Manager
524
salaries
| ₹10.1 L/yr - ₹33.1 L/yr |
Senior Engineer
481
salaries
| ₹4.3 L/yr - ₹18 L/yr |
Apple
LG Electronics
Sony
Xiaomi