回 2-10 道 2 データ構造とアルゴリズム
コーディングテストは、
読み終えたら見た
この頁の流れ
見た
30 分で、 見た ことの ない 問題を 解けますか
コーディングテストは、
たとえば、
「整数の並び nums と、整数 target がtarget になる 2 つの数のNone を
道 2 で
コーディングテストは どう 行われ、 何を 見られるのか
コーディングテストは、
選考の 入口に 置かれ、 形式は 4 つ
コーディングテストは、
形式は、
| 形式 | どう受けるか | 気をつける点 |
|---|---|---|
| オンライン | 決まった | 時間の配り方 |
| 持ち帰り | 問題を | 読みやすさと説明 |
| 対面 | 面接官の | 考えを声に出す |
| ペアプロ | 面接官と | 質問と |
持ち帰りの
正しさ、 読みやすさ、 速さを見られる
見られる
速さは、
30 分を 6 つの 段取りに割る
初めての
| 段取り | すること | 目安 |
|---|---|---|
| 1 読む | 入力、 | 3 分 |
| 2 手で解く | 小さな | 3 分 |
| 3 素直な解 | 全部を | 7 分 |
| 4 計算量を言う | 素直な | 2 分 |
| 5 速くする | 道 2 の | 10 分 |
| 6 端を試す | 空、 | 5 分 |
素直な
基本情報 科目B との違い
国家試験の
コーディングテストとの
動かして確かめる
冒頭のtarget から
動かす 素直な解と速い解の手間
▶ 実行ボタンを押すと結果がここに表示されます
実行すると、次の通りに出ます
((0, 1), 1)
((0, 1), 2)
10 45 10
100 4950 100
1000 499500 1000最初の 2 行は、[2, 7, 11] とin は
段取りの
2 本目は、target に
動かす 2 つの解を照らす
▶ 実行ボタンを押すと結果がここに表示されます
実行すると、次の通りに出ます
試した 2400
合わない 00 件から 7 件まで、
どこで 落ちるのか
コーディングテストで
「同じ 位置を 2 回使わない」を 読み落とす
速い解を
動かす 端の入力で落ちる
▶ 実行ボタンを押すと結果がここに表示されます
実行すると、次の通りに出ます
落ちた [3] 6 (0, 0)
終わり[3] とNone が[3, 3] と[1, 3, 5] と[2, 7, 11] と
時間が 足りなくなる
時間切れは、
説明が無い
対面と
練習は どう 確かめるのか
練習では、
- 時計を
止めずに 30 分で解き、 段取りごとの 時間を 書き残す。 どの 段取りで 時間を 使いすぎたかが分かる - 出す前に、空、1 件、同じ値、
答えが 無い、の 4 つを必ず試す。 上の コードのように、 素直な 解と 照らす試験を 書けると強い - 解き終えたら、
計算量を 1 文で 言う。 言えなかったら、 その 問題の 解説を 読み、 なぜ その O に なるかを書き写す - 同じ問題を、1 週間あけて
もう 一度解く。2 回目に 15 分で解けたら、 その形は 身に ついている
試験として
照らす試験の形
def test_against_brute():
for a, t in make_cases():
want = brute(a, t)
got = fast(a, t)
assert ok(a, t,
got, want)関わる実例
リクルートの 中途採用の コーディング試験 (2026年10月27日に 開いた頁)
リクルートは、
- エンジニアの
採用は、 コーディング試験から始まる - 問題は
メールで届き、2 週間を 目安に 答えを 送る。 コードの 量が 大きすぎると 評価しきれない ことがあるので、 できるだけまとめた コードを 求めている - 言語は
Perl、 Ruby、Python、Java、Scala、 Node.js の どれか。最後に Linux の 上で 動けば 環境は自由 - コンパイルできない、
手に 入りに くい版の ライブラリを 使う、 ネットの 資源の 流用や 質問サイトの 使用、は 採点できない - 採点の
基準は、 答えの 正解の 率、 分かりやすい コードか、 コードの センス、 処理の速さの 4 つ - 過去の
出題例は、3 人がカードを 額に かざして 自分の 順位を 推理する ゲームを、 人数と カードの 枚数を 変えられる 形で プログラムに する 問題で、 前提として 1 時間半の 制限時間が 書かれている
この
出典は 〈中途採用〉エントリー・
よくある問い
コーディングテストの 難易度は どの くらいですか
会社と
コーディングテストではどの 言語を 使えば よいですか
会社が
コーディングテストは 調べながら 受けられますか
会社に
コーディングテストで 落ちるのは なぜですか
多いのは、
コーディングテストの 練習は 何から 始めれば よいですか
まず、
確認クイズ
答えだと
1 問目
初めての問題を 30 分で解く
2 問目
この
3 問目
nums = [3]、target = 6 の
4 問目
この
辞書で探す
def fast(a, t):
seen = {}
for i, x in enumerate(a):
k = t - x # 相手の数
if k in seen:
return (seen[k], i)
seen[x] = i
return None
print(fast([1, 4, 4, 2], 8))説明課題
次のnums に、
自分の
この回の 先の一歩
コーディングテストで
もっと深く
この
一次資料
どれも 2026年10月27日に開いて、
- 〈中途採用〉エントリー・
コーディング試験に 。エンジニアのついて (リクルート、日本語) 採用が コーディング試験から 始まること、2 週間を 目安に 答えを 送る こと、 使える 言語、 採点できない 場合、 採点の基準 4 つ、過去の 出題例と 1 時間半の前提 - 基本情報技術者試験 (IPA、日本語)。科目B の
試験時間が 100 分、多肢選択式、 出題数と 解答数が 20 問であること - Time complexity of operations on built-in types (Python 公式文書、英語)。辞書の
inが平均 O(1) であること
次へ
道 2 データ構造とアルゴリズムの回
- 2-0アルゴリズムとは順次、
分岐、 反復の 3 つで書く手順頁で読む - 2-1線形探索と二分探索100 万件でも
20 回で見つかる頁で読む - 2-2バブルソートと
挿入・選択ソート遅い ソート 3 つ、 2 倍で 約 4 倍頁で読む - 2-3クイックソートと
マージソート速い ソート 2 つ、 平均と最悪頁で読む - 2-4スタックとキュー積む順と並ぶ順頁で読む
- 2-5再帰自分を
呼んで 小さくする頁で読む - 2-6木と
二分探索木たどる 順、片寄り頁で読む - 2-7ハッシュテーブル鍵から
一気に 引く、衝突頁で読む - 2-8ダイクストラ法と最短経路点と
線、 幅優先、 重みのある道頁で読む - 2-9動的計画法同じ
計算を 2 度しない頁で読む - 2-10試験と
面接で確かめる基本情報 科目B、 道場 10 問、 面接 20 問この回
