Role: Software Engineer (SDE)
College: Not Specified (1.5 years of experience)
Interview Date: 2023
Interview Type: Off-Campus
Result: Shortlisted for on-site after Round 2
Difficulty: Not Specified
Rounds: 4 Technical Rounds
Topics Asked: Company discussion, C programming, Bit Manipulation, Linked Lists (types, insertion), Puzzles, Academic Projects, String Manipulation, Process vs Thread, Software Interrupts, Merge Sort, Behavioral, Data Structures, Operating Systems (Process, Context Switching, Scheduling Algorithms, Round Robin, Process Creation, Process Table, PCB, Keyboard Input, System Calls, User/Kernel Space, Memory Layout).
Experience:
The candidate received a call from Qualcomm Chennai for a Software Engineer position, having 1.5 years of experience. The process involved 4 technical rounds.
Round 1: Technical
- Discussion about the previous company and the candidate's role.
- C program to get the size of a variable without using `sizeof()`.
- How to divide a number by 4 without using the division operator (solved using Bit Manipulation).
- Different types of Linked Lists.
- Create a Linked List and insert a Node at a given position.
- A few puzzles.
Round 2: Technical
- Discussion about academic projects in detail.
- Write a program to Reverse a String.
- Write a program to Reverse a Linked List.
- Write a program to Reverse a Doubly Linked List.
- A few puzzles.
- What is a process? What is a thread? Difference between Process and Thread.
- What are Software Interrupts? Explain different types of interrupts.
- Implement MERGE SORT (explained approach and coded).
The candidate was shortlisted after this round for an on-site interview.
Round 3: Managerial Round
- Behavioral Questions: "What is your greatest Achievement?".
- Questions on projects.
- Define a data structure for storing 12 bits of data (explained using structures).
- Operating System questions: What is a process? What is context switching? Different types of scheduling algorithms, working of Round Robin Algorithm, How a process is created? What is a process table? What is PCB (Process Control Block)? Different types of attributes in PCB, How does OS perform context switching? What happens when we press a keyboard key (explained hardware, OS, and CPU levels)? What is a system call? What is User space and kernel space? Explain the memory layout of a process.