The IBM coding assessment is a technical evaluation whose content depends on the role. IBM's official application page describes multiple-choice questions or coding challenges. US candidates have also reported HackerRank tests, but a report of two questions does not establish the question count, timing or difficulty of your own invitation.
For preparation, focus on three tasks: identify the assessment you received, practise implementing solutions against a precise specification, and learn to diagnose failed tests. This guide includes two original Python problems and one SQL exercise. They are training material, not an IBM question bank.
Research and disclosure: Official pages and linked candidate accounts checked November 8, 2026. SkillCopilotAI publishes this AI-assisted, research-based guide and sells an interview assistant. We did not take an IBM assessment. The original solutions are checked locally; those checks do not reproduce IBM's hidden tests or establish a passing score.
Cover: AI-generated editorial illustration, not an IBM or HackerRank interface.
Which IBM assessment have you received?
IBM's application-process page lists coding, video and English-language assessments. Its assessment FAQ also mentions work-behaviour assessments and explains that the mix depends on the role.
| Invitation type | Preparation task | What this page covers |
|---|---|---|
| Coding assessment | Implement, run and test code; review relevant programming concepts | Worked coding exercises and test strategy |
| Multiple-choice technical assessment | Review the concepts named in your invitation or role | How to identify the scope; no claimed IBM answer bank |
| Recorded competency/video interview | Prepare true examples and explain your contribution | See the separate behavioral guide below |
| English/work-behaviour assessment | Follow that assessment's instructions | Not a coding exercise |
A developer application can involve both coding and competency stages. Preparing stories about teamwork does not replace testing code, and solving algorithm problems does not prepare your behavioral examples. Use our IBM recorded competency interview guide when your invitation asks for video responses.
What US candidate reports actually support
Two sources help explain why applicants search for “IBM HackerRank,” while leaving important limits.
| Source | What it describes | What it cannot establish |
|---|---|---|
| US entry-level SWE account, December 23, 2024 | Two HackerRank coding questions followed by a later interview | Current universal question count, timer or cutoff |
| Backend applicant discussion | Coding and competency completed; the writer identifies their location as the US in a comment | That “assessment under review” means an interview is guaranteed |
These are personal accounts rather than employer announcements. Use them to anticipate possibilities, then check the instructions assigned to you. This article does not import an Indian campus-hiring format into US applications.
IBM's FAQ recommends completing assessments within seven days of the invitation. Treat that as general guidance; the actual expiration in your invitation controls. Neither the FAQ nor the reports above establishes one timer for all coding assessments.
Hands-on platform check: Python sample execution
We used a test account to run HackerRank's public Simple Array Sum exercise in Python 3 on November 8, 2026. For the six integers 1 2 3 4 10 11, our implementation returned 31. The result panel showed the same expected output and a passed sample test.
This checks the basic workflow: select a language, read standard input, run code and compare the output. It is a warm-up for using the editor, not a measure of IBM assessment difficulty or a test of the original problems below.

