IBM Recruitment Process for Software Developer | 2021

ibm logo
ibm
software developer
April 29, 202121 reads

Summary

I navigated IBM's recruitment process for a Software Developer role as a fresher, which generally consisted of an aptitude test, comprehensive technical interviews, and a final HR discussion. The technical rounds particularly emphasized Data Structures and Algorithms through several classic LeetCode problems.

Full Experience

My journey through IBM's recruitment process as a fresher involved three distinct rounds. The initial stage was an Aptitude test, a multiple-choice assessment covering programming concepts in languages like C, C++, and Java, alongside computer science fundamentals such as Operating Systems, DBMS, Theory of Computation, and Computer Networks. It also included a section on general aptitude, featuring questions on probability, cubes, speed and distance, work and time, and blood relations. This round typically lasted between 75 to 120 minutes.

Successfully clearing the aptitude test led me to the Technical Rounds. This stage rigorously tested my foundational knowledge. I was expected to be well-versed in Data Structures and Algorithms, DBMS, Operating Systems, Networking, and OOPs concepts, in addition to having strong command over at least one programming language. The interviewers posed several classic coding problems, including the Coin Change problem (dynamic programming), Quicksort algorithm implementation, finding the minimum number of swaps to sort an array, detecting a loop in a linked list, reversing a linked list, and array rotation. These questions demanded not just theoretical understanding but also practical coding ability.

The final stage was the HR Round. This round focused on assessing my personality, aspirations, and fit within IBM's culture. I encountered typical HR questions such as 'Introduce yourself?', 'What do you know about IBM?', 'Why do you believe you are a good fit for the Software Developer role?', 'What are your strengths and weaknesses?', 'Why do you want to join IBM?', and 'Where do I see myself in five years?'. There were also discussions stemming from my resume and prior projects.

Interview Questions (12)

Q1
Coin Change Problem
Data Structures & AlgorithmsMedium

Given a set of coin denominations and a target amount, find the minimum number of coins needed to make up that amount. If the amount cannot be made, return -1.

Q2
Quicksort Algorithm Implementation
Data Structures & AlgorithmsMedium

Implement the Quicksort algorithm. Discuss its time complexity, space complexity, stability, and worst-case scenarios. Also, explain pivot selection strategies.

Q3
Minimum Swaps to Sort an Array
Data Structures & AlgorithmsHard

Given an array of integers, find the minimum number of swaps required to sort the array in ascending order.

Q4
Detect Cycle in Linked List
Data Structures & AlgorithmsEasy

Given the head of a singly linked list, determine if it has a cycle in it. A cycle means that some node in the list can be reached again by continuously following the next pointer. Return true if there is a cycle, false otherwise.

Q5
Reverse Linked List
Data Structures & AlgorithmsEasy

Given the head of a singly linked list, reverse the list, and return the reversed list.

Q6
Rotate Array
Data Structures & AlgorithmsMedium

Given an integer array nums, rotate the array to the right by k steps, where k is non-negative.

Q7
Introduce yourself
Behavioral

Tell me about yourself.

Q8
Why IBM?
Behavioral

What do you know about IBM and why do you want to join us?

Q9
Why are you a good fit for Software Developer role?
Behavioral

Why do you believe you are a good candidate for the Software Developer role?

Q10
Strengths and Weaknesses
Behavioral

What are your greatest strengths and weaknesses?

Q11
Career Goals
Behavioral

Where do you see yourself in 5 years?

Q12
Resume/Project Discussion
Behavioral

Discussion about prior projects and questions from your resume.

Preparation Tips

To prepare for this process, I ensured my basics in Data Structures and Algorithms were very strong. I also extensively revised core computer science subjects like DBMS, Operating Systems, Networking, and Object-Oriented Programming (OOPs) concepts. I practiced implementing common algorithms and data structures in my chosen programming language. For the technical rounds, I specifically focused on solving LeetCode problems covering topics like dynamic programming, sorting, linked lists, and arrays, as these were directly asked.

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!