Skip to content

IBM Online Assessment

Overview

Detailed public write-ups on the IBM online test are still hard to find.

What public reports and campus notices usually say (still verify officially):

Item Working note
Online test name IBM Online Assessment
Focus areas (metadata) DSA, aptitude
Languages (metadata) Java, Python, C++, JavaScript.
Reported round names (OA → Technical Interview → HR).

Practice drills

Coding Q1: Top K frequent elements

Problem: Given an integer array and an integer k, return the k most frequent elements. Order among equals can be arbitrary unless the problem says otherwise.

Approach: Count frequencies with a hash map, then use a heap of size k (or bucket sort by frequency) to extract the top k keys.

Complexity: O(n log k) with a heap

IBM tip: Restate the problem, sketch a brute-force idea, then tighten it. Call out edge cases (empty input, single element, overflow) before you write code.

Coding Q2: Linked list cycle

Problem: Given the head of a linked list, return true if there is a cycle and false otherwise.

Approach: Floyd’s tortoise and hare: move one pointer one step and another two steps. If they meet, a cycle exists. If the fast pointer hits null, there is no cycle.

Complexity: O(n) time, O(1) space

IBM tip: Restate the problem, sketch a brute-force idea, then tighten it. Call out edge cases (empty input, single element, overflow) before you write code.

Coding Q3: Binary tree level order

Problem: Given the root of a binary tree, return the level-order traversal (breadth-first) as a list of levels.

Approach: Use a queue. For each level, drain the current queue size, collect values, and enqueue children for the next level.

Complexity: O(n) time, O(n) space

IBM tip: Restate the problem, sketch a brute-force idea, then tighten it. Call out edge cases (empty input, single element, overflow) before you write code.

Coding Q4: Coin change (min coins)

Problem: Given coin denominations and an amount, return the fewest coins needed to make that amount, or -1 if it is impossible.

Approach: Unbounded knapsack DP: let dp[x] be the minimum coins for amount x. For each coin, update dp[c..amount]. Initialize dp[0] = 0 and the rest to a large sentinel.

Complexity: O(amount × coins)

IBM tip: Restate the problem, sketch a brute-force idea, then tighten it. Call out edge cases (empty input, single element, overflow) before you write code.

What to do next

  1. Open the official careers page or your college placement email for IBM
  2. Search GeeksforGeeks + Reddit for IBM interview experience
  3. Use Faceprep / PrepInsta only if they match your placement email

Comments & Suggestions