0Pricing
💻

Coding Interview Prep

INTERVIEW

DSA、SQL、競技プログラミングのコーディング面接対策

🤖 AI 搭載📚 90 コース👥 100,000+ ユーザー⭐ 4.9 評価

学び方

🎯
インタラクティブレッスン
リアルタイムフィードバック付きの実践的なコード演習
🤖
AIチューター
わからないときは、AIが即座にサポート
💻
組み込みエディタ
ブラウザで直接コードを書いて実行
🏆
認定資格
コース完了時に認定資格を取得
カリキュラム

90コース

Coding Interview Prepラーニングパスのすべてのコース

01

SQL基礎の面接問題

A14レッスン

面接開始から最初の5分で候補者を見極める、SQL基礎の頻出問題を扱います。SQLとは何か、クエリがどのように実行されるか、面接官が求める用語を身につけます。

02

DSAのためのPython入門

A14レッスンPRO

Pythonの基礎を復習し、面接中は問題解決に集中できるようにします。本コースでは、アルゴリズム問題で頻繁に登場する組み込みデータ型、内包表記、ユーティリティ関数を扱います。最後には、面接の時間制限下でも読みやすい、クリーンでPythonらしいコードを書けるようになります。

03

アリーナへようこそ:ジャッジと判定

A14レッスンPRO

オンラインジャッジに最初の解答を提出し、その判定を読み取れます

04

高速I/O:得点を失わずに入力を読む

A14レッスンPRO

制限時間超過を避けられる速さで、コンテストの入力を読み書きできます

05

SELECTと列式の基礎

A14レッスンPRO

列の射影、別名、計算式、DISTINCTに関する面接演習です。初学者がつまずきやすい、微妙なスコープ規則も扱います。

06

時間計算量と空間計算量

A14レッスンPRO

コードを1行も書く前に、あらゆるアルゴリズムの効率を分析できるようになります。本コースでは、ループ、再帰、データ構造の操作を題材に、視覚的な直感と例題を交えながらBig-O、Big-Theta、Big-Omega記法を学びます。計算量分析を身につけることは、面接官が評価する最も…

07

配列とツーポインター法

A14レッスンPRO

配列はコーディング面接で最もよく使われるデータ構造です。本コースでは、まずPythonでの配列操作の基本を学び、その後、数多くの定番問題で二重ループをなくせるツーポインターパターンを深く掘り下げます。pair-sum、three-sum、container-with-most-…

08

WHERE句による絞り込みの落とし穴

A14レッスンPRO

演算子の優先順位、BETWEENの境界、INとORの違い、パターンマッチングなど、絞り込みに関する定番の面接の落とし穴を扱います。一見正しそうなフィルターが、なぜ誤った行を返すのかを学びます。

09

時計とBig-O:通過できるでしょうか

A14レッスンPRO

コーディング前に制約からアルゴリズムの実行時間を見積もれます

10

文字列とパターンマッチング

A14レッスンPRO

文字列操作の問題は、ほぼすべてのコーディング面接で登場します。本コースでは、Pythonの豊富な文字列API、部分文字列検索に使うスライディングウィンドウ法、アナグラムや順列の検出を扱います。また、単純なO(n²)の総当たり法で十分な場合と、より効率的なアルゴリズムを使うべき場…

11

ORDER BY、LIMIT、Top-Nの問題

A14レッスンPRO

安定した並べ替え、複数キーによるソート、方言をまたいで上位N行を取得する方法など、並べ替えとページネーションに関する面接問題を扱います。

12

信頼できる配列

A14レッスンPRO

コンテストの課題に向けて、Pythonのリストを走査、構築、変換できます

13

思いどおりに動く文字列

A14レッスンPRO

文字列を操作・検査して、テキスト問題を解決できます

14

ソートアルゴリズム

A14レッスンPRO

