IBM Coding Assessment: US Formats, HackerRank Reports and Practice

Prepare for an IBM coding assessment with official guidance, US candidate reports about HackerRank, two original Python problems and a SQL exercise with worked answers.

EmmaEmmaArticle Editing & Website Operations
Nov 8, 2026IBMUS Software Engineering and Technical Applicants
AI-generated editorial illustration of arrays and test checks for IBM coding assessment preparation

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 typePreparation taskWhat this page covers
Coding assessmentImplement, run and test code; review relevant programming conceptsWorked coding exercises and test strategy
Multiple-choice technical assessmentReview the concepts named in your invitation or roleHow to identify the scope; no claimed IBM answer bank
Recorded competency/video interviewPrepare true examples and explain your contributionSee the separate behavioral guide below
English/work-behaviour assessmentFollow that assessment's instructionsNot 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.

SourceWhat it describesWhat it cannot establish
US entry-level SWE account, December 23, 2024Two HackerRank coding questions followed by a later interviewCurrent universal question count, timer or cutoff
Backend applicant discussionCoding and competency completed; the writer identifies their location as the US in a commentThat “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.

HackerRank public Simple Array Sum practice showing a passed Python sample test with actual and expected output of 31

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 answer

Let 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 merged

After 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.

SymptomFirst thing to check
Only segments starting at index zero failInitial zero prefix
Zero-heavy arrays return too few segmentsPrefix frequencies versus a set
Touching windows stay separateStrict versus non-strict endpoint comparison
Some teams disappearA right-side filter moved from ON to WHERE
A zero-ticket team reports oneCOUNT(*) instead of a nullable joined key
Local answer is right but platform output differsRequired 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.

DayFocusDeliverable
1Identify the test and check the environmentAssessment title, deadline and required language
2Prefix sums and frequency mapsProblem 1 plus a small brute-force checker
3Sorting and interval boundariesProblem 2 with touching and nested windows
4SQL if relevant; otherwise strings/mapsA tested query or equivalent role-specific exercise
5Two unseen practice tasks under a self-set timerA record of reading, coding and debugging time
6Revisit failures without copying the solutionOne explanation per mistake
7Setup check and verbal reviewA 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.

Ready to ace your next technical interview?

Practice interview questions, review your explanations, and explore SkillCopilotAI for interview preparation.