Summary
I successfully navigated through a comprehensive 6-round interview process for a System Software Engineer 2 role at Aruba Networks in Bangalore, ultimately receiving an offer. The interviews covered deep dives into C/C++, data structures like linked lists and binary trees, operating systems, networking, and extensive behavioral assessments.
Full Experience
Round 1 (1 hour)
My first round focused heavily on C and C++ fundamentals. We delved into pointers, bit manipulation, string manipulation techniques, and how to handle 2D and 3D dynamic arrays. There were also general questions on arrays and strings. Towards the end, we touched upon the basics of Networking, specifically the OSI layer.
Round 2 (1.5 - 2 Hours)
This round was quite extensive. I was challenged with all variations of linked lists, including cloning a linked list, detecting and finding loops, identifying intersection points of two linked lists, and deleting the middle node. I recall about six questions on linked lists alone. I also had to write the full class structure of a binary tree and implement its insert operation. The interviewer then pivoted to deep dive into OS concepts, covering memory management, the difference between processes and threads, segmentation, paging, and memory layout in programs. We also discussed networking concepts like the ARP protocol, how packets travel from source to destination, and the TCP/UDP protocols. Finally, there were questions on Linux OS, specifically inode structure and daemons.
Round 3 (~1 hour)
In this round, I was asked to implement a circular queue, including both push and pop operations. Following that, we had another deep discussion on OS concepts, focusing on critical sections, mutexes, semaphores, and race conditions.
Round 4 (SDM round - 1.5 hours)
This was a managerial round with an SDM. The discussion primarily revolved around behavioral questions. I was asked why I wanted to leave my previous company and to share an instance where I had a conflict with a team member. We also had a very detailed discussion on my past projects, so much so that I had to explain our entire codebase in depth.
Round 5 (Senior Manager - 1 hour)
This round was similar to the SDM round, focusing on my experience and fit. The Senior Manager also took the time to explain Aruba's operations and the expectations for the role.
Round 6 (HR round)
The final round was with HR. It involved basic behavioral questions, discussions about my expected salary, comfort with relocation, and understanding the company culture.
Interview Questions (8)
Given a linked list, write a function to deep clone it.
Given the head of a linked list, determine if the linked list has a cycle in it.
Given the heads of two singly linked lists, return the node at which the two lists intersect. If the two linked lists have no intersection at all, return null.
Given the head of a singly linked list, delete the middle node, and return the head of the modified linked list.
Write the full class structure for a binary tree node and implement the insert operation to add new nodes to the tree.
Implement a circular queue data structure, including push (enqueue) and pop (dequeue) operations.
Discuss your reasons for wanting to leave your current company and seek new opportunities.
Describe a time when you experienced a conflict with a team member. How did you handle the situation, and what was the outcome?