実装レベルでソートを理解すると、面接でトレードオフを自信を持って説明するための語彙が身につきます。本コースでは、Pythonでバブルソート、挿入ソート、マージソート、クイックソートをゼロから実装し、それぞれの計算量を分析し、どのような実務場面に適しているかを示します。

15

集計関数の面接演習

A14レッスンPRO

COUNT、SUM、AVG、MIN、MAXと、面接で問われるNULLの扱いを学びます。COUNT(*)とCOUNT(column)の違いは、必ずと言ってよいほど出題されるポイントです。

16

INNER JOIN入門

A24レッスンPRO

面接官が最初に尋ねるJOINです。INNER JOINがどのように行を照合し、重複によって行数を増やし、ON述語をどこに置くのかを正確に理解します。

17

二分探索の極意

A24レッスンPRO

二分探索の力は、教科書的な定義から想像する以上に強力です。本コースでは基本的な実装に加え、回転した配列、サイズ不明のリスト、データ構造ではなく可能な答えの範囲を探索する答えの二分探索まで扱います。

18

Two Pointers:配列を走査する

A24レッスンPRO

Two Pointers法でペアや部分配列の問題を解決できます

19

累積和:O(1)の区間クエリ

A24レッスンPRO

累積配列を使って部分配列の和のクエリに即座に答えられます

20

LEFT、RIGHT、FULL OUTER JOIN

A24レッスンPRO

一致しない行の保持、欠落レコードの発見、面接官が好んで出題するアンチJOINパターンなど、外部結合の面接問題を扱います。

21

連結リストをゼロから実装

A24レッスンPRO

連結リストを通じて、Pythonの組み込み機能に頼らずポインターを操作し、メモリについて考える力を身につけます。本コースではNodeクラスから単方向連結リストを構築し、反転、循環検出、ソート済みリストのマージという面接の定番問題に取り組みます。

22

スタックとキューの実践

A24レッスンPRO

スタックとキューは、DFS、BFS、式の解析、Undoシステムを支える基本構造です。本コースではPythonのリストとcollections.dequeを使って両方を実装し、正しい括弧、日々の気温、スタックを使ったキューの実装など、面接の定番問題を解きます。

23

CROSS JOIN、SELF JOIN、JOINパターン

A24レッスンPRO

候補者を驚かせるJOINを扱います。直積、テーブル自身との結合、問題に本当に必要なJOINの見分け方を身につけます。

24

ソートと比較関数

A24レッスンPRO

カスタムキーでソートし、順序を利用して問題を簡単にできます

25

答えを二分探索する

A24レッスンPRO

ソート済みデータを検索し、数値の答えの範囲を二分探索できます

26

GROUP BYとHAVINGの面接の落とし穴

A24レッスンPRO

GROUP BYは、面接で初級者と中級者の差が表れる分野です。GROUP BYの規則、HAVINGとWHEREの違い、非集計列エラーを学びます。

27

ハッシュマップと集合

A24レッスンPRO

ハッシュマップはO(n)の線形スキャンをO(1)の検索に変え、多くの最適な面接解答を支える強力な手法です。このコースでは、衝突処理、負荷係数、Pythonのdict内部実装を扱い、ハッシュマップをtwo-sum、group-anagrams、longest-consecutiv…

28

NULL処理の面接問題

A24レッスンPRO

SQL面接で誤答の最大の原因となるNULLを扱います。3値論理、NULLセーフな比較、COALESCEを身につけます。

29

ハッシュ:Set、Map、カウンター

A24レッスンPRO

ハッシュ構造でO(1)の検索、カウント、重複除去を実現できます

30

再帰とコールスタック

A24レッスンPRO

再帰は、木の走査、バックトラッキング、分割統治の基盤です。このコースでは、再帰呼び出しのたびにコールスタックがどのように増減するのかを明らかにし、正しい再帰関数を書くための信頼できる3ステップの枠組みを確立します。さらに、選択した問題を明示的なスタックを使う反復解法に変換します。

