独学でGoogle・Amazon内定レベルに!コンピュータサイエンス完全攻略ロードマップ — coding-interview-university

jwasham/coding-interview-university340.0k

coding-interview-universityは、大手IT企業(Google、Amazon、Facebook、Microsoftなど)のソフトウェアエンジニア面接に合格するための学習計画をまとめた無料の教材集です。データ構造(データの整理方法)やアルゴリズム(問題の解き方の手順)など、コンピュータサイエンスの大学4年間分の重要トピックを網羅しています。作者のJohn Washam氏は、コンピュータサイエンスの学位を持たないまま数ヶ月間独学し、実際にAmazonに採用された経験をもとにcoding-interview-universityを作成しました。動画・書籍・練習問題サイトへのリンクが体系的に整理されており、何をどの順番で学べばよいかが一目でわかるチェックリスト形式になっています。プログラミング経験者であれば誰でも利用でき、16カ国語以上に翻訳されているグローバルな学習リソースです。

🔥 なぜ話題?

テック企業の採用面接がますます競争激化する中、大学のCS学位がなくても体系的に面接対策できる無料リソースとして、世界中のキャリアチェンジ希望者やスキルアップを目指すエンジニアに長期的に支持されています。特にAIブームで技術職への転職需要が高まっていることが、coding-interview-universityへの注目を再び押し上げています。

💡 こう使える!

例えば、Web開発の実務経験はあるけれどコンピュータサイエンスの基礎(配列やリンクリストの仕組み、ソートアルゴリズムの計算量など)を体系的に学んだことがない人が、GoogleやAmazonの技術面接に挑戦したいとき、coding-interview-universityのチェックリストに沿って毎日1トピックずつ動画を見て実装練習を繰り返すことで、数ヶ月で面接合格レベルの知識を身につけられます。

ユースケース: 大手IT企業のソフトウェアエンジニア技術面接に向けて、コンピュータサイエンスの基礎を独学で体系的に学びたい人向けの学習ロードマップ。

  • 大学4年間分のコンピュータサイエンスの面接必須知識を1つのチェックリストに凝縮
  • 作者自身がこの学習計画でAmazonに内定した実績付き
  • 動画・書籍・練習サイトなど厳選リソースへのリンクが体系的に整理されている
  • 16カ国語以上に翻訳されGitHubで30万スター超えの世界的人気教材
  • フラッシュカードや進捗管理のチェックボックスなど独学を支える工夫が豊富
GitHubで見る →

A complete computer science study plan to become a software engineer.

技術情報

ライセンス

CC-BY-SA-4.0

最終更新

2025-08-28

スター数

339,986

フォーク数

81,810

Issue数

103

トピック

algorithmalgorithmscoding-interviewcoding-interviewscomputer-sciencedata-structuresinterviewinterview-prepinterview-preparationprogramming-interviewssoftware-engineeringstudy-plan

技術詳細

学習計画の構成

coding-interview-universityは「インストールして使うソフトウェア」ではなく、技術面接対策のための学習ロードマップ(チェックリスト形式のMarkdownドキュメント)です。

カバーするトピック一覧

必須トピック(コア)

  • 計算量解析(Big-O記法): アルゴリズムの効率を評価する方法
  • データ構造: 配列、連結リスト、スタック、キュー、ハッシュテーブル
  • 木構造: 二分探索木(BST)、ヒープ/優先度キュー、平衡二分探索木
  • ソートアルゴリズム: マージソート、クイックソート、ヒープソート、挿入ソート、選択ソート
  • グラフ: 有向/無向グラフ、隣接行列、隣接リスト、BFS(幅優先探索)、DFS(深さ優先探索)
  • その他: 二分探索、ビット演算、再帰、動的計画法、デザインパターン、NP完全問題、キャッシュ、プロセスとスレッド、ネットワーキング

オプション(上級)トピック

  • システム設計・スケーラビリティ(実務経験4年以上向け)
  • コンパイラ、暗号学、圧縮、並列プログラミング
  • AVL木、赤黒木、B木、スキップリスト、Bloom Filter、HyperLogLogなどの高度なデータ構造
  • 線形計画法、高速フーリエ変換、計算幾何学

