Samsung visited our campus this year by the end of October for internships. They offered both SDE and research profiles, and the process was the same for both.
Round 1 :
This round was hosted on co-cubes, and had 3 questions to be solved in 1 hour 15 minutes. CGPA cut-off to appear for the round was 7.0.
1. Basic string manipulation, don’t remember the question, but took 5 mins to code and submit. (3 points)
2. A BST was given, and a number x was given. We had to find the ceil of that value (x) in the bst.
An O(n) solution using inorder traversal was accepted. (5 points)
3. Given a node in a binary tree, we had to find the sum of all the nodes at a distance k from this node. (5 points)
Everyone had different questions, but they followed a pattern of 1 string/array based, and 2 based on linked lists, pointers and trees. Do note, STL was not allowed, so queues had to be coded from scratch. Also, we could not use vectors, so make sure you brush up your pointers basics.
In this round, speed is very important. I solved two questions in the first 20 mins, hence got shortlisted.
Around 170 students appeared for this round, and 52 were selected for the next round.
Round 2 :
This was a group coding round. Groups of 4-5 were formed, and every group was assigned a mentor. Every group had a different question. We had half an hour to solve one coding question (write the code on paper) and one puzzle. It is important to keep discussing your approach with your mentor. Also, solving the coding question correctly and writing clean code is essential. It was not a group “discussion”, so we had to individually solve and call our mentor whenever we had an approach, or were stuck.
Our questions were:
1. Given an array of n numbers, find the largest d such that d=a+b+c, where all a, b, c and d belong to the array.
I gave an O(n^3) solution. I solved it in 5 mins, and wrote the code in the next 10 mins.
Whoever solved the first question was given this puzzle in my group. I could not solve it completely, but gave an elimination based approach, which the mentor was happy with.
After this round, 23 students were shortlisted for HR interviews.
Round 3 :
This was an entirely resume based round, where everything on the resume was grilled through. It was a 1 hour 20 minutes conversation on every project. The interviewer grilled through the details, asked follow-up questions, and extended the concept to ask more questions. Make sure you know exactly what you have written on the resume. My projects were based on MVC frameworks, recommendation engine, language models, game design using OO concepts and graphics pipelines, OS shell, proxy server, backend work using NodeJS, Go and flask, etc.
Programming questions based on linked list were asked, where I just had to discuss the logic. The questions were simple, like find the last k elements of a linked list, or detect a loop in a linked list.
Concepts like shared memory, critical section and file systems were asked in detail. I was also asked to code (on paper) the solution to a critical section problem.
Object oriented concepts were tested, and system design related questions were asked.
The interviewer was friendly, and later it turned into a conversation on what kind of projects I would like to work on in Samsung, and we ended up discussing the future prospects of NLU.
12 of us finally got selected.
– Be very confident in your interview. Your body language and state of mind matters.
– Go through your resume very carefully.
– Practice trees, linked list and pointers properly for the coding round.
– Make sure you are active in interacting with your mentor during group round.
– Think out loud during your interview, do not go blank at any point. Even if you are stuck, tell the interviewer.
– Diagrammatically explain your answers instead of words.