31

サブクエリ徹底解説

B14レッスンPRO

面接官が提示するスカラー、行、テーブルのサブクエリを扱います。それぞれを記述できる場所と、サブクエリが最もすっきりした解答になる場面を理解します。

32

貪欲法:局所的な選択が勝つとき

B14レッスンPRO

コンテストの課題で使える単純な貪欲戦略を見抜き、証明できます

33

木:走査とパス

B14レッスンPRO

二分木は、LeetCodeのmediumおよびhard問題の4分の1以上に登場します。このコースでは、TreeNodeクラスを作成し、4種類すべての走査順序を再帰・反復の両方で実装します。さらに、最大深さ、直径、最小共通祖先など、パスに関する問題を解決します。

34

シミュレーション:ルールを正確にコード化する

B14レッスンPRO

複雑な問題のルールを、正しい手順どおりのシミュレーションに変換できます

35

二分探索木

B14レッスンPRO

BSTは、ソート済み配列の順序性と、連結リストの動的な挿入を組み合わせたデータ構造です。このコースでは、BSTの挿入、検索、削除操作を扱い、BSTが正しいことを検証します。さらに、kth-smallestや範囲検索など、ソートされた中順走査の性質を活用する問題を解決します。

36

相関サブクエリ

B14レッスンPRO

外側の各行に対して1回ずつ実行されるサブクエリです。相関サブクエリの見分け方、記述方法、書き換え方は、中級者向け面接で必須のスキルです。

37

再帰とバックトラッキング

B14レッスンPRO

再帰で解の空間を探索し、不要な分岐を枝刈りできます

38

共通テーブル式(CTE)

B14レッスンPRO

読みやすく再利用しやすいクエリロジックを実現するWITH句を学びます。面接では、ネストしたサブクエリを整理されたCTEにリファクタリングする力が求められます。

39

ヒープと優先度付きキュー

B14レッスンPRO

ヒープは、ストリーミング中央値、top-k-elements、Dijkstra's algorithmを支えています。このコースではヒープの性質を説明し、配列を使ってmin-heapをゼロから実装します。さらに、Pythonのheapqモジュールを使ってtop-k-freque…

40

再帰CTEと階層構造

B14レッスンPRO

ツリーやグラフを走査する再帰WITHを扱います。組織図、部品表、数列の生成は、高度な面接で定番の問題です。

41

グラフ:BFSとDFS

B14レッスンPRO

グラフ問題は、システム設計やアルゴリズムの面接で頻繁に登場します。このコースでは、隣接リストと隣接行列でグラフを表現し、訪問済み集合を使ったBFSとDFSによってconnected-components、number-of-islands、word-ladder、clone-g…

42

恐れずに全探索する

B14レッスンPRO

制約に全探索が適しているか判断し、効率的に列挙できます

43

動的計画法の基礎

B14レッスンPRO

動的計画法は多くの候補者にとって難しく感じられますが、実際には「重複する部分問題」と「最適部分構造」という2つの認識しやすい要素に集約できます。このコースではDPの考え方を身につけ、トップダウンのメモ化とボトムアップのテーブル化を学びます。さらに、Fibonacci、climb…

44

Stack、Queue、Deque

B14レッスンPRO

適切な線形データ構造を選び、典型的なパターンに活用できます

45

ウィンドウ関数:ROW_NUMBER、RANK、DENSE_RANK

B14レッスンPRO

面接で最も頻繁に問われる高度なSQL分野、順位付け用ウィンドウ関数を学びます。3つの順位関数が同順位に対してどのような違いを生むのかを理解します。

46

DPパターン:1次元問題

B14レッスンPRO

面接で扱われるDP問題の多くは、部分問題の答えを格納した1次元配列に帰着できます。このコースでは、線形走査、各ステップでの選択、スライディングウィンドウDPという主要な1次元DPパターンを見極め、house robber、maximum product subarray、wor…

