世界で闘うプログラミング力を鍛える本
前著『世界で闘うプログラミング力を鍛える150問』から4年、米国ベストセラーの"Cracking the Coding Interview"の新版(第6版)の邦訳『世界で闘うプログラミング力を鍛える本 〜コーディング面接189問とその解法〜』が完成しました!2月27日発売予定です!!
世界で闘うプログラミング力を鍛える本 ~コーディング面接189問とその解法~
- 作者: Gayle Laakmann McDowell,岡田佑一,小林啓倫
- 出版社/メーカー: マイナビ出版
- 発売日: 2017/02/27
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (7件) を見る
発売記念プレゼント問題!
CodeIQから発売記念プレゼント問題を出題しています!(3月7日AM10:00まで)
不正解でも挑戦していただければ抽選対象になりますので、プログラミングに自信のない方も是非チャレンジしてみてください!
超ボリューム!もはや別本!!
第5版と比べ、問題の追加・解法の全体的な修正を行いました。特に計算量に関しては、各問題の解法に計算量に関する記述を追加しただけではなく具体的な例をたくさん含んだ解説や練習問題が追加されています。189問の面接問題にはすべてヒントが与えられ、できるだけ自分の頭を使って取り組むための工夫がされています。
300頁以上を追記し、既存の内容も半分近くを修正した結果、もはや前著とは別の本と言ってもよい程の仕上がりになりました。単にページ数が増えただけではなく、前述の計算量に加え、木・グラフ・探索に関する記述が大幅に増え、プログラミング技術書として非常にバランスが良くなりました。
これは原著の第5版(右)と第6版(左)です。本を開かなくても、そのボリュームの差を感じることができると思います。
競技プログラミングとの違い
1つ注意点としていただきたいのは、本書は競技プログラミング向けの書籍ではないということです。あくまで『採用面接の攻略本』というスタンスであることに注意してください。競技プログラミングの勉強がしたければ、『プログラミングコンテスト攻略のためのアルゴリズムとデータ構造』や『プログラミングコンテストチャレンジブック』をお勧めします。
プログラミングコンテスト攻略のためのアルゴリズムとデータ構造
- 作者: 渡部有隆,Ozy(協力),秋葉拓哉(協力)
- 出版社/メーカー: マイナビ
- 発売日: 2015/01/30
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (7件) を見る
プログラミングコンテストチャレンジブック [第2版] ?問題解決のアルゴリズム活用力とコーディングテクニックを鍛える?
- 作者: 秋葉拓哉,岩田陽一,北川宜稔
- 出版社/メーカー: マイナビ
- 発売日: 2012/01/28
- メディア: 単行本(ソフトカバー)
- 購入: 25人 クリック: 473回
- この商品を含むブログ (36件) を見る
採用面接の問題は、議論の『種』としてあいまいな要素が含まれることが多くなっています。また、面接官と対話的に進めることが前提であるため、必ず最初から最適解を答えなければならないというわけでもありません。問題の範囲を自分で(あるいは対話的に)定義し、どのようにアプローチするか、どのように改良するかを説明する能力を養うことが目的です。
競技プログラミングの経験をそれなりにお持ちの場合は、競技プログラミングで必要なスキルと本書の内容との間に、どの程度ギャップがあるのか調べてみるのも面白いかもしれません。たとえば、ダイクストラ法やトポロジカルソートは、本書では『より高度の話題』に分類されており、必ずしも知っている必要はないという位置付けです。
目次
- I. 面接の流れ
- 「なぜ?」
- 問題はどう選ばれるか
- すべては相対的
- FAQ:よくある質問
- II. 面接試験の舞台裏
- III. 特殊な状況
- 職歴の長い候補者
- テスターとSDET
- プロダクト/プログラム・マネージャ
- 開発リーダー/マネージャ
- スタートアップ企業
- 合併や買収による人材獲得
- 面接官に向けたアドバイス
- IV. 面接の前に
- 良い経験を得る
- 履歴書の書き方
- 準備表
- V. 行動に関する質問
- 面接準備の表
- 技術的プロジェクトについて整理する
- 行動に関する質問への対応
- 「では、あなた自身のことについて聞かせてください……」
- VI. ビッグ・オー記法(Big O)
- VII. 技術的な質問
- VIII. オファーとその後
- オファーと不採用の取り扱い
- オファーの評価
- 交渉
- 仕事をしていく上で
- IX. 問題
[データ構造]
-
- Chapter 1 | 配列と文字列
- Chapter 2 | 連結リスト
- Chapter 3 | スタックとキュー
- Chapter 4 | 木とグラフ
[考え方とアルゴリズム]
-
- Chapter 5 | ビット操作
- Chapter 6 | 数学と論理パズル
- Chapter 7 | オブジェクト指向設計
- Chapter 8 | 再帰と動的計画法
- Chapter 9 | スケーラビリティとシステムデザイン
- Chapter 10 | ソートと探索
- Chapter 11 | テスト
[知識ベース]
[追加練習問題]
-
- Chapter 16 | 中級編
- Chapter 17 | 上級編
- X. 解法
[データ構造]
-
- Chapter 1 | “ 配列と文字列”の解法
- Chapter 2 | “ 連結リスト”の解法
- Chapter 3 | “スタックとキュー”の解法
- Chapter 4 | “ 木とグラフ”の解法
[考え方とアルゴリズム]
-
- Chapter 5 | “ビット操作”の解法
- Chapter 6 | “ 数学と論理パズル”の解法
- Chapter 7 | “オブジェクト指向設計”の解法
- Chapter 8 | “ 再帰と動的計画法”の解法
- Chapter 9 | “スケーラビリティととシステムデザイン”の解法
- Chapter 10 | “ソートと探索”の解法
- Chapter 11 | “テスト”の解法
[知識ベース]
[追加練習問題]