IBM
Global technology and consulting firm with deep roots in enterprise IT and AI.
3 Rounds
~14 Days
Medium
The Interview Loop
Recruiter Screen (30 min)
Standard fit check, behavioral questions, and resume overview.
Technical Loop (3-4 Rounds)
Deep dive into domain knowledge, coding, and system design.
Interview Question Bank
Backend Engineer
•
Coding
•
easy
Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target.
#Arrays
#Hash Table
Backend Engineer
•
Coding
•
easy
Given a string s, find the first non-repeating character in it and return its index. If it does not exist, return -1.
#Strings
#Hash Table
Backend Engineer
•
Coding
•
medium
Given a string s, find the length of the longest substring without repeating characters.
#Sliding Window
#Strings
#Hash Table
Backend Engineer
•
Coding
•
medium
Given an integer array nums and an integer k, return the k most frequent elements.
#Heap
#Hash Table
#Bucket Sort
Backend Engineer
•
Coding
•
easy
Given the head of a singly linked list, reverse the list, and return the reversed list.
#Linked List
Backend Engineer
•
Coding
•
medium
Given an m x n 2D binary grid grid which represents a map of '1's (land) and '0's (water), return the number of islands.
#Graph
#DFS
#BFS
Backend Engineer
•
Coding
•
medium
Given an array of intervals where intervals[i] = [starti, endi], merge all overlapping intervals.
#Arrays
#Sorting
Backend Engineer
•
Coding
•
easy
Given a string s containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid.
#Strings
#Stack
Cloud Engineer
•
Coding
•
medium
Given an m x n 2D binary grid which represents a map of '1's (land) and '0's (water), return the number of islands.
#Graph
#DFS
#BFS
Cloud Engineer
•
Coding
•
medium
Find the kth largest element in an unsorted array. Note that it is the kth largest element in the sorted order, not the kth distinct element.
#Heaps
#Quickselect
Cloud Engineer
•
Coding
•
medium
Given an array of characters, compress it in-place. The length after compression must always be smaller than or equal to the original array.
#Two Pointers
#Strings
Cloud Engineer
•
Coding
•
easy
Given an array of integers and an integer target, return indices of the two numbers such that they add up to target. Assume exactly one solution exists.
#Arrays
#Hash Table
Cloud Engineer
•
Coding
•
easy
Write a function to determine if a string containing just the characters '(', ')', '{', '}', '[' and ']' is valid.
#Strings
#Stacks
Cloud Engineer
•
Coding
•
medium
Given an array of intervals where intervals[i] = [start_i, end_i], merge all overlapping intervals and return an array of the non-overlapping intervals.
#Arrays
#Sorting
Data Engineer
•
Coding
•
medium
Write a Python script to merge multiple large CSV files efficiently without loading them entirely into memory.
#File I/O
#Generators
#Memory Management
Data Engineer
•
Coding
•
medium
Write a Python script using Pandas to join two large datasets and handle missing values in the resulting dataframe.
#Python
#Pandas
#Data Cleaning
Data Engineer
•
Coding
•
easy
Write a Python function to find the first non-repeating character in a string.
#Strings
#Hash Maps
Data Engineer
•
Coding
•
medium
Parse a JSON log file in Python and extract specific error codes, returning a count of each error type.
#JSON
#Data Parsing
#Dictionaries
Data Scientist
•
Coding
•
hard
Implement a basic K-Means clustering algorithm from scratch in Python.
#Python
#Machine Learning
#Math
Data Scientist
•
Coding
•
hard
Implement a function in Python to calculate the TF-IDF scores for a corpus of documents without using scikit-learn.
#Python
#NLP
#Math
Data Scientist
•
Coding
•
easy
Given an array of integers, return the indices of the two numbers that add up to a specific target.
#Python
#Data Structures
#Hash Maps
Data Scientist
•
Coding
•
medium
Write a function to detect anomalies in a time-series array using a moving average and standard deviation threshold.
#Python
#Statistics
#Time Series
DevOps Engineer
•
Coding
•
hard
Given an array of server loads (integers), write a function to distribute the load evenly across two availability zones such that the difference in total load is minimized.
#Algorithms
#Dynamic Programming
#Optimization
Frontend Engineer
•
Coding
•
easy
Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid. This is often used to validate nested JSON structures in our cloud configurations.
#Data Structures
#Stacks
#Strings
Frontend Engineer
•
Coding
•
easy
Write a function that takes an array of integers and returns indices of the two numbers such that they add up to a specific target.
#Arrays
#Hash Maps
Frontend Engineer
•
Coding
•
medium
Given an array of intervals where intervals[i] = [starti, endi], merge all overlapping intervals. This is used in our calendar and scheduling UI components.
#Arrays
#Sorting
Frontend Engineer
•
Coding
•
hard
Design and implement an LRU (Least Recently Used) Cache class in JavaScript. This is useful for caching frontend assets or API responses in a single-page application.
#Data Structures
#Hash Maps
#Linked Lists
Frontend Engineer
•
Coding
•
medium
Implement a function to flatten a deeply nested array. Can you do it iteratively as well as recursively?
#JavaScript
#Recursion
#Arrays
Full Stack Engineer
•
Coding
•
hard
Given two words, beginWord and endWord, and a dictionary wordList, return the number of words in the shortest transformation sequence from beginWord to endWord.
#Graphs
#Breadth-First Search
Full Stack Engineer
•
Coding
•
easy
Write a function to determine if a string containing just the characters '(', ')', '{', '}', '[' and ']' is valid.
#Strings
#Stack
Full Stack Engineer
•
Coding
•
medium
Find the length of the longest substring without repeating characters.
#Strings
#Sliding Window
#Hash Set
Full Stack Engineer
•
Coding
•
medium
Given an array of strings, group the anagrams together. You can return the answer in any order.
#Arrays
#Hash Table
#Sorting
Full Stack Engineer
•
Coding
•
easy
Given an array of integers and an integer target, return indices of the two numbers such that they add up to target. Optimize for time complexity.
#Arrays
#Hash Table
Full Stack Engineer
•
Coding
•
hard
Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it can trap after raining.
#Arrays
#Two Pointers
#Dynamic Programming
Full Stack Engineer
•
Coding
•
easy
Reverse a singly linked list. Provide both iterative and recursive solutions.
#Linked Lists
#Recursion
Full Stack Engineer
•
Coding
•
medium
Find the lowest common ancestor (LCA) of two given nodes in a binary tree.
#Trees
#Depth-First Search
#Recursion
Full Stack Engineer
•
Coding
•
medium
Given an m x n 2D binary grid which represents a map of '1's (land) and '0's (water), return the number of islands.
#Graphs
#Depth-First Search
#Breadth-First Search
Full Stack Engineer
•
Coding
•
medium
Return a deep copy (clone) of a connected undirected graph.
#Graphs
#Hash Table
#Depth-First Search
Machine Learning Engineer
•
Coding
•
easy
Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target.
#Arrays
#Hash Table
Machine Learning Engineer
•
Coding
•
medium
Given a string s, find the length of the longest substring without repeating characters.
#Strings
#Sliding Window
Machine Learning Engineer
•
Coding
•
medium
Given an array of strings strs, group the anagrams together. You can return the answer in any order.
#Strings
#Hash Table
#Sorting
Machine Learning Engineer
•
Coding
•
medium
Given an m x n 2D binary grid which represents a map of '1's (land) and '0's (water), return the number of islands.
#Depth-First Search
#Breadth-First Search
#Matrix
Machine Learning Engineer
•
Coding
•
medium
Design a data structure that follows the constraints of a Least Recently Used (LRU) cache.
#Hash Table
#Doubly-Linked List
#Design
Machine Learning Engineer
•
Coding
•
medium
Given an array of intervals where intervals[i] = [starti, endi], merge all overlapping intervals.
#Arrays
#Sorting
Machine Learning Engineer
•
Coding
•
easy
Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid.
#Strings
#Stack
Software Engineer
•
Coding
•
medium
Given an array of intervals representing server downtime, merge all overlapping intervals and return an array of the non-overlapping intervals.
#Arrays
#Sorting
Software Engineer
•
Coding
•
easy
Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid.
#Strings
#Stack
Software Engineer
•
Coding
•
easy
Given an array of integers and an integer target, return indices of the two numbers such that they add up to target. Assume exactly one solution exists.
#Arrays
#Hash Table
Software Engineer
•
Coding
•
easy
Given a string of lowercase English letters, find the first non-repeating character in it and return its index. If it does not exist, return -1.
#Strings
#Hash Table
#Counting
Software Engineer
•
Coding
•
hard
Given two words, beginWord and endWord, and a dictionary wordList, return the number of words in the shortest transformation sequence from beginWord to endWord.
#Graph
#BFS
#Strings
Software Engineer
•
Coding
•
medium
Given a string representing a stream of log characters, find the length of the longest substring without repeating characters.
#Strings
#Sliding Window
#Hash Table
Software Engineer
•
Coding
•
hard
Given a network of IBM Cloud data centers represented as nodes and the cost to lay fiber optic cables between them as weighted edges, find the minimum cost to connect all data centers.
#Graph
#Minimum Spanning Tree
#Union Find
Software Engineer
•
Coding
•
medium
There are a total of numCourses courses you have to take. You are given an array prerequisites where prerequisites[i] = [a_i, b_i] indicates that you must take course b_i first if you want to take course a_i. Return true if you can finish all courses.
#Graph
#Topological Sort
#Cycle Detection
Software Engineer
•
Coding
•
medium
Given an m x n 2D binary grid representing a map of '1's (land) and '0's (water), return the number of islands. An island is surrounded by water and formed by connecting adjacent lands horizontally or vertically.
#Graph
#DFS
#BFS
Difficulty Radar
Based on recent AI-sourced data.
Meet Your Interviewers
The "Standard" Interviewer
Senior EngineerFocuses on core competencies, system constraints, and clear communication.
SimulateUnwritten Rules
Think Out Loud
Always explain your thought process before writing code or drawing architecture.