47

ウィンドウ関数:LAG、LEAD、NTILE

B14レッスンPRO

行の比較やデータの層別化に使う、オフセット関数とバケット化関数を扱います。期間ごとの変化は、アナリスト面接で必ずと言ってよいほど問われます。

48

Sliding Windowを極める

B14レッスンPRO

窓を広げたり縮めたりして、部分配列や部分文字列の問題を解決できます

49

区間:マージ、走査、スケジューリング

B14レッスンPRO

区間をソートして走査し、統合、重なりのカウント、スケジューリングを行えます

50

累計と移動平均

B14レッスンPRO

累積計算やローリング計算に使うウィンドウフレーム句を学びます。ROWSとRANGEによるフレーム指定の違いは、中級者向け面接で問われる重要なポイントです。

51

DPパターン:2次元グリッド問題

B14レッスンPRO

2次元DPテーブルは、比較する2つの系列や、グリッド上の移動のように、状態が2つの独立したインデックスに依存する問題をモデル化します。このコースでは、unique paths、minimum path sum、longest common subsequence、edit di…

52

整数論ツールキット

B14レッスンPRO

GCD、ふるい、素数判定を数学的なコンテスト問題に適用できます

53

グループごとのTop-Nと重複排除

B14レッスンPRO

ウィンドウ関数で効率よく解決できる、面接頻出の2つの問題を扱います。カテゴリごとの上位項目の取得と、重複行の削除です。

54

バックトラッキング:探索と列挙

B14レッスンPRO

バックトラッキングは、候補となる解を体系的にすべて探索し、制約に違反した時点で分岐を打ち切ります。このコースでは、汎用的なバックトラッキングのテンプレートを学び、subsets、permutations、combination sum、N-queens、Sudoku solve…

55

N番目に高い給与と順位付けの難問

B14レッスンPRO

すべての候補者が出会う面接問題、2番目に高い給与、続いてN番目に高い給与を扱います。面接官が加えるさまざまな境界ケースにも対応します。

56

合同算術と組合せ論

B14レッスンPRO

逆元と階乗を使い、法の下で大きな組合せ数を計算できます

57

貪欲アルゴリズム

B14レッスンPRO

貪欲アルゴリズムは、各ステップで局所的に最適な選択を行い、適用できる場合には全体最適な結果を導きます。このコースでは、貪欲法が正しいのはどのような場合かという直感を養い、交換論法によって正しさを証明します。さらに、区間スケジューリング、jump game、タスクスケジューリング…

58

集合演算:UNION、INTERSECT、EXCEPT

B14レッスンPRO

結果セットを正しく結合する方法を学びます。UNIONとUNION ALL、列の互換性ルール、データセットの比較に集合演算を使う方法を扱います。

59

分割統治

B14レッスンPRO

分割統治は、問題を独立した部分問題に分割し、それぞれを再帰的に解いてから結果を統合します。このコースでは、merge sortにとどまらず、この手法を転倒数のカウント、最近点対、majority element(Boyer-Moore)、Karatsuba乗算アルゴリズムに応用…

60

ビット操作のパワーアップ

B14レッスンPRO

集合、マスク、定数時間の操作にビット演算のテクニックを活用できます

61

グラフ入門:BFSとDFS

B24レッスンPRO

グラフを表現し、幅優先探索と深さ優先探索で走査できます

62

高度なDP:区間と回文

B24レッスンPRO

区間DPは、範囲の両端点で部分問題を定義する強力なパターンです。回文分割、行列連鎖乗算、burst balloonsなどで最適解を導けます。このコースでは、汎用的な区間DPのテーブル構築順序を学び、4つの典型問題を最初から最後まで解決します。

63

ギャップと島の問題

B24レッスンPRO

連続するまとまりと、その間にあるギャップを見つける高度なパターン認識の問題群を扱います。SQL面接でシニアレベルの力を示すテーマです。

