はじめに
こんにちは。アメリカに住みながら独学でエンジニアを目指しているTairaです。
アメリカでソフトウェアエンジニアになるために一番の山場がコーディング面接です。
コーディング面接とは問題を出されて、質問したりしながらコーディングするというものです。
本日は、コーディング面接対策として使えそうな書籍やサイトを紹介していきたいと思います。
1. LeetCode
LeetCodeは、コーディング面接対策の実践に最も使われているサイトの一つです。
- 問題数は2000問以上
- 難易度はEasy、Medium、Hardの3段階
- 利用者コミュニティも活発
- 企業別によく出題される問題を検索可
前提知識も含めて自宅で自由に練習したい場合に最適です。
2. Cracking the Coding Interview
ゲイル・ラックさんが執筆した、面接対策書のバイブル的存在です。
- 基本のデータ構造、アルゴリズムの理論解説
- 問題数も多く、分野別にまとまっている
- 面接の流れやチームとの会話の指向も提示
上等企業の面接対策を精心に行いたい人に適しており、基礎力の強化に有用です。
3. AlgoExpert
AlgoExpertは、コーディング面接対策に特化した有料サービスで、解説動画の詳細さに対応あり、覚えやすさが特徴です。
- 問題数は約160問 (重要問題に範当)
- 「パターン別」の学習には向いていない
- 動画解説は実際の面接を想定した意思を感じられる
- モック面接機能も付属
覚えやすく、短期集中型の面接対策をしたい人に最適です。
4. AlgoMonster
AlgoMonsterは、面接の「問題パターン」を体系的に解析しながら学べる有料サービスです。
- 問題数は300問以上
- パターン別の解説が優れている
- GoogleやAmazonなど、企業別の実際の出題傾向を可視化
- 動画はないが文章解説ステップごとなので分かりやすい
パターンの理解に基づき、広範囲な学習をしたい人に向いています。
まとめ
自分の学習スタイルや現在のレベルによって最適なツールは異なりますが、簡単に分類すると以下の通りです。
スタイル | 最適なツール |
---|---|
理論を精心的に学びたい | Cracking the Coding Interview |
体系的にパターンを覚えたい | AlgoMonster |
動画解説で覚えたい | AlgoExpert |
問題数を解いて実践したい | LeetCode |
相互使いも素晴らしい方法なので、最初は自分に合ったものを一つ選び、どんどん拡張していくのが良いでしょう。