IBM (OA)
IBM ASE Interview Experience | On-Campus | 4 Rounds | Not Selected 😔
Associate System EngineerIBM CODING ASSESSMENT - IBM US - Standard - Data Science
Data ScienceIBM | OA | Bitonic Sequence
IBM || 6 rounds || Interview Experience || On Campus
ASE5 more experiences below
Summary
I participated in an IBM Online Assessment where I encountered two algorithm problems, 'Maximize Decryption Value' and 'Maximum Distinct Split Sum'. I was unable to solve them efficiently due to time complexity issues.
Full Experience
There are two questions:
1.LeetCode 239 helps with sliding-window strategies
Actual Question: Maximize Decryption Value (LC)
2.LeetCode 410 helps with partitioning logic if adapted for distinct counts
Actual Question: Maximum Distinct Split Sum
These are not exactly the same questions, but they seem similar in concept.
And I just solved 0 of them because I failed due to time complexity in one problem
Interview Questions (2)
The actual question was 'Maximize Decryption Value'. The author noted that LeetCode 239 (Sliding Window Maximum) provides useful strategies for this type of problem, suggesting it involves sliding window techniques.
The actual question was 'Maximum Distinct Split Sum'. The author noted that LeetCode 410 (Split Array Largest Sum) provides useful partitioning logic when adapted for distinct counts, suggesting it involves partitioning and possibly dynamic programming or binary search on the answer.
Summary
I attended the IBM Campus Hiring Drive for an Associate System Engineer role as a final-year B.Tech student. The process involved multiple assessment and interview rounds, and despite receiving a background verification request, I was not ultimately selected.
Full Experience
Recently, I had the opportunity to attend the IBM Campus Hiring Drive 2025 for the Associate System Engineer role. As a final-year B.Tech student, this experience was both exciting and insightful.
Although I didn't make it to the final selection, the process taught me a lot and helped me grow professionally.
Let me take you through the entire journey.
Job Details
Role: Associate System Engineer CTC: ₹4.5 LPA + ₹25,000 one-time settling allowance Eligibility: 6.0 CGPA minimum, CS/IT/Semi-IT streams, No active backlogs Skills Expected: Java, Python, C++, Node.js, SQL, SDLC concepts Work Locations: Multiple cities including Bengaluru, Hyderabad, Mumbai, etc.
Selection Process
IBM's hiring process was systematic and had multiple elimination rounds. Initially, IBM hadn't mentioned that the Coding + English assessments would be conducted in-person at the campus before the interview as the number of candidates where more and IBM isn't a mass recruiting company.
Only a day before the interview, we received a mail informing us about the in-person assessments, which caused confusion and stress among many candidates.
Given that the number of shortlisted candidates was high and IBM isn't typically a mass-recruiting company, this last-minute arrangement may have been their way to streamline the pool. Still, the announcement came just a day before the interviews via email, which led to confusion and stress among many candidates, who were caught off-guard and had to prepare quickly for in-person assessments.
Round 1: Online Technical Assessment Conducted on HackerRank assessment platform Questions were MCQ + Coding (DSA, Aptitude, OOPs) Duration: ~60–90 mins 📊 ~2,459 candidates were shortlisted initially ✅ I cleared this round
Round 2: English Spoken Language Assessment (Virtual) AI-proctored, webcam and mic required Tests included spoken grammar, pronunciation, sentence clarity 📊 ~873 candidates were shortlisted ✅ Cleared this round too
Round 3: Coding + English Assessment (In-Person) 1 coding problem on HackerRank assessment platform based on Arrays and Strings. Duration: ~30 minutes
📊 ~147 candidates were shortlisted ✅ Cleared this round
English: Included 5 behavioral questions (each with a 5-minute timer) where we had to type out our responses.
Few questions:
- Tell me about a time when a team member wasn’t cooperating on a project. What did you do?
- Describe a situation where you helped a friend?
Round 4: Technical + HR Interview (In-Person) 🧑💼 Interview panel was calm and friendly. Questions I was asked:
- Tell me about yourself?
- Why AI & ML specialization?
- Explain your internship experience and challenges?
- Walkthrough of your projects, team size, your contribution?
- Is this your first interview? What did you learn from past interviews?
- Can AI replace human jobs?
- Java vs Python - key differences?
- Mutable vs Immutable types - is String mutable?
- What are List, Tuple, and Dictionary in Python?
- SQL Joins - Types and differences?
- In what order are multiple joins executed (top-down or bottom-up)?
- What do you know about IBM?
- Where do you see yourself in 5 years?
- What do you want to contribute to this role?
This was my 3rd interview overall, I answered confidently and felt a good connection with the interviewer.
Background Verification Request
Shortly after the interview, I received a request for background verification details - ID and personal documents - which gave me strong hope of getting selected.
Outcome
Despite my performance, I was not among the final 66 candidates selected.
Key Takeaways
- Be ready for last-minute surprises (like in-person tests).
- Strong communication helps in spoken assessments.
- Know your tech basics - Java/Python + SQL.
- Stay humble - even if everything feels perfect, final selection isn't guaranteed.
Final Thoughts
Even though I wasn't selected, this experience made me more prepared and confident for future interviews.
Interview Questions (16)
Tell me about a time when a team member wasn’t cooperating on a project. What did you do?
Describe a situation where you helped a friend?
Tell me about yourself?
Why AI & ML specialization?
Explain your internship experience and challenges?
Walkthrough of your projects, team size, your contribution?
Is this your first interview? What did you learn from past interviews?
Can AI replace human jobs?
Java vs Python — key differences?
Mutable vs Immutable types — is String mutable?
What are List, Tuple, and Dictionary in Python?
SQL Joins — Types and differences?
In what order are multiple joins executed (top-down or bottom-up)?
What do you know about IBM?
Where do you see yourself in 5 years?
What do you want to contribute to this role?
Summary
I participated in an IBM US coding assessment for a Data Science role, which focused on designing an API rate-limiting system.
Full Experience
My coding assessment for IBM US, intended for a Data Science position, required me to design and implement an API rate-limiting system according to specified constraints. The problem statement detailed the requirements for handling incoming domain requests within various time windows, checking both 5-second and 30-second limits.
Interview Questions (1)
You are tasked with designing an API rate-limiting system that processes incoming requests while enforcing request limits. Given an array of domain requests, each request occurs at a specific second. The API gateway applies the following rate limits:
- A domain can make at most 2 requests within a 5-second window.
- A domain can make at most 5 requests within a 30-second window.
Write a function getDomainRequestStatus(requests) that determines whether each request can be processed. The function should return:
{status: 200, message: OK}if the request is allowed.{status: 429, message: Too many requests}if the request exceeds the rate limit.
Input Format
requests: A list of domain names representing incoming requests.
Example
requests = ["www.xyz.com", "www.abc.com", "www.xyz.com", "www.pqr.com", "www.abc.com", "www.xyz.com", "www.xyz.com"]
print(getDomainRequestStatus(requests))
Expected Output
["{status: 200, message: OK}",
"{status: 200, message: OK}",
"{status: 200, message: OK}",
"{status: 200, message: OK}",
"{status: 200, message: OK}",
"{status: 200, message: OK}",
"{status: 429, message: Too many requests}"]
Constraints
- The function should efficiently track request timestamps for each domain.
- It should remove outdated requests beyond the 30-second window.
- It must check both 5-second and 30-second limits before allowing a request.
Summary
This post details an Online Assessment (OA) at IBM, featuring a problem to find the length of the longest bitonic subarray.
Full Experience
A bitonic sequence is a sequence of numbers that first increase (non-decreasing) and then decreases (non-increasing). Given an array of integers, find the length of the longest subarray that is bitonic in nature.
Input: arr =[10,8,9,15,12,6,7]
Output: 5
[8,9,15,12,6]is the longest bitonic subarray. Return its length, 5.
Input: arr =[5,1,2,1,4,5]
Output: 3
[1,2,1]is the longest bitonic subarray. Note that the subarray[1,4,5]is also bitonic in nature and has the same length. It is non-decreasing through[1,4,5]and the non-increasing portion is[5].
Input: arr =[9,7,6,2,1]
Output: 5
The non-decreasing subarray is[9]. The non-increasing subarray is the entire array. The entire array has 5 elements.
Constraints: 1 $$≤$$ n $$≤$$ $10^5$ 1 $$≤$$ arr[i] $$≤$$ $10^9$
Interview Questions (1)
A bitonic sequence is a sequence of numbers that first increase (non-decreasing) and then decreases (non-increasing). Given an array of integers, find the length of the longest subarray that is bitonic in nature.
Input: arr =[10,8,9,15,12,6,7]
Output: 5
[8,9,15,12,6]is the longest bitonic subarray. Return its length, 5.
Input: arr =[5,1,2,1,4,5]
Output: 3
[1,2,1]is the longest bitonic subarray. Note that the subarray[1,4,5]is also bitonic in nature and has the same length. It is non-decreasing through[1,4,5]and the non-increasing portion is[5].
Input: arr =[9,7,6,2,1]
Output: 5
The non-decreasing subarray is[9]. The non-increasing subarray is the entire array. The entire array has 5 elements.
Constraints: 1 $$≤$$ n $$≤$$ $10^5$ 1 $$≤$$ arr[i] $$≤$$ $10^9$
Summary
I participated in a six-round on-campus recruitment drive by IBM for an ASE position, which included online coding tests, communication assessments, group discussions, and technical and HR interviews, encountering coding problems similar to LeetCode's Repeated DNA Sequences and Single Element in a Sorted Array.
Full Experience
I had the opportunity to participate in an on-campus recruitment drive conducted by IBM for the ASE (Associate Software Engineer) position. The process was comprehensive, consisting of six distinct rounds.
The First Round was an online HackerRank test. I was given 45 minutes to solve one medium-level coding question. This particular problem was quite similar to LeetCode 187 - Repeated DNA Sequences.
Next, I proceeded to the Second Round, an SHL test. This round was communication-based and divided into four sections, assessing various aspects of my communication skills.
The Third Round was an offline test, held directly on our college campus. Here, I had 30 minutes to solve one easy-level question. It was primarily math-based and could be tackled using straightforward mathematical logic.
Following that was the Fourth Round, a Group Discussion. We discussed a current affairs topic, which was an interesting way to assess our collaborative and argumentative skills.
The Fifth Round was the Technical Interview. This interview focused heavily on questions derived from my resume. Additionally, I was presented with a data structure problem that was similar in nature to LeetCode 540 - Single Element in a Sorted Array.
Finally, the Sixth Round was the HR Interview, where I answered managerial and behavioral questions, concluding the entire recruitment process.
Interview Questions (2)
Summary
I interviewed for a Summer Intern position at IBM, going through a screening round and an HR round. I successfully got shortlisted after the screening round and received the final selection after the HR round, being selected along with seven of my batchmates.
Full Experience
On November 29th, 2023, at 11 AM, I had my first round for IBM's Global Sales Summer Intern Hiring, which was a screening round. It was crucial to thoroughly review the job description. The interview consisted of various types of questions:
Type-I (General/Behavioral):
1. Self Introduction.
2. What do you know about IBM? Explain its achievements.
3. What's your particular interest or domain in tech?
4. What attracts you towards IBM?
Additionally, there were more questions derived from the job description.
Type-II (Technical/CS Fundamentals):
5. Explain the difference between memory and storage. Also, what is the model of your phone? Explain its features and qualities.
6. Which one is better: microservices or monolithic architecture?
7. What is ASCII?
8. What do you know about private and hybrid cloud? State the main difference.
9. What is Kubernetes and orchestration?
10. Why cloud and virtual machines (VMs)?
11. Questions on Computer Network (CN) layers and other networking technical questions.
12. Explain SDLC (Software Development Life Cycle).
There were also general questions on Operating Systems (OS), Computer Organization and Architecture (COA), and Database Management Systems (DBMS).
Type-III (Personality):
1. Tell me about your hobbies.
2. Describe the greatest moment in your life.
3. What is your favorite book and writer?
4. Who is your role model?
5. What do you do in your free time?
The interviewer concluded by asking if I had any questions for them.
My first round lasted for about 45 minutes, and I was successfully shortlisted along with seven of my batchmates.
I then had the HR Round on the same day at 3:30 PM. For this round, it was highly important to be well-prepared with my resume.
HR Questions were as follows:
1. Introduce yourself.
2. DSA related questions: explain any one searching technique like "Binary search algorithm," explain a sorting technique like "Bubble sort," or any other of your choices.
3. What are different types of time complexities?
4. Explain ASCII completely with an example.
5. Screenshare and explain any one of your mentioned projects.
6. How much do you rate yourself in coding and in which language?
7. Why did you choose that particular language and not any other?
8. Kubernetes vs. Docker?
9. Which latest technologies do you know?
The round ended with the interviewer asking if I had any questions for them.
This HR round took around 30 minutes. The final list of selected students was released after 4-5 weeks, and I was successfully selected.
Interview Questions (26)
Tell me about yourself.
What do you know about IBM? Please explain some of IBM's key achievements.
What are your particular interests or domains in technology?
What attracts you towards working at IBM?
What is the difference between memory and storage? Also, what is the model of your phone? Explain its features and qualities.
Which one is better: microservices or monolithic architecture? Justify your answer.
What is ASCII?
What do you know about private and hybrid cloud? State the main differences between them.
What is Kubernetes, and what is orchestration in the context of container management?
Why do we use cloud computing and virtual machines (VMs)?
Explain the different layers of the Computer Network (OSI/TCP-IP) model.
Explain the Software Development Life Cycle (SDLC).
Tell me about your hobbies.
Describe the greatest moment in your life.
What is your favorite book and who is your favorite writer?
Who is your role model?
What do you do in your free time?
Do you have any questions for me?
Explain any one searching technique, such as Binary Search Algorithm, and any sorting technique, such as Bubble Sort, or any other of your choice.
What are the different types of time complexities (e.g., O(1), O(n), O(log n))?
Explain ASCII completely, providing an example.
Please share your screen and explain any one of the projects mentioned on your resume.
How would you rate yourself in coding, and in which programming language?
Why did you choose that particular programming language over others?
Explain the differences between Kubernetes and Docker.
Which latest technologies are you familiar with?
Preparation Tips
I prepared by thoroughly going through the job description and practicing common technical and behavioral questions. I also made sure to prepare my resume well for the HR round and was ready to explain my projects. I specifically focused on foundational computer science topics like Operating Systems, Computer Organization and Architecture, Database Management Systems, networking, cloud concepts, and Data Structures and Algorithms fundamentals like searching and sorting algorithms.
Summary
I successfully cleared my on-campus interview for an ISDL role at IBM in 2024, which consisted of two comprehensive technical rounds and a combined HR round, covering a wide range of computer science fundamentals and specific project discussions.
Full Experience
I had an on-campus interview for an ISDL position at IBM in 2024. The entire interview process, except for the Online Assessment, was conducted offline.
Technical Round 1 (1hr 30mins):
The first technical round was quite extensive. The interviewer started by asking me to explain any of my projects. We then delved into core computer science topics. I was asked to differentiate between supervised and unsupervised learning, and to explain why pooling layers are essential in Convolutional Neural Networks (CNNs). Database concepts were a significant part, including explaining the differences between NoSQL and SQL databases, how to manage concurrent queries in a SQL database, and the rationale behind database denormalization. Although a specific SQL query using joins was asked, I didn't note down the exact problem statement. Questions on Linux commands were general, so I can't detail them.
The discussion moved to operating systems, covering how device drivers work, what multi-threading is and how it's handled, the distinction between Semaphore and Mutex, what deadlock is, and an explanation of Banker's Algorithm. Software interrupts were also discussed. Networking concepts included the TCP three-way handshake, the differences between TCP and UDP, a detailed explanation of what happens when one searches 'www.ibm.com', and the seven layers of the OSI model.
For Data Structures and Algorithms, I was asked to explain Heap Sort, write its code, and perform a detailed dry run. Another DSA question involved finding all common characters between two strings, for which I provided the approach, a dry run, and explained its C implementation. Finally, pointer-related questions in C were asked, such as dangling pointers, the implications of a pointer pointing to '\0', and how to access the nth element of an array using a pointer. Since I had a project using Azure Cognitive Services, the interviewer also inquired about what cognitive services are and which ones I utilized.
Technical Round 2 + HR Round (1hr):
Due to time constraints, the second technical round was combined with the HR round. As I am from an ECE branch, there were specific questions on electronics, including drawing the CMOS diagram of an inverter and its waveform, and describing the CMOS implementation of a D Flip-Flop. I was also given a KMAP and asked to derive the Boolean expression.
Cloud and containerization technologies were also covered, with questions on why Docker is used, what a Docker image is (and examples), the concept of a working directory in Docker versus cd-ing into it, port forwarding, and the utility of Kubernetes (K8s). System administration questions included how to allocate minimum required resources in a VM and the steps to install Linux on a local machine (with an expectation of explaining the bootloader). We then discussed broader topics like privacy and ethical concerns in AI/ML, and what challenges might prevent my college from developing something similar to ChatGPT.
The HR segment began after this, covering typical questions like 'Why IBM?', 'What are your strengths and weaknesses?', a scenario question about choosing between offers from IBM, Google, and Microsoft with the same CTC, and 'What sets you apart from other candidates?'
Verdict: Selected
Interview Questions (37)
Explain the fundamental differences between supervised and unsupervised machine learning paradigms, including their applications and how they learn from data.
Explain why pooling layers are a necessary component in Convolutional Neural Networks (CNNs), discussing their purpose and benefits.
Explain the key differences between SQL (relational) and NoSQL (non-relational) databases, including their data models, use cases, and scalability characteristics.
Given a SQL database, explain how you would manage concurrent updates when multiple users attempt to modify the database simultaneously. Discuss mechanisms to ensure data consistency and prevent conflicts.
Explain the reasons and scenarios in which denormalizing a database schema might be beneficial, considering its trade-offs with data redundancy and performance.
Explain the fundamental working mechanism of device drivers, including their role in operating systems and how they interact with hardware.
Define multi-threading and explain its core concepts within the context of operating systems and concurrent programming.
Explain how multi-threading is typically handled by operating systems and programming languages, covering aspects like thread creation, scheduling, and synchronization.
Define what a Semaphore is and explain its key differences from a Mutex, specifically regarding their usage in concurrent programming for synchronization and resource management.
Define deadlock in operating systems and concurrent programming, explaining the conditions necessary for a deadlock to occur.
Explain Banker's Algorithm, a resource allocation and deadlock avoidance algorithm used in operating systems, including its purpose and how it works.
Explain how software interrupts work within an operating system, detailing their purpose and the process involved when one occurs.
Explain the TCP three-way handshake process, detailing each step involved in establishing a reliable connection between a client and a server.
Explain the key differences between TCP (Transmission Control Protocol) and UDP (User Datagram Protocol), focusing on their characteristics, reliability, connection-orientation, and use cases.
Describe the entire process that occurs from the moment a user types 'www.ibm.com' into a web browser and presses enter, until the webpage is displayed. Cover aspects like DNS resolution, TCP/IP, HTTP, and web server interaction.
List and briefly explain the function of each of the seven layers of the OSI (Open Systems Interconnection) model.
Explain the Heap Sort algorithm in detail, including its time and space complexity. Provide a code implementation and perform a detailed dry run using an example array.
Given two strings, find and list all the common characters that appear in both strings. Discuss an approach to solve this problem and provide an implementation in C.
Define what a dangling pointer is in C/C++ and explain when it occurs and why it is a problem.
Explain the implications and behavior if a pointer in C/C++ is made to point to the null terminator character ('\0').
Given a pointer that is pointing to the beginning of an array, explain the different ways to access the nth element of that array using pointer arithmetic or array indexing.
Draw the CMOS circuit diagram for an inverter and illustrate its input-output voltage transfer characteristics (VTC) or waveform.
Describe or draw the CMOS implementation of a D Flip-Flop, explaining its structure and operation.
Given a Karnaugh Map (KMAP), derive the simplified Boolean expression.
Explain why Docker is widely used in modern software development and deployment, highlighting its key benefits.
Define what a Docker image is, how it functions as a lightweight, standalone, executable package of software, and provide examples of common Docker images.
Explain the concept of a working directory within a Docker container and differentiate its configuration from simply using the cd command to change directory inside the container.
Explain the concept of port forwarding, particularly in the context of networking and containerization (like Docker).
Explain the reasons behind the widespread adoption of Kubernetes (K8s) for container orchestration, detailing its benefits and use cases.
Explain strategies and considerations for allocating the minimum required resources (CPU, RAM, storage) to a Virtual Machine (VM) to ensure optimal performance without over-provisioning.
Describe the step-by-step process of installing Linux on a local machine, specifically detailing the role and configuration of the bootloader in this process.
Discuss the significant privacy and ethical concerns that arise with the development and deployment of Artificial Intelligence and Machine Learning systems.
Discuss the primary obstacles and resources (e.g., computational power, data, expertise) that would prevent a typical college from developing a large language model similar to ChatGPT.
Why are you interested in working at IBM, and what specific aspects of the company or its work attract you?
Discuss your main strengths and weaknesses relevant to this role and how you address them.
If you received equally compensated offers from IBM, Google, and Microsoft, which one would you choose and why?
What unique qualities, skills, or experiences do you possess that differentiate you from other candidates?
Preparation Tips
I prepared for the technical rounds by thoroughly reviewing core computer science concepts, including operating systems, databases, networking, and data structures & algorithms. I also brushed up on the details of my past projects, especially those involving cloud services like Azure. For the HR round, I focused on clearly articulating my motivations for joining IBM and practicing common behavioral questions.
Summary
I successfully navigated an online test and two interview rounds for the Associate Consultant role at IBM India, securing a full-time offer. The process tested my coding skills, technical knowledge in DBMS, OOP, concurrency, and problem-solving abilities.
Full Experience
My journey to secure the Associate Consultant role at IBM India started with an on-campus interview process in November 2022.
Round 1: Online Test
This round consisted of two parts. First, a 45-minute coding assessment on HackerRank, where I tackled one coding question and passed 9 out of 10 test cases, which was an elimination round. Second, an English Language Test, which covered basic English skills like synonyms, spelling, and sentence correction.
Round 2: Interviews
Interview 1: After a brief introduction, the interviewer delved into technical topics. I was asked about SQL queries, DBMS concepts, and various OOP concepts. He also presented a stars triangle pattern problem and asked me to write its code/logic. Additionally, I had to explain the difference between multiprocessing and multithreading. Interestingly, nothing was asked from my resume in this round.
Interview 2: This interview took place 2-3 days after the first one. It began with introductions from both sides. The interviewer then inquired about my past internship experience and my preferred programming language, to which I responded Java. He questioned me on constructor overloading and related concepts. I also faced a probability problem that required using permutations and combinations. Finally, he gave me a reasoning question about the number of matches in a knockout tournament, providing a Quora link for reference. This interview lasted about 25 minutes.
The very next evening, I received an email from my college placement cell informing me that I had been selected for this full-time offer.
Interview Questions (5)
Write code or logic to generate a stars triangle pattern.
Explain the difference between multiprocessing and multithreading.
Explain constructor overloading and related concepts in Java (or preferred language).
Solve a probability problem requiring the application of permutations and combinations concepts.
Preparation Tips
I focused my preparation on core computer science fundamentals. I revised SQL queries, DBMS concepts, and various Object-Oriented Programming (OOP) concepts. Additionally, I studied the differences between multiprocessing and multithreading, and practiced problems involving constructor overloading, as well as probability questions that required knowledge of permutations and combinations.
Summary
I successfully secured an offer for the Associate Consultant position at IBM in India. The interview process involved an online coding and English test, followed by two rounds of interviews focusing on technical and object-oriented programming concepts, as well as problem-solving.
Full Experience
My on-campus interview experience for the IBM Associate Consultant role in India began with an online test. The first part was a 45-minute coding assessment on HackerRank, where I managed to pass 9 out of 10 test cases. This was an elimination round. Following that, I took an English Language Test, which covered basic English concepts like synonyms, correct spelling, and sentence correction.
A few days later, I proceeded to Round 2, which consisted of two interviews.
Interview 1
This round started with a brief introduction. The interviewer then delved into SQL queries, DBMS concepts, and various OOP concepts. I was also asked to write the code or logic for a stars triangle pattern. Additionally, they asked me about the difference between multiprocessing and multithreading. It's crucial to prepare these subjects thoroughly. Interestingly, nothing specific was asked from my resume.
Interview 2
This interview took place 2-3 days after my first interview. This round began with the interviewer's introduction, followed by mine. They inquired about my past internship experience and my preferred programming language, to which I responded Java. The discussion then moved to constructor overloading and related concepts. I was also given a probability problem that required the use of permutations and combinations. Finally, the interviewer presented a reasoning question: How many matches will be played between 100 players in a knockout tournament? This interview lasted approximately 25 minutes.
The very next evening, I received an email from my college placement cell confirming my selection for the full-time offer.
Interview Questions (4)
Write code or logic to print a stars triangle pattern using a programming language of choice.
Explain the key differences between multiprocessing and multithreading, including their advantages, disadvantages, and typical use cases.
Describe constructor overloading in object-oriented programming, particularly in Java, and explain related concepts like method overloading and constructor chaining.
Preparation Tips
My preparation focused heavily on core computer science subjects. I thoroughly reviewed SQL queries and DBMS concepts, as well as various Object-Oriented Programming (OOP) concepts like constructor overloading. I also made sure to understand the distinctions between multiprocessing and multithreading. For the coding assessment, I practiced pattern-based problems, similar to the "stars triangle pattern" I encountered. Although the specific probability problem was not extracted, I did brush up on permutations and combinations. Finally, I practiced general reasoning questions to be ready for the logical puzzles.
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)
Tell me about yourself.
What do you know about IBM and why do you want to join us?
Why do you believe you are a good candidate for the Software Developer role?
What are your greatest strengths and weaknesses?
Where do you see yourself in 5 years?
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.