64

連続日数と継続分析

B24レッスンPRO

連続ログイン日数、連勝記録、LeetCode形式の3行連続問題など、連続記録とランレングスに関する問題を扱います。

65

高度なDP:ナップサックの派生

B24レッスンPRO

ナップサック問題群は、面接で最も頻繁に登場するDPの典型パターンの1つです。このコースでは、0/1ナップサック、unbounded knapsack、partition-equal-subset-sum、target-sumを扱います。それぞれの派生形で漸化式と状態空間をどのよ…

66

最短経路:Dijkstraとその仲間

B24レッスンPRO

適切なアルゴリズムで重み付きグラフの最短経路を計算できます

67

動的計画法の基礎

B24レッスンPRO

重複する部分問題を見つけ、1次元DPの漸化式を書けます

68

最短経路アルゴリズム

B24レッスンPRO

最短経路の考え方は、ネットワークルーティング、word-ladder、最安フライト問題などに登場します。このコースでは、min-heapを使ったDijkstra's algorithm、負の重みを扱うBellman-Ford、全点対の距離を求めるFloyd-Warshallを実…

69

ピボットとアンピボットのテクニック

B24レッスンPRO

ロング形式とワイド形式の間でデータを変換します。条件付き集計によるピボットと、その逆変換であるアンピボットは、レポート関連の面接でよく問われます。

70

トポロジカルソートとSCC

B24レッスンPRO

トポロジカルソートは、DAGの各辺が前方を向くように頂点を並べる手法であり、コーススケジューリング、ビルドシステム、依存関係の解決に不可欠です。このコースでは、Kahn's BFS-based algorithmとDFSベースの後順トポロジカルソートを実装し、強連結成分を求める…

71

日付、時刻、文字列の面接問題

B24レッスンPRO

面接で問われる日付の計算、切り捨て、文字列操作を扱い、方言による関数名の違いにも対応します。

72

ナップサックと2次元DP

B24レッスンPRO

ナップサック型の2次元DPで、資源に制約のある選択をモデル化できます

73

グリッドと文字列のDP

B24レッスンPRO

グリッドDPと文字列DPで経路数え上げや編集距離の問題を解決できます

74

コホート分析とリテンション分析のSQL

B24レッスンPRO

プロダクト分析の面接で問われるクエリを扱います。コホートの作成、リテンション曲線の計算、自己結合とウィンドウ関数によるアプローチを学びます。

75

トライと文字列アルゴリズム

B24レッスンPRO

トライ(プレフィックス木)は、ハッシュマップでは実現しにくい形で、オートコンプリート、スペルチェック、IPルーティングを解決します。このコースでは、insertとsearchをサポートするTrieNodeクラスを作成し、プレフィックス検索とワイルドカード照合に拡張します。さらに…

76

ファネル分析とA/Bテスト分析のSQL

B24レッスンPRO

データアナリスト面接で頻繁に使われる、イベントファネルのコンバージョン分析と実験分析のクエリを扱います。

77

Union-Findと素集合

B24レッスンPRO

Union-Find(Disjoint Set Union)は、ほぼ定数時間で連結性を問い合わせられ、動的なグループ化を扱う問題に最も簡潔な解決策を提供します。このコースでは、ランクによる併合とパス圧縮を実装し、DSUをnumber-of-connected-component…

78

Union-Find(DSU)と全域木

B24レッスンPRO

DSUで集合を統合し、最小全域木を構築できます

79

クエリ最適化とEXPLAIN

B24レッスンPRO

実行計画を読み解き、クエリが遅い理由を説明する方法を学びます。これは技術面接でシニア人材との差が表れるポイントです。

80

ビット操作のテクニック

B24レッスンPRO

