IBMコーディングテスト対策ガイド2026:出題・時間配分・準備方法
PracHub の英語記事を翻訳したものです英語の原文を読む
概要
IBM公式の案内と、PracHubの問題集に寄せられた実際の4件の報告をもとにした、実践的なIBMコーディングテスト対策ガイドです。区間、文字列のインデックス、回文のための文字数の予算、スライディングウィンドウ、タイマーの使い方、非公開テスト、監督(プロクタリング)、プライバシー、7日間の準備計画を扱います。
多くの候補者は「IBMのコーディングテスト」を、全員が同じ問題、同じ制限時間、同じプラットフォームで受けるものとして準備しています。しかしIBM自身の案内によると、形式は職種によって異なります。招待メールが、あなたのテストの仕様書です。
このガイドでは、その公式の基本情報と、PracHubの問題集にある実際のIBMのコーディング問題4問を組み合わせます。4問は区間、文字列のインデックス、文字の出現頻度に基づく考え方、スライディングウィンドウを扱っています。IBMのテストがどれほど幅広くなりうるかを示してくれるので役に立ちます。5行で書ける正確さの確認問題が出ることもあれば、次に中級レベルのアルゴリズム問題をまるごと解く必要があることもあります。
汎用の問題リストに取りかかる前に、PracHubのIBM Coding & Algorithms questions(IBMのコーディングとアルゴリズムの問題)を開いてください。以下で紹介する報告された問題を使って、本当に補強すべきパターンを見極めましょう。

招待メールに書かれた職種別のテストに備え、そのうえで実際のIBMの出題報告を使って練習を具体的なものにしましょう。
結論: IBMは、テストに選択式の問題、コーディング課題、またはその両方が含まれうることを公式に認めています。一方で、全員共通の問題数、制限時間、プラットフォーム、使用可能な言語の一覧、合格点は公表していません。まず招待メールを読み、そのうえで時間を計ったコーディングの基礎練習と、募集要項に書かれた職種固有の内容に取り組んでください。
IBMが公式に認めていること
IBMの応募プロセスでは、コーディングテストは職種に応じて選択式の問題またはコーディング課題であると説明されています。テストに関するFAQでは、招待された候補者に対し、7日以内にテストを完了すること、そして自分のテストに制限時間があるかどうかを確認することを求めています。
| 項目 | 信頼できる情報 | 自分で確認すべきこと |
|---|---|---|
| 形式 | 選択式、コーディング課題、または職種に応じた組み合わせ | 招待メールに記載されたセクション |
| 完了期限 | IBMは招待された候補者に7日以内の完了を求めている | メールに書かれた正確な締切とタイムゾーン |
| タイマー | 制限時間のあるテストもある | 合計時間と、セクションごとに別のタイマーがあるかどうか |
| 問題数 | IBMは全員共通の数を公表していない | 開始前のテストのランディングページ |
| プログラミング言語 | 職種と環境によって選べる言語が異なる | 言語の選択画面と募集要項 |
| 監督(プロクタリング) | 一部のコーディング課題では、IBMがコードやWebカメラの写真を保存することがある | テストの画面に表示される許可と注意事項 |
| 合格点 | IBMは全員共通の合格ラインを公表していない | チームが共有してくれる場合は、リクルーターからの案内 |