Our test-account run, November 8, 2026. Open the full-size screenshot. This is HackerRank public practice, not an IBM hiring assessment. We used Run Code for the sample, without submitting against the full test suite. It does not establish an IBM score, question count or cutoff.
Build a practice set around skills, not alleged repeats
For a software role, start with arrays, dictionaries, strings, sorting and simple traversal. Add SQL when the role or invitation calls for data work. The exercises below cover two implementation patterns and one join/aggregation task; they are not a statistical sample of IBM's question distribution.
Before coding, write a tiny expected result by hand. Then state the input limits. An O(n²) reference implementation may be useful for checking arrays of length six, even when the submitted approach needs to handle much larger inputs.
Original problem 1: count target-sum segments
Given an integer array values and integer target, count the nonempty contiguous subarrays whose sum equals target.
The array may be empty and may contain positive, negative or zero values. For practice, assume at most 100,000 elements. Count different index ranges separately even when their values match.
For values = [1, -1, 1] and target = 1, the answer is 3: the first element, the last element and the whole array. For [0, 0] and target 0, the answer is also 3.
def count_target_segments(values, target):
previous = {0: 1}
prefix = 0
answer = 0
for value in values:
prefix += value
answer += previous.get(prefix - target, 0)
previous[prefix] = previous.get(prefix, 0) + 1
return answerLet prefix be the sum up to the current endpoint. A previous prefix of prefix - target produces a segment summing to target. Store the number of occurrences, not just membership: repeated prefix sums correspond to different starting positions.
The initial {0: 1} allows segments beginning at index zero. Add to the answer before recording the current prefix, so you do not count an empty segment. This runs in expected O(n) time with a hash map and O(n) extra space.
A conventional positive-only sliding window is unsuitable here because negative values can make the sum fall when the right endpoint moves. Test the signed example, all zeros, an empty array and a target that never appears. If you use a fixed-width integer language, choose a type large enough for the sums and answer.
Original problem 2: merge maintenance windows
You receive a list of half-open maintenance intervals [start, end), with integer endpoints and start < end. Return their union as a sorted list of tuples. In this exercise, touching intervals must also be merged: [1, 3) and [3, 5) become (1, 5).
Input order is arbitrary; duplicates and negative endpoints are allowed. An empty list returns []. Do not mutate the caller's list. For [(5, 8), (1, 3), (3, 6), (10, 12)], return [(1, 8), (10, 12)].
def merge_windows(windows):
merged = []
for start, end in sorted(windows):
if not merged or start > merged[-1][1]:
merged.append((start, end))
else:
merged[-1] = (merged[-1][0], max(merged[-1][1], end))
return mergedAfter sorting by start, a new interval either begins beyond the current merged endpoint or belongs to that same union. Using start > previous_end for a new interval implements the instruction to merge touching windows. Changing the comparison changes the contract.
Sorting costs O(n log n); the scan is O(n). Extra space is O(n), including the sorted copy and output. Test nested intervals, touching endpoints, duplicate windows and a single window. A list containing zero-length or reversed intervals is outside this exercise's stated input domain; decide how to validate those if you turn it into a general-purpose API.
Optional SQL practice: open-ticket counts by team
This exercise is useful for data-oriented technical preparation. It is not a claim that every IBM coding assessment includes SQL.
CREATE TABLE teams (
team_id INTEGER PRIMARY KEY,
name TEXT NOT NULL
);
CREATE TABLE tickets (
ticket_id INTEGER PRIMARY KEY,
team_id INTEGER,
status TEXT NOT NULL
);Return every team's ID, name and number of open tickets, including teams with zero. A ticket is open only when status = 'open'. A ticket with a null or unknown team ID must not create an extra team. Order by team ID.
SELECT t.team_id, t.name, COUNT(k.ticket_id) AS open_count
FROM teams AS t
LEFT JOIN tickets AS k
ON k.team_id = t.team_id AND k.status = 'open'
GROUP BY t.team_id, t.name
ORDER BY t.team_id;Keep the status condition in the join. Moving it to a WHERE k.status = 'open' filter drops the unmatched teams you were asked to retain. Count the non-null ticket ID rather than COUNT(*), which would count the placeholder row created by a left join.
For teams (1, 'API') and (2, 'Data'), with two open tickets assigned to team 1, return (1, 'API', 2) and (2, 'Data', 0). Adding a closed ticket to team 2 must leave its count at zero. The query was checked in SQLite; use the dialect required by your actual assessment. Its plan and runtime depend on the engine and indexes.
How to investigate a failed test
Start with a case you can inspect, not a large random input. For the prefix-sum problem, print the prefix and the count being added. For interval merging, examine the sorted input and the endpoint comparison. For SQL, temporarily inspect joined rows before aggregation.
| Symptom | First thing to check |
|---|---|
| Only segments starting at index zero fail | Initial zero prefix |
| Zero-heavy arrays return too few segments | Prefix frequencies versus a set |
| Touching windows stay separate | Strict versus non-strict endpoint comparison |
| Some teams disappear | A right-side filter moved from ON to WHERE |
| A zero-ticket team reports one | COUNT(*) instead of a nullable joined key |
| Local answer is right but platform output differs | Required function signature, return type and output formatting |
This method also tells you what to explain in a later technical conversation. Instead of saying that you “fixed edge cases,” describe the assumption, the failing input and the smallest change that made the implementation match the specification.
A seven-day study plan
Practice verification: the article's solutions passed 7,651 prefix-sum cases, 816 interval cases and 120 SQLite datasets. The Python checks used independent small-input reference methods. This verifies the original practice material, not IBM's hidden tests.
This is a preparation schedule, not IBM's stated time allowance. If your deadline is closer, prioritize the tasks that match your invitation.
| Day | Focus | Deliverable |
|---|---|---|
| 1 | Identify the test and check the environment | Assessment title, deadline and required language |
| 2 | Prefix sums and frequency maps | Problem 1 plus a small brute-force checker |
| 3 | Sorting and interval boundaries | Problem 2 with touching and nested windows |
| 4 | SQL if relevant; otherwise strings/maps | A tested query or equivalent role-specific exercise |
| 5 | Two unseen practice tasks under a self-set timer | A record of reading, coding and debugging time |
| 6 | Revisit failures without copying the solution | One explanation per mistake |
| 7 | Setup check and verbal review | A short walkthrough of tests and complexity |
For platform familiarization, use the sample or practice options offered in the invitation. Our HackerRank OA guide explains broader preparation, but the employer's assigned rules remain the authority for your test.
FAQ
Does IBM use HackerRank?
The linked US candidate accounts describe HackerRank. IBM's official general pages do not establish it as the platform for every role. Check the link and assessment title you receive.
How many coding questions are there, and how long do I get?
The December 2024 US account describes two questions. That is a historical example, not a current universal format. Check your invitation for the count, timer and any separately timed sections.
What is the IBM coding assessment passing score?
The sources used here do not publish a universal cutoff. Passing the sample tests shows that your code works on those examples; it does not prove that all hidden tests pass or guarantee an interview.
Does “assessment under review” mean I passed?
It is an application status, not a score report. The linked backend applicant asked the same question after completing coding and competency work, but the discussion does not establish a hiring rule. Wait for an official update or ask recruiting about your application.
Can I use AI or an outside editor?
Follow the assessment's explicit rules. Do not infer permission from the availability of a tool or from a different employer's policy. Use outside assistance for practice beforehand, then complete the scored work under its stated conditions.
Should I prepare for behavioral questions too?
If that stage is assigned to you, yes. Use the IBM competency guide linked near the beginning for stories and recorded answers. For a different employer with a mixed coding, SQL and scripting report, see our Intuit OA guide; its reported format does not apply to IBM.
Continue preparing
Editor selected
IBM Recorded Competency Interview: Questions & Prep PDF
Prepare for your IBM competency interview with original practice questions, three annotated STAR answers, a fillable story worksheet, and a recording checklist.
Editor selected
Intuit OA: Assessment Formats, SQL, Bash and Coding Practice
Prepare for an Intuit OA with a US candidate report, a clear distinction from the craft demo, and original Python, SQL and Bash exercises with worked answers.
Editor selected
HackerRank OA Preparation Guide 2026: Question Types, Practice Plan, and Tips
Prepare for a HackerRank OA in 2026 with current question types, coding and SQL patterns, a focused 7-day practice plan, timing tactics, and test-day tips.
Same content type
Amazon HackerRank Assessment: SDE Coding Practice & Prep
Prepare for an Amazon HackerRank coding assessment: check your SDE format, try two original Python exercises, and diagnose hidden-test failures.
Ready to ace your next technical interview?
Practice interview questions, review your explanations, and explore SkillCopilotAI for interview preparation.