ビット操作では、整数の2進表現を活用することで、追加の領域を使わずに一部の問題をO(1)またはO(n)で解決できます。このコースではAND、OR、XOR、シフト、ビットマスクを扱い、single-number、counting-bits、power-of-two、missing…

81

Fenwick木とSegment Tree

B24レッスンPRO

動的な区間クエリと更新を対数時間で処理できます

82

インデックス設計の問題

B24レッスンPRO

面接で問われるインデックス設計を扱います。どの列にインデックスを付けるか、複合インデックスの順序、カバリングインデックス、インデックスが逆効果になる場面を学びます。

83

高度なグラフ:順序と構造

B24レッスンPRO

DAGをトポロジカルソートし、グラフを強連結成分に分解できます

84

単調スタックとスライディングウィンドウの最大値

B24レッスンPRO

単調スタックとデックは、左から右へ要素を処理しながらソート済みの不変条件を維持します。これにより、通常ならO(n²)の二重ループが必要な問題をO(n)で解決できます。このコースでは、daily temperatures、largest rectangle in histogra…

85

コンテストのための文字列アルゴリズム

B24レッスンPRO

KMP、ハッシュ、Trieでパターンを高速に照合できます

86

コーディング面接のためのシステム設計

B24レッスンPRO

シニア向けの面接では、ホワイトボードにスケーラブルなアーキテクチャを描く30〜45分のシステム設計面接が行われることがあります。このコースでは、要件の明確化、規模の見積もり、データモデルとAPIの設計、ストレージエンジンの選択、整合性・可用性・レイテンシをめぐるトレードオフの検…

87

トランザクション、ACID、分離レベル

B24レッスンPRO

ACID特性、4つの分離レベル、それぞれが防ぐアノマリなど、並行性に関する面接問題を扱います。

88

FAANGパターンと模擬面接

B24レッスンPRO

この総仕上げコースでは、カリキュラム全体のパターンを体系的な問題解決手順にまとめます。問題文を読んで最初の60秒で適用すべきパターンを見極める方法、時間制限下での練習方法、計算量やエッジケースに関する追加質問に実際の面接官のように対応する方法を学びます。

89

終盤戦:ゲーム理論、MITM、コンテストの技術

B24レッスンPRO

コンテストのプレッシャー下で、ゲーム理論、Meet-in-the-Middle、デバッグ手順を活用できます

90

スキーマ設計、正規化、模擬面接

B24レッスンPRO

データベースモデリングと、本番形式の模擬面接問題をまとめた総仕上げコースです。正規化、スター・スキーマ、エンドツーエンドの問題解決を扱います。

よくある質問

よくある質問

Coding Interview Prepコースは無料ですか?

はい。Coding Interview Prepコースは無料で始められ、インタラクティブレッスンをすべて無料で完了できます。オプションのPRO登録で、高度なAIツールと共有可能な認定資格がアンロックされます。

INTERVIEWを学ぶのに事前経験は必要ですか?

いいえ。コースは基礎から始まり、より高度なトピックへと進むので、INTERVIEWの事前経験がなくても始められます。

CoddyKitでINTERVIEWをどのように学びますか?

実践しながら学びます。短いインタラクティブレッスンは、わかりやすい説明と、リアルタイムで実行される実践的なコード演習が組み合わさっており、24時間対応のAIチューターがわからないときにいつでもサポートします。

Coding Interview Prepを完了すると認定資格がもらえますか?

はい。PRO学習者は試験を受けて、Coding Interview Prepコースの完了を証明する共有可能な認定資格を取得できます(認証コード付き)。

スマートフォンでINTERVIEWを学べますか?

はい。CoddyKitはウェブとネイティブiOS・Androidアプリで利用でき、どのデバイスでもINTERVIEWを学習でき、進捗がすべてのデバイスで同期されます。

Coding Interview Prepを今すぐ始める

AI搭載レッスンでプログラミングをマスターする数千人の学習者に参加しましょう。

無料で始める →すべてのコースを見る