Summary
I participated in an on-campus coding round with Samsung where I encountered a challenging graph problem. The experience highlighted the critical importance of choosing BFS over DFS for problems involving shortest paths or levels, as candidates using BFS achieved a perfect score on the problem.
Full Experience
I recently participated in an actual on-campus coding round conducted by Samsung at my college. In Round 1, we were given 3 hours to solve a single problem. The question involved a square matrix, seven types of pipes, each allowing movement in specific directions, a starting position, and the task was to compute the maximum number of reachable steps from that position through valid pipe connections.
Many of my peers attempted this problem using DFS. Out of 50 test cases, those who used DFS typically passed around 42. However, candidates who used BFS received a perfect 50/50. That round made one thing crystal clear to me: while DFS can explore, BFS guarantees correctness whenever distance, levels, or minimal steps matter. This insight led me to understand exactly why BFS worked flawlessly in that problem, and more importantly, when BFS is the right tool.
Interview Questions (1)
Given a square matrix and seven distinct types of pipes, each type allowing movement in specific directions. From a designated starting position within the matrix, the task is to compute the maximum number of reachable steps through valid pipe connections. The problem implies finding the farthest reachable node in a graph where nodes are matrix cells and edges are valid pipe connections.
Summary
I participated in the Samsung SDE Online Assessment (OA) for 2025 on-campus recruitment, which featured a single coding question: a modified version of the LeetCode Burst Balloons problem.
Full Experience
I recently took part in the Samsung Software Development Engineer (SDE) Online Assessment for their 2025 on-campus hiring drive. The coding round was straightforward, presenting just one question. This problem was a variant of the well-known LeetCode Burst Balloons problem. The main differentiator was the scoring mechanism for bursting a balloon, which was slightly altered from the standard version. Successful candidates who passed all 50 test cases were then shortlisted for the subsequent interview rounds.
Interview Questions (1)
The problem was a modified version of the classic LeetCode Burst Balloons problem. Given n balloons, each with a numerical value. If I burst balloon i, the score obtained is calculated as the product of the value of the balloon immediately to its left and the value of the balloon immediately to its right. This differs from the standard problem where the value of the balloon being burst (nums[i]) is also multiplied. When a balloon is burst, its immediate neighbors become adjacent. Virtual balloons with a value of 1 are considered at the ends of the array. The objective is to find the maximum coins I can collect by bursting all balloons wisely.
Summary
I interviewed for a Senior Engineer position at Samsung, undergoing an online test, a technical round focused on data structures, algorithms, and system concepts, and a final HR discussion. I successfully navigated questions about finding triplets with a sum of zero and discussed my experience and career aspirations.
Full Experience
College: Tier-1 NIT
Years of Experience: 2 years
Round 1: Online Test (Medium to Tough Level)
1 question, 4 hours (Dynamic Programming question)Round 2: Technical Interview (1 hour)
The panel consisted of 2 interviewers. The role was related to Networking Development with a tech stack including C++, Linux, Docker, etc.The first question was about finding triplets with a sum of 0 in an array. I explained three methods: a brute-force approach, a two-pointer approach, and then they asked me to optimize further, which I did. They seemed very confident in my approach at that point.
Next, they asked questions on threading and multithreading, which I answered well.
They also asked about web development architectural patterns, several small questions on high-level design, optimization, and DSA concepts.
Round 3: HR Discussion & Technical Info (30 minutes)
The HR asked about my previous experience, reasons for switching jobs, why I wanted to change my tech stack, and we discussed salary expectations.Interview Questions (3)
Given an array of integers, find all unique triplets in the array which gives the sum of zero.
Questions related to threading and multithreading concepts were asked.
The HR asked about my previous experience, reasons for switching jobs, and why I wanted to change my tech stack.
Summary
This post describes a coding problem encountered during the Samsung R&D Noida Test 2025, which involves minimizing the sum of an array by removing one element daily and considering daily additions.
Full Experience
Given an array original array say y = [1,2,3,4,5] each day an addition array say x = [2,1,6,7,8] this is added to it. Now we need to find in which min day the total sum will be less than M. At each day we can remove any one element from the array. ex: Day 0 : [1,2,3,4,5] Now sum = 15 if its less than M then 0 is our answer. Note: On day 0 we don't remove any element. Day1: [1,2,3,4,5] + [2,1,6,7,8] = [3,3,9,11,13] Now we can remove any element say 11 . Now the sum is 3+3+9+0+13 = 28 if its less than M, then Day1 is our answer. if we can't achieve this then return -1.
Day2: [3,3,9,0,13] + [2,1,6,7,8] = [5,4,15,7,21] Now we can select any one element to remove say 15. so array becomes : [5,4,0,7,21]
and so on......
Constraints: M<10^6> Size of Array : N<20
Test Case 1: M = 1 original Array = [10,15] Daily Addition Array = [3,2] Ans = -1
Test Case 2: M = 33 original Array = [7,3,5,6,8,0,8] Daily Addition Array = [2,4,1,1,2,3,1] Ans = 6
Test Case 3: M = 92 original Array = [35,58,39] Daily Addition Array = [30,20,10] Ans = 2
Test Case 4: M = 905 original Array = [170,203,171,42,60,111,152] Daily Addition Array = [60,32,63,65,70,50,63] Ans = -1
Interview Questions (1)
Given an array original array say y = [1,2,3,4,5] each day an addition array say x = [2,1,6,7,8] this is added to it. Now we need to find in which min day the total sum will be less than M. At each day we can remove any one element from the array. ex: Day 0 : [1,2,3,4,5] Now sum = 15 if its less than M then 0 is our answer. Note: On day 0 we don't remove any element. Day1: [1,2,3,4,5] + [2,1,6,7,8] = [3,3,9,11,13] Now we can remove any element say 11 . Now the sum is 3+3+9+0+13 = 28 if its less than M, then Day1 is our answer. if we can't achieve this then return -1.
Day2: [3,3,9,0,13] + [2,1,6,7,8] = [5,4,15,7,21] Now we can select any one element to remove say 15. so array becomes : [5,4,0,7,21]
and so on......
Constraints: M<10^6> Size of Array : N<20
Test Case 1: M = 1 original Array = [10,15] Daily Addition Array = [3,2] Ans = -1
Test Case 2: M = 33 original Array = [7,3,5,6,8,0,8] Daily Addition Array = [2,4,1,1,2,3,1] Ans = 6
Test Case 3: M = 92 original Array = [35,58,39] Daily Addition Array = [30,20,10] Ans = 2
Test Case 4: M = 905 original Array = [170,203,171,42,60,111,152] Daily Addition Array = [60,32,63,65,70,50,63] Ans = -1
Summary
I recently took a coding assessment at Samsung and want to share a unique DSA problem involving greedy, two-pointer, and sorting techniques.
Full Experience
I recently took a coding assessment where one of the problems was based on a very interesting twist on greedy + two-pointer + sorting techniques — and I wanted to share the question for the community.
You're on a haunted straight road of length L with N ghosts positioned along it.
Each ghost is described by:
A position A[i] on the road (0 ≤ A[i] ≤ L)
A stamina level B[i]
You are allowed to trap exactly one ghost, and this ghost becomes your trap ghost. Starting from this position, you can move only to the right, hunting more ghosts under the following rules:
Rules for hunting: You may only hunt ghosts whose stamina is greater than or equal to the trap ghost's stamina.
Hunting a ghost costs energy equal to:
(distance from the trap)×(ghost’s stamina)
The total energy used must not exceed a given limit E.
Goal: Determine the maximum number of ghosts you can hunt including the trap ghost, under the above constraints.
Input:
L = 20
N = 5
E = 100
A = [2, 5, 10, 14, 18]
B = [3, 2, 4, 5, 6]
Output: 3
Explanation:
- If you trap the ghost at position 10 with stamina 4
- You can hunt ghosts at positions 14 (stamina 5) and 18 (stamina 6)
- Cost to hunt at 14: (14 - 10) * 5 = 20
- Cost to hunt at 18: (18 - 10) * 6 = 48
- Total cost: 20 + 48 = 68 ≤ 100
- Total ghosts hunted = 3 (at positions 10, 14, 18)
Interview Questions (1)
You're on a haunted straight road of length L with N ghosts positioned along it.
Each ghost is described by:
A position A[i] on the road (0 ≤ A[i] ≤ L)
A stamina level B[i]
You are allowed to trap exactly one ghost, and this ghost becomes your trap ghost. Starting from this position, you can move only to the right, hunting more ghosts under the following rules:
Rules for hunting: You may only hunt ghosts whose stamina is greater than or equal to the trap ghost's stamina.
Hunting a ghost costs energy equal to:
(distance from the trap)×(ghost’s stamina)
The total energy used must not exceed a given limit E.
Goal: Determine the maximum number of ghosts you can hunt including the trap ghost, under the above constraints.
Input:
L = 20
N = 5
E = 100
A = [2, 5, 10, 14, 18]
B = [3, 2, 4, 5, 6]
Output: 3
Explanation:
- If you trap the ghost at position 10 with stamina 4
- You can hunt ghosts at positions 14 (stamina 5) and 18 (stamina 6)
- Cost to hunt at 14: (14 - 10) * 5 = 20
- Cost to hunt at 18: (18 - 10) * 6 = 48
- Total cost: 20 + 48 = 68 ≤ 100
- Total ghosts hunted = 3 (at positions 10, 14, 18)
Summary
This post details a complex Data Structures and Algorithms problem, 'Logging Roadside Trees', which was part of a Samsung interview.
Full Experience
🪓 Problem: Logging Roadside Trees
The Korean Expressway Corporation is planning to expand the road where the volume of traffic is high. In order to expand the road, all the roadside trees nearby the road have to be chopped down.
To do this efficiently, they will rent a logging robot. However, the rental fee is high due to the high production cost, so we want to minimize the time taken by the robot.
🧠 The Logging Robot Has the Following Features:
- The robot can move forward and backward.
- Moving 1 unit takes 1 minute.
- The roadside trees (left or right side) can be cut and loaded, which takes 1 minutes per tree.
- Trees must be loaded in the order of their cut.
- Only a tree whose length is shorter than or equal to the previously loaded tree can be loaded.
- (i.e., non-increasing order of tree lengths)
- If there are trees on both sides (left and right), without moving, each can be cut and loaded if the above order condition is satisfied.
- The robot can load an infinite number of trees.
📐 Road Layout Description:
- The road is given as a straight line with a length of
N. - The first point (position
0) is the starting point. - The last point (position
N) is the ending point. - On each side (left and right), there may be one tree at most at every unit length, with varying lengths.
- It is possible that there are no trees at a particular position.
- At the starting and ending points, there are no trees planted.
📋 Input Format:
- The first line is an integer
N— the length of the road. - The next two lines contain the lengths of the trees at each point from
0toN:- First line:
L— tree lengths on the left side. - Second line:
R— tree lengths on the right side. - If there is no tree at a position, the length is given as 0.
- First line:
🧾 Output Format:
Print the shortest time (in minutes) that is required to cut down all the trees, starting from the starting point to the ending point.
🧪 Example:
Example 1:
N = 5
L = 0 3 2 1 0 0
R = 0 3 2 1 0 0
Output: 11 minutes
Example 2:
N = 7
L = 0 5 1 5 9 1 5 0
R = 0 0 0 0 0 0 0 0
Output: 23 minutes
Example 3:
N = 10
L = 0 7 3 5 7 7 1 0 5 8 0
R = 0 7 7 0 1 0 1 1 0 0 0
Output: 51 minutes
Interview Questions (1)
🪓 Problem: Logging Roadside Trees
The Korean Expressway Corporation is planning to expand the road where the volume of traffic is high. In order to expand the road, all the roadside trees nearby the road have to be chopped down.
To do this efficiently, they will rent a logging robot. However, the rental fee is high due to the high production cost, so we want to minimize the time taken by the robot.
🧠 The Logging Robot Has the Following Features:
- The robot can move forward and backward.
- Moving 1 unit takes 1 minute.
- The roadside trees (left or right side) can be cut and loaded, which takes 1 minutes per tree.
- Trees must be loaded in the order of their cut.
- Only a tree whose length is shorter than or equal to the previously loaded tree can be loaded.
- (i.e., non-increasing order of tree lengths)
- If there are trees on both sides (left and right), without moving, each can be cut and loaded if the above order condition is satisfied.
- The robot can load an infinite number of trees.
📐 Road Layout Description:
- The road is given as a straight line with a length of
N. - The first point (position
0) is the starting point. - The last point (position
N) is the ending point. - On each side (left and right), there may be one tree at most at every unit length, with varying lengths.
- It is possible that there are no trees at a particular position.
- At the starting and ending points, there are no trees planted.
📋 Input Format:
- The first line is an integer
N— the length of the road. - The next two lines contain the lengths of the trees at each point from
0toN:- First line:
L— tree lengths on the left side. - Second line:
R— tree lengths on the right side. - If there is no tree at a position, the length is given as 0.
- First line:
🧾 Output Format:
Print the shortest time (in minutes) that is required to cut down all the trees, starting from the starting point to the ending point.
🧪 Example:
Example 1:
N = 5
L = 0 3 2 1 0 0
R = 0 3 2 1 0 0
Output: 11 minutes
Example 2:
N = 7
L = 0 5 1 5 9 1 5 0
R = 0 0 0 0 0 0 0 0
Output: 23 minutes
Example 3:
N = 10
L = 0 7 3 5 7 7 1 0 5 8 0
R = 0 7 7 0 1 0 1 1 0 0 0
Output: 51 minutes
Summary
I encountered a coding problem during my Samsung R&D On-site Online Assessment in April 2025 involving medicine bottle delivery optimization.
Full Experience
Given N medicine bottles and M containers and each container has capacity to carry W[i] bottles.
The delivery van can take two containers (only one can also be loaded) to nearby hospital in single trip. Containers can be reused.
Find number of trips to deliver minimum N bottles. If not possible, print -1
Contraints
1 <= N,M,W[i] <= 1000
W.length == M
N = 5, M = 2 W[] = {1, 3} Output = 2
N = 6, M = 2 W[] = {4, 5} Output = -1
N = 720, M = 5 W[] = {27, 52, 119, 144, 124} Output = 5
I tried using 2d/3d DP but got TLE.
Interview Questions (1)
Given N medicine bottles and M containers and each container has capacity to carry W[i] bottles.
The delivery van can take two containers (only one can also be loaded) to nearby hospital in single trip. Containers can be reused.
Find number of trips to deliver minimum N bottles. If not possible, print -1
Contraints
1 <= N,M,W[i] <= 1000
W.length == M
N = 5, M = 2 W[] = {1, 3} Output = 2
N = 6, M = 2 W[] = {4, 5} Output = -1
N = 720, M = 5 W[] = {27, 52, 119, 144, 124} Output = 5
Summary
My interview for an Advanced Developer role at Samsung involved a deep dive into my internship project, fundamental Data Structures and Algorithms, two challenging aptitude questions, and discussions on core CS fundamentals, focusing heavily on problem-solving and logical thinking.
Full Experience
My Samsung Advanced Developer Interview Experience
During my interview, the discussion started with an in-depth exploration of my internship project at Samsung R&D, Bangalore. The interviewer probed me about potential single points of failure within the project and asked how I would approach addressing them. We also delved into the significance of 'doChoreographer' frames and how they could be utilized to pinpoint performance bottlenecks.
Following this, the focus shifted to fundamental Data Structures and Algorithms. I was asked about various traversal algorithms for trees and graphs, with an emphasis on their real-world applications and use cases.
The interviewer then presented two aptitude questions that required logical reasoning and problem-solving:
- The Scooter and Tires problem.
- The Weighing Coins problem.
After these aptitude challenges, we transitioned back to Data Structures and Algorithms. The conversation covered Dijkstra's Algorithm, Bellman-Ford, and Floyd-Warshall, where I discussed their time and space complexities. There was also a brief mention of a dynamic programming problem involving directed graphs that had appeared in the SWC Advanced test.
Finally, the interview concluded with a discussion on core Computer Science fundamentals, including semaphores, threads, locking mechanisms, critical sections, race conditions, and various strategies to handle these concurrency issues. Throughout the entire interview, I felt the emphasis was predominantly on assessing my problem-solving capabilities and logical thinking rather than just theoretical recall.
Interview Questions (2)
You have a scooter with two tires and a third spare tire. Each tire can last for 5 km. The task is to find the maximum distance you can travel.
You are given 10 bags of coins, with one bag weighing differently. The challenge is to determine the minimum number of weighings required to identify the odd bag.
Summary
I interviewed for a Software Engineer New Grad position at Samsung R&D Bangalore, which included two coding rounds, a technical round focusing on DSA, OOPS, OS, and projects, and a brief HR discussion. I successfully received an offer within three working days.
Full Experience
I interviewed for a New Grad Software Engineer position at Samsung R&D Bangalore. My journey started with two coding rounds, followed by a detailed technical interview, and concluded with a brief HR discussion.
Coding Round 1 (Cocubes Round) - July 15, 2022
This round involved solving two medium-difficulty coding questions within 60 minutes.Coding Round 2 (SWC Advanced Test) - July 21, 2022
This was a more challenging round, requiring me to solve one medium to hard question in 180 minutes. We had only 5 attempts for a successful submission. Clearing this round felt like accomplishing 90% of the interview process.Technical Round 1 - August 5, 2022
This round lasted about 1 hour 15 minutes. The interviewer started by asking about my favorite data structures, to which I listed vector, Hashmap, Heap, Stack, Binary Tree, and Trie. He then presented two DSA questions, asking me to code them on an online editor while sharing my screen. After coding each, we discussed their time and space complexities.Following the DSA problems, the discussion moved to OOPS (C++) and Operating Systems. I was asked several conceptual questions, some of which required me to write code examples to illustrate my understanding. The interviewer was very supportive throughout this process. We then discussed my projects, specifically questions related to Android architecture and Flutter.
HR Round - August 8, 2022
This round was very brief, lasting around 7 minutes, and felt more like a discussion as the interviewer was quite busy. He inquired about my reasons for leaving my current organization and my availability to join SRIB. Towards the end, he informed me about the compensation package.Result: I was selected and received the offer letter within three working days. I considered the difficulty of questions, time allocated, and interviewer support when assessing the difficulty levels.
Interview Questions (17)
What is polymorphism in C++ and explain its types?
How do you achieve runtime polymorphism? I was asked to write the whole code with a real-life example.
What is abstract class and pure virtual function in C++?
What do you mean by late binding and early binding?
Explain semaphore and mutex in detail with their constructs.
Explain paging vs segmentation advantages?
What is Virtual Memory?
What is MMU?
What is Android architecture?
Difference between scaffold and container in flutter?
Why do you want to leave your current organization?
How soon can you join SRIB?
Preparation Tips
I had practiced a good number of LeetCode problems, with my count around 800 and a rating of 1823. My preparation focused on standard DSA concepts and problem-solving. For OOPS and OS, I revised key concepts and was ready to explain them with code examples where necessary. For projects, I ensured I understood the underlying architecture and specific components mentioned in my resume.
Summary
I successfully interviewed for an SDE-1 position at Samsung R&D India as a 2020 graduate, receiving an offer. The interview process consisted of an online coding exam, two in-depth technical rounds, and a final HR/managerial discussion.
Full Experience
I recently participated in the on-campus recruitment drive for Samsung R&D India, targeting 2020 graduates. The entire process involved four rounds: one online exam, two technical interviews, and one HR/managerial interview.
Round 1: Online Exam
The first round was an online exam conducted on Samsung's internal platform, the Samsung SWC exam platform. It featured just one coding question, but it was to be completed in 3 hours. The difficulty was medium-hard, leaning more towards hard. The crucial aspects were:
- Clearing almost 50 test cases, with success required for every single one.
- No autocomplete IDE features were allowed.
- No standard libraries could be used, other than print statements, which meant creating my own data structures like HashMap.
The questions typically cover DP, Hash, Heap, and Arrays. My specific question was a variation of the Burst Balloons problem.
Round 2: First Technical Round
This was a face-to-face round focused on my projects, technical depth in core subjects, and Data Structures & Algorithms (DSA). Since I worked with Java, I was questioned extensively on topics like Java OOPS, immutability, Garbage Collection (GC) mechanics, and String pool concepts.
For DSA, I had to write code snippets on paper, which emphasized the importance of writing clean, proper, and understandable code without mistakes. The topics covered included:
- Linked List: finding loops, meeting points, and reversal. I discussed problems similar to Reverse Linked List and Linked List Cycle II.
- Tree: mirroring and shortest path to a leaf. I was asked questions similar to Symmetric Tree.
- Heaps: finding the median of a continuous stream of data, similar to Find Median from Data Stream.
Self-confidence was key here; the interviewers were friendly and helpful, encouraging me to give my best approach even if I made a mistake.
Round 3: Second Technical Round
This round followed quickly after the first technical one, covering DSA, algorithms, core subject basics, and some puzzles. Again, code was written on paper. Key topics included:
- Linked List: Re-emphasizing loop detection, but this time requiring a mathematical explanation/proof for why the fast pointer skips two nodes in the 'fast and slow pointers' method. Understanding the depth of answers was crucial.
- DP, Backtracking, Tree: General discussions and problem-solving.
Core subjects included Security and Encryption (RSA, Symmetric/Asymmetric encryption), Database basics (ACID properties), and Networking basics (subnetting, HTTP request/response). I was also asked 1-2 general puzzles. Staying calm and trying every question, rather than giving up, was essential in this round, which aimed to test patience and resilience.
Round 4: HR/Managerial Round
The final round was with the HR head, lasting about 30-40 minutes. It covered standard HR questions about hobbies, future vision, and discussions based on my resume, including my Java and Machine Learning projects. Some mathematical puzzles were also part of this round.
The results were announced the next day, and I was fortunate to be one of the selected candidates for an Intern + FTE role.
Interview Questions (10)
I was given a coding question which was a variation of the Burst Balloons problem. The exam was conducted on Samsung's internal platform, allowing 3 hours for 1 question with nearly 50 test cases, no autocomplete IDE features, and no standard libraries except print statements. I had to clear every test case.
In the first technical round, the interviewer asked in-depth questions about Java OOPS, Immutability in Java, how Garbage Collection (GC) works, and a brief discussion on Strings and String pool.
In the second technical round, I was asked to provide a mathematical explanation and proof for why the fast pointer skips two nodes in Floyd's Cycle-Finding Algorithm (fast and slow pointers method) to detect a loop in a Linked List.
I was asked about Security and Encryption topics, specifically RSA algorithm, Symmetric, and Asymmetric encryption.
I discussed Database basics, including ACID properties.
Questions covered Networking basics, subnetting, and the HTTP request/response mechanism.
Preparation Tips
My preparation involved extensive practice of Data Structures & Algorithms, focusing on common patterns. For the online exam, it was crucial to practice a variety of medium-hard LeetCode problems, especially those involving DP, Hash, Heap, and Arrays, keeping in mind the strict environment of no standard libraries and no autocomplete. For technical rounds, I focused on core Java concepts, in-depth DSA problems like Linked Lists (loops, reversal), Trees (mirroring, paths), and Heaps (median in stream). Practicing writing clean, proper, and understandable code on paper was also vital. Furthermore, I ensured I had a deep understanding of core computer science subjects such as Security, Databases (ACID properties), and Networking, as well as being ready to mathematically explain algorithms. Maintaining self-confidence and a calm demeanor during challenging questions was also a significant part of my approach.