Samsung R&D India | Offer | SDE - 1
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.