基本はIBMの公開情報で押さえ、テストごとの細かいルールはすべて招待メールで確認してください。
IBMはHackerRankを使っていますか?
候補者の報告では、IBMのテストがHackerRank上で行われたという声が多く、IBMの新卒向け開発者ガイドでも、おすすめの練習リソースの一つとしてHackerRankが挙げられています。ただし、IBMの公開されている応募ページは、すべての職種や地域で同じプラットフォームが使われるとは約束していません。
プラットフォームが変わっても通用するスキルを準備しましょう。関数のシグネチャを読むこと、標準入力を扱うこと、コンパイルが通るコードを書くこと、自分でテストケースを作ること、失敗時のメッセージを読み解くことです。そのうえで、招待メールにリンクされているチュートリアルや練習環境を使ってください。
どんなトピックを準備すべきですか?
準備の2本目の柱を考えるうえで、いちばん頼りになるのは募集要項です。IBMの開発者向けガイドによると、技術的なトピックにはデータ構造、ネットワーク、テクノロジー、データの扱いが含まれることがあります。そのバランスは、ソフトウェアエンジニアリング、データ、AI、インフラの各職種で変わります。
| 職種の分野 | 重点的に練習すべき内容 | 評価の高い提出物が示すこと |
|---|---|---|
| ソフトウェアエンジニアリング | 配列、文字列、ハッシュ、ソート、区間、木、グラフ | 正確さ、計算量、エッジケース、読みやすい実装 |
| データエンジニアリング | SQL、結合、集計、データ変換、基本的なアルゴリズム | データの意味の理解、null の扱い、スケール、常に同じ順序の出力 |
| データサイエンスとAI | Python、SQL、配列、統計、データ操作 | 配列の形状(shape)の推論、前提条件、数値とデータのエッジケース |
| クラウドとインフラ | コーディングの基礎に加え、ネットワーク、Linux、API、自動化 | 運用面を踏まえた考え方と、障害を想定したコード |
候補者の書き込みの中には、コーディング問題が2問だったというものもありますが、それは一つの報告であり、全員に共通するテンプレートではありません。以下の問題集の事例は、あなたのテストを正確に予測するものというより、パターンの地図として使うほうが役に立ちます。
PracHubの問題集にある、実際のIBMのコーディング問題4問
現時点でPracHubには、正規化されたラウンド欄がそのまま「Online Assessment」になっているIBMの記録は表示されていません。以下の4件の記録は Technical Screen に分類されていますが、その元になった候補者の報告では、いずれもこの課題をOAだと明記しています。問題集のラベルを黙って付け替えたり、IBMのテストがどれも同じ問題を使い回していると思わせたりするのではなく、この違いをそのままお見せします。
| 実際の問題 | 報告された課題 | 知っておくべきパターン | OAの練習として役立つ理由 |
|---|---|---|---|
| Compute minimum rooms for meeting schedule(会議スケジュールに必要な最小の会議室数を求める) | ソートされていない半開区間の会議が与えられ、必要な最小の会議室数を返す | ソート、2つのポインタまたは最小ヒープ、終了と開始が同時刻のときの扱い | 問題文をイベントに置き換えられるか、終了時刻と開始時刻が等しい場合を処理できるかを確認できる |
| Reverse last two characters with space(末尾2文字を入れ替えてスペースを挟む) | "bat" のような文字列に対して "t a" を返す | 直接のインデックス指定、出力の整形、最小の長さの前提 | 短い正確さの確認問題で、作り込みすぎることとoff-by-oneエラーが主なリスク |
| Maximize palindromic strings after character swaps(文字の交換後に回文の文字列の数を最大化する) | 文字列の間で文字を交換し、回文にできる文字列の数を最大にする | 全体の文字頻度のカウント、ペアの予算、貪欲法による割り当て | 操作は局所的に見えるが、鍵となる単純化は、文字列の長さが固定のまま、文字が一つの共有プールになると捉えること |
| Find minimum subarray length with k distinct integers(異なる整数がちょうどk個ある最短の部分配列の長さを求める) | 異なる値がちょうど k 個含まれる、最も短い連続部分配列を返す | スライディングウィンドウ、頻度マップ、慎重な縮め方 | 「ちょうど k 個」と、より簡単な「k 個以下」のパターンを区別でき、古いカウントが残るバグも見つけられる |
問題1:会議スケジュールに必要な最小の会議室数
IBMの会議室の問題では、[start, end] の区間のリストが与えられ、必要な最小の会議室数を求めます。区間はソートされていません。ある会議が時刻 t に終わり、別の会議が時刻 t に始まる場合、2つは同じ会議室を使えます。
標準的な解法は2つあり、どちらも適切です。
- 開始時刻と終了時刻を別々にソートし、2つのポインタでスイープする。
- 会議を開始時刻でソートし、使用中の終了時刻を最小ヒープで管理する。
2つのポインタ版で重要なのは、<= ではなく starts[i] < ends[j] を使う行です。時刻 t の終了は、時刻 t の開始が会議室を使う前に、その会議室を空けます。実行時間はソートが支配的なので、目標は時間計算量 O(n log n) です。
練習問題: Compute shared free time intervals (IBM · Software Engineer)
| テスト | 期待される会議室数 | 確認できること |
|---|---|---|
[] | 0 | 空の入力の仕様 |
[[1, 4]] | 1 | 区間が1つだけの場合 |
[[1, 2], [2, 3]] | 1 | 端が接している半開区間 |
[[1, 4], [2, 5], [3, 6]] | 3 | 重なりのピーク |
[[5, 7], [1, 10], [2, 3]] | 2 | ソートされていない入力 |
問題2:末尾2文字を入れ替える
IBMの文字列問題は意図的に小さな問題で、"bat" が与えられたら "t a" を出力します。ここで身につけたいのはアルゴリズムではなく、細部まで丁寧に確認する習慣です。文字列が少なくとも2文字あることを確認し、直接インデックスを指定し、出力を完全に一致させてください。非公開テストは、"ta"、"t a"、逆順のインデックス指定を、壊れたグラフアルゴリズムと同じくらいきっぱりと不正解にします。
問題3:交換後に回文の文字列を最大化する
回文の問題では、ある文字列の1文字と別の文字列の1文字を、何回でも交換できます。各文字列の長さは元のままです。
発想の転換は、交換をシミュレーションするのをやめることです。文字列間で何度でも交換できるということは、文字全体が一つの在庫になるということです。長さ L の回文には floor(L / 2) 組の文字のペアが必要で、L が奇数なら中央に任意の1文字が加わります。すべての文字の頻度を数え、それをペアの総予算に変換し、必要なペア数が少ない文字列から順にその予算を割り当てます。面接官が確かめているのは、ごちゃごちゃした操作を、それが生み出す不変条件に置き換えられるかどうかです。
コードを書く前に、空文字列が許されるか、英小文字だけが現れるのかを確認してください。これらの詳細は、核となる考え方を変えるわけではありませんが、頻度の持ち方を決めます。
問題4:異なる値がちょうどk個の最短の部分配列
ちょうど k 個の問題では、異なる整数がちょうど k 個含まれる連続部分配列の最小の長さを求めます。そのようなウィンドウが存在しない場合は -1 を返します。
スライディングウィンドウと頻度マップを使います。ウィンドウ内の異なる値が k 個を超えたら、再び条件を満たすまで左端を進めます。ちょうど k 個になったら、左端の値がウィンドウ内に残る限り、左側から重複したコピーを取り除きます。長さを測るのはそのあとです。この「異なる値を失わない範囲で縮める」というルールが、有効なウィンドウを、現在の右端で終わる最短の有効なウィンドウに変えます。
k = 0、空の配列、すべて同じ値の配列、k が異なる値の総数より大きい場合、負の整数、左端の値が複数回現れるウィンドウをテストしてください。想定される計算量は時間 O(n) です。それぞれのポインタが前に進むのは最大でも n 回だからです。
練習問題: Count Index Triplets Whose Max Minus Min Is at Most d (IBM · Software Engineer)
時間配分、非公開テスト、提出の戦略
IBMは全員共通の制限時間を公表していないため、「1問30分」のような固定のルールは通用しないことがあります。招待メールに表示されたタイマーに合わせて調整できるよう、割合で考えましょう。
| 時間の割合 | 行動 | 具体的な成果物 |
|---|---|---|
| 最初の5% | すべてのセクションと制約に目を通す | 問題を解く順番とリスクの地図 |
| 次の15% | 例を書き、方針を決め、計算量を見積もる | 自信を持って説明できる計画 |
| 次の60% | 正しく動く最もシンプルな解法を実装する | 仕様全体を満たす、実行可能なコード |
| 次の15% | エッジケースと、ありそうな非公開テストを突く | サンプル以外の裏付け |
| 最後の5% | 制約を読み直し、意識して提出する | 整った最終回答 |
問題が複数ある場合は、まず全体に目を通してください。実際の4つの例を見ればその理由がわかります。短い文字列の問題に、回文やスライディングウィンドウの問題と同じだけの計画の時間をかけるべきではありません。確実に取れるところを先に押さえ、残りの時間を、考える力が問われる問題に使いましょう。
非公開テストが突くことの多いもの
非公開テストの多くは、書かれた仕様から当然に導かれる、サンプルでは試されなかったケースです。
| ミスのパターン | 提出前に試すテスト | IBMの問題集での例 |
|---|---|---|
| 境界のミス | 空の入力、要素が1つ、許される最小のサイズ | 末尾2文字の入れ替えでは最小の長さを明確にする必要がある |
| 同時刻・同値の扱い | 同じタイムスタンプ、重複、接している区間 | 時刻 t に終わる会議と時刻 t に始まる会議 |
| 状態の誤り | 繰り返しの呼び出し、古いグローバル変数、変更された入力 | 頻度マップは現在のウィンドウだけを表す必要がある |
| 数値やカウントの誤り | ゼロ、負の値、奇数の合計、オーバーフロー | 回文の中央の文字と、使われずに余る文字 |
| 計算量の失敗 | 制約の上限に近い人工的な入力 | スライディングウィンドウは各インデックスでやり直してはいけない |
| 出力の不一致 | 戻り値の正確な型、順序、空白、大文字小文字 | "t a" は "ta" ではない |
サンプルが通ったところで止めないでください。アルゴリズムが保つ不変条件を言葉にし、時間計算量と空間計算量を導き、少なくとも3つの意地悪なテストを書きましょう。
さらに時間を計って練習するなら、上のパターンが自然に身につくまで、IBM Coding & Algorithms questions(IBMのコーディングとアルゴリズムの問題)の範囲で続けてください。そのあと、後の技術面接に向けてSoftware Engineerの問題集へと広げましょう。
7日間のIBMコーディングテスト準備計画

