Microsoft SDE Intern Interview Experience
💼 LTIMindtree Interview Experience (On-Campus) | Fresher | 2026
Salesforce SMTS | Interview Experience | Rejected
JPMC | SDE2 (Associate) - Java Backend - Interview Experience + Compensation
Microsoft - SDE2 - Coding Round
IBM ISDL | On Campus | 2024
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.