Summary
As a 2022 CSE graduate with prior work experience, I successfully navigated through multiple rigorous DSA-focused rounds for a Software Engineer position at Samsung Research India, Bangalore, ultimately receiving an offer.
Full Experience
Overview
This is a backdated interview experience for a Software Engineer position at Samsung Research India - Bangalore (SRIB), but I can confirm that the pattern remains the same even today, which I hope benefits new-grads and freshers.
Online Assessment
I learned about an off-campus hiring opportunity in SRIB from LinkedIn and applied via a Google form. I received the OA link in June 2022. The OA consisted of 3 questions to be solved in 90 minutes, ranging from LeetCode medium to hard. I don't recall the exact questions, but they included a greedy problem with 2-pointers and a 1D DP problem, both LC Medium. The third question was similar to LeetCode's 'Shortest Path Visiting All Nodes', an LC Hard problem. I fully solved the first two and partially completed the third. Subsequently, I received a mail for the next round.
Advanced (DSA Round)
This is a certification level in Samsung Electronics, mandatory for all campus hires since 2021. I was given 1 question to solve in 4 hours with 10 attempts. The questions are always common LC Hard ones. This round took place in June 2022. I had to connect to a Samsung system via VDI from my Windows PC and use a proctoring app on my smartphone. The question assigned was 'Burst Balloons' (LC Hard). Having solved it before, I finished it within 1 hour on my first attempt. I received the shortlisting mail within 2 days.
Professional (DSA Round)
This is another certification level, made compulsory for off-campus hires due to a recession at the time (Sep 2022). The rules were identical: 1 question in 4 hours, 10 attempts, common LC Hard problems. The question I received was 'Number of Submatrices That Sum to Target' (LC Hard). I solved it within 2 hours on my second attempt; an O(n^4) solution was accepted, though O(n^3) would have been ideal. I was shortlisted again within 2 days.
Technical Interview
My technical interview was scheduled in October 2022 and lasted for 1 hour on MS Teams. After my introduction, the interviewer asked about my Spring work experience, leading to discussions on Java annotations (@autowired, @test), singleton pattern, and dependency injection. We also covered OOPs concepts like inheritance, polymorphism, encapsulation, abstraction, classes and objects, overriding vs. overloading, and dynamic method dispatch. When asked about my strong subjects, I mentioned DSA, DBMS, and Networks. The DBMS questions included normalization vs. denormalization, normal forms, and differences between Cartesian product, inner join, and outer join. The Networks section was extensive, covering OSI vs. TCP/IP, physical layer topologies and devices (hub vs. repeater vs. amplifier), IPv4 vs. IPv6, private IP ranges, subnetting vs. supernetting, TCP vs. UDP, 3-way and 4-way handshaking, and well-known port numbers (FTP, SSH, DNS, DHCP, HTTP, HTTPS). In DSA, I was asked to implement bit stuffing and destuffing on a binary stream (a DLL framing algorithm), which took about 20 minutes, and my solution wasn't fully correct, but I explained my approach well. I also answered a question on the Leaky Bucket algorithm (a TL congestion control algorithm), an easy question which I answered correctly in about 5 minutes. I received the selection email within a week, and an HR discussion was scheduled.
HR Round
The HR round took place in October 2022 on MS Teams, lasting 10-15 minutes. It started with an introduction, followed by primitive behavioral questions, and then questions about my current company, experience, and compensation. I received the final selection email within 1-2 weeks and the offer by the end of October 2022.
Interview Questions (5)
I was asked to implement bit stuffing and destuffing on a binary stream, which is a Data Link Layer (DLL) framing algorithm.
I was asked about the Leaky Bucket algorithm, which is a Transport Layer (TL) congestion control algorithm.
Preparation Tips
My preparation involved solving many common LeetCode Hard DSA questions. I also maintained a GitHub repository (https://github.com/s-kachroo/SamsungPractice) which I used for practice and shared for the benefit of freshers.