7日間の完了期限を、診断、補強、模擬テストのサイクルに変えましょう。
| 日 | 重点 | 具体的な成果物 |
|---|---|---|
| 1 | 招待メールと募集要項を読む | プラットフォーム、タイマー、セクション、言語、締切、職種のスキルマップ |
| 2 | 時間を計って診断する | IBMの文字列問題と区間問題を解き、エラーの記録を始める |
| 3 | 状態を持つパターンを補強する | ちょうど k 個のスライディングウィンドウ問題と、関連する2問を解く |
| 4 | 職種固有の内容を練習する | 募集要項に合わせたSQL、データ、ネットワーク、クラウドの課題 |
| 5 | 非公開テスト対策を徹底する | 提出前に、エッジケースの表を2つの解答に当てはめる |
| 6 | テスト全体を模擬する | 選んだ言語で、中断なしの1セッション |
| 7 | 軽く復習して完了する | 安定した環境で、休息をとって臨み、意識して提出する |
ミスは問題名ではなく原因ごとに記録しましょう。「同時刻の区間を解放し忘れた」や「重複を縮める前にウィンドウの長さを測った」は、繰り返し使える教訓です。「問題3を間違えた」はそうではありません。
当日のルール、監督(プロクタリング)、プライバシー
IBMの応募者のプライバシーに関する通知によると、IBMはコーディングテスト中に作成されたコードを記録して保存することがあり、コーディング課題の間に1枚以上のWebカメラの写真を保存することがあります。ビデオ付きのテストでは録画が行われる場合もあります。この文言はあくまで取得されうる情報を述べたものであり、IBMのすべてのコーディングテストで常時ビデオが録画されることを裏づけるものではありません。
開始する前に、同意画面と招待メールを読んでください。カメラの許可を確認し、関係のないアプリを閉じ、求められた場合に備えて身分証明書を手元に置き、配慮が必要な場合は締切前にテストのサポート窓口に連絡しましょう。
IBMの応募ガイダンスは、AIの利用についても線を引いています。概念を学ぶためにAIを使うことは推奨されていますが、テストの技術的な解答をAIに書き直させることは認められていません。事前の準備にAIを使うのは構いません。テスト中は、表示されたルールに従い、自分自身の解答を提出してください。
| タイマーを開く前 | 最終提出の前 |
|---|---|
| 締切とタイムゾーンを確認する | すべての制約を読み直す |
| ブラウザ、ネットワーク、カメラ、キーボードを確認する | 境界、同時刻、スケールのテストを実行する |
| 許可されている言語のうち、深く理解しているものを選ぶ | デバッグ出力と不要なコードを削除する |
| 1回で終えられるよう、中断されない十分な時間を確保する | 戻り値の型と出力形式を確認する |
| ルールで許可されたリソースだけを開く | タイマーが切れる前に提出する |
IBMコーディングテストのFAQ
IBMのコーディングテストは何問出ますか?
IBMは全員共通の問題数を公表していません。候補者の報告は、職種や勤務地によってばらつきがあります。PracHubの問題集には、コーディング問題が2問ずつのIBMの報告も含まれていますが、あなたのテストが2問であることを保証するものではありません。正確な構成は、招待メールとテスト開始前の画面で確認してください。
IBMのコーディングテストの制限時間はどのくらいですか?
タイマーはテストごとに異なります。IBMの公開FAQは、候補者に対し、自分のテストに制限時間があるかを確認すること、そして1回で終えられるよう中断されない十分な時間を確保することを求めています。別に定められた7日間というルールは、招待後の完了期限であり、テストそのものの所要時間とは限りません。
上の4問は必ず出題されますか?
いいえ。これらはPracHubの問題集にある、候補者の報告に基づいた、IBMのタグが付いた実際の問題で、これまでに報告されたレベルとパターンの傾向を示すために掲載しています。流出した問題や、出題が保証された問題のセットではなく、練習の裏付けとして使ってください。
どのくらいの難易度を想定すべきですか?
全員共通の公式な難易度表示はありません。報告されたIBMの例は、直接の文字列インデックスから、中級レベルの区間、貪欲法、スライディングウィンドウの問題まで幅があります。簡単な正確さの確認問題はすばやく終わらせ、よくある中級レベルのパターンは、整った計算量とエッジケースの考察を添えて解けるように準備しましょう。
プログラミング言語は選べますか?
使える言語は、テストの環境と職種によって決まります。IBMの開発者向けガイドは、ほとんどの場合、いちばん得意な言語を使うことを勧めていますが、最終的には選択画面と招待メールに従います。タイマーが始まる前に対応状況を確認し、その言語で実際の入力、出力、テストの手順を練習しておきましょう。
IBMはコーディングテストを録画しますか?
IBMのプライバシーに関する通知には、コーディング課題の間にコードが保存され、1枚以上のWebカメラの写真が撮影されることがあると書かれています。ビデオ付きのテストは録画されることもあります。これは、すべてのテストで同じ監視が行われることの証明ではありません。ご自身のテストで表示される許可とプライバシーに関する通知を読んでください。
IBMのコーディングテストは再受験できますか?
IBMは、すべてのテストに共通する再受験のルールを公表していません。技術的な問題でセッションが中断された場合は、すぐに記録を残し、招待メールにあるサポートの連絡先を利用してください。ページの更新、再度開くこと、別の応募を始めることで、有効な再受験になると思い込まないようにしましょう。
次にやるべきことはシンプルです。リンク先のIBMの問題4問を1回で通して解き、最初に失敗した不変条件やエッジケースを記録して、本番のアセスメントを受ける前にその弱点を補強しましょう。
参考資料とさらに読む
- IBM Careers: Application Process(IBMキャリア:応募プロセス)
- IBM Careers: Assessment FAQ(IBMキャリア:テストに関するFAQ)
- IBM Careers: Entry-Level Developer Candidate Guidance(IBMキャリア:新卒向け開発者の候補者ガイド)
- IBM Careers: Applicant Data Privacy(IBMキャリア:応募者のデータプライバシー)
IBM の面接問題を練習する
IBM の面接問題を練習する関連記事(英語)
Roblox Robots Assessment: How to Practice Problem Solving and Iteration
Prepare for the Roblox Robots assessment with official practice links, controlled experiments, failure analysis, and clear limits on community scoring claims.
NVIDIA Ignite Internship 2027: Eligibility, Interview Process, and Preparation
NVIDIA Ignite Internship 2027 guide: eligibility, application timing, interview stages, resume tips, coding preparation, and current official updates.
Stripe SWE Intern OA 2027: One Long Coding Problem, Input Parsing, and Clean Code
Stripe SWE Intern OA 2027 guide to the reported 60-minute coding problem, parsing, hidden tests, clean code, practice questions, and next rounds.
Capgemini AI-Assisted Coding Assessment: Practice Debugging, Feature Changes, and Verification
Prepare for reported Capgemini AI-assisted coding variants with an original debugging task, owner-filter feature, bounded prompts, and regression checks.