推奨プログラミング言語

面接で使える言語として以下を推奨:

  • C++JavaPython(最有力候補)
  • JavaScript、Rubyも使用可能(ただし注意点あり)
  • 学習用にはC(低レベルの理解)とPython(効率的な記述)の組み合わせを作者は使用

推奨書籍

言語書籍
PythonCoding Interview Patterns(メイン推奨)
CAlgorithms in C, Parts 1-5
JavaAlgorithms (Sedgewick) / Data Structures and Algorithms in Java
C++Data Structures and Algorithms in C++ (Goodrich)

面接対策書:

  • Cracking the Coding Interview 6th Edition
  • Programming Interviews Exposed 4th Edition
  • Elements of Programming Interviews(時間に余裕がある場合)

練習サイト

  • LeetCode(作者の最推奨、有料プランを1〜2ヶ月利用推奨)
  • HackerRank、TopCoder、Codeforces、Codility、GeeksforGeeks、AlgoExpert

学習のコツ(作者の経験則)

  1. フラッシュカード活用: Ankiなどの反復学習ツールを使って記憶定着
  2. 学習と問題演習を並行: トピックを学んだら2〜3問すぐに解く(学習後にまとめて解くのはNG)
  3. ホワイトボード練習: 紙やホワイトボードにコードを書く練習が重要
  4. 全部覚えようとしない: 面接に必要な約75%を押さえればOK

対象外のトピック

以下はこの学習計画には含まれない:

  • JavaScript、HTML、CSS(フロントエンド技術)
  • SQL
  • フルスタック開発(別途 roadmap.sh を参照)

翻訳対応

日本語を含む16カ国語以上の翻訳あり。さらに多くの言語が翻訳進行中。

進捗管理方法

GitHubのMarkdownチェックボックス機能を活用。リポジトリをForkして、完了項目に [x] を入れていく方式。Gitを使わない場合はZIPダウンロードも可能。

前提条件

  • プログラミングの基礎知識(変数、ループ、関数など)
  • 根気と時間(作者は1日8〜12時間×数ヶ月を費やしたが、そこまでは不要とのこと)

参考になる外部の関連記事

関連リポジトリ

「自分で作って本当に理解する」30以上の技術を一から再現するチュートリアル集 — build-your-own-x

codecrafters-io/build-your-own-xMarkdown480.5k

build-your-own-xは、データベースやOS、ゲーム、プログラミング言語、Webブラウザなど、普段使っている技術を「自分の手でゼロから作ってみる」ためのチュートリアル(学習ガイド)をまとめた

TheAlgorithms/Python

TheAlgorithms/PythonPython217.8k

様々なアルゴリズムとデータ構造をPythonで実装した教育目的のオープンソースリポジトリです。ソート、検索、グラフ理論、動的プログラミングなど、コンピュータサイエンスの基本的なアルゴリズムが網羅的に実

avelino/awesome-go

avelino/awesome-goGo165.3k

awesome-goは、Goプログラミング言語で開発された優秀なフレームワーク、ライブラリ、ソフトウェアを厳選して整理したキュレーションリストです。Web開発、データベース、テスト、DevOpsツール

世界中のテレビが無料で観られる!公開チャンネルリンク集 — iptv

iptv-org/iptvTypeScript113.8k

iptv-org/iptvは、世界中で公開されているインターネットテレビ(IPTV)チャンネルのリンクを集めたプレイリスト集です。VLCなどの動画プレイヤーにプレイリストのURLを貼り付けるだけで、さ

中国の小学校〜大学までの全教科書PDFを無料で!海外華人の子育てにも — ChinaTextbook

TapXWorld/ChinaTextbookRoff69.2k

ChinaTextbookは、中国の小学校・中学校・高校・大学の教科書をPDF形式で無料公開しているリポジトリです。本来は無料で手に入るはずの義務教育の教材が、一部の人によって有料で転売されている問題