Candidate Information:
- Status: Employed
- Experience: Fresher with prior internship experience in software development
- Target Position: Student Intern
- Location: Kolkata, West Bengal, India
Overview of Interview Process:
- The interview process consisted of an initial screening followed by three technical interview rounds. The entire process primarily evaluated problem-solving ability, programming fundamentals, and knowledge of core computer science subjects.
Initial Screening
- Applied through a referral.
- Submitted my resume.
- Received a call after my profile was shortlisted.
- Discussed my background, technical skills, and projects.
- The recruiter explained the interview process and scheduled an offline interview.
Technical Round 1
- Duration: Approximately 1 hour
The first round focused mainly on Data Structures & Algorithms and C/C++ fundamentals.
Some of the questions included:
- Write a program to find the mirror image of a binary tree.
- Explain dynamic memory allocation in C and C++.
- How would you dynamically allocate memory for 1D, 2D, and 3D arrays?
- Follow-up questions related to pointers, memory management, and C++ concepts.
Technical Round 2
- Duration: Approximately 1 hour
Some of the questions included:
- Implement the functionality of the strtok() function in C.
- Given a set of instructions with dependencies, determine a valid execution order.
- Identify an efficient algorithm and data structure to solve the problem.
- Implement the solution after explaining the approach.
Technical Round 3
- Duration: Approximately 1 hour
The final round covered algorithms along with core computer science concepts.
Some of the questions included:
- Solve a problem using Binary Search after first explaining the brute-force solution.
- A graph-based problem where I had to identify edge cases and explain how my solution would handle them.
- Questions from Operating Systems.
- Pointer-related questions in C/C++.
The discussion emphasized optimization, correctness, and handling edge cases.
Post-Interview Reflections:
Company Culture: The interviewers were friendly and encouraged discussion throughout the interview. They focused on understanding how I approached problems instead of expecting immediate answers.
Work Environment: The interview process was well organized. The overall environment felt collaborative.
What the Interviewers Focused On
- Problem-solving skills
- Strong understanding of C/C++ fundamentals
- Data Structures and Algorithms
- Operating Systems basics
- Ability to optimize solutions
- Clear communication and logical thinking
Interview Result:
- A few days after the interview, I received the selection result and was offered the internship.
- After successfully completing the internship and receiving positive performance feedback, I was also offered a full-time position.
Closing Note:
Tips for Future Candidates
- Build a strong foundation in C/C++.
- Practice Data Structures and Algorithms regularly.
- Revise pointers, dynamic memory allocation, and Operating System fundamentals.
- Be comfortable explaining both brute-force and optimized approaches.
- Having a basic understanding of Verilog and SystemVerilog will be an added advantage.