アルゴリズム

世界で闘うプログラミング力を鍛える150問
~トップIT企業のプログラマになるための本~

Gayle Laakmann McDowell
マイナビ

はじめに
イントロダクション

I 面接の流れ

  • 概要
  • どのように問題が選ばれるか
  • 面接準備予定表
  • 評価プロセス
  • 正しくない答え
  • 面接時の服装
  • 失敗トップ10
  • よくある質問

II 面接試験の舞台裏

  • マイクロソフト(Microsoft)
  • アマゾン(Amazon)
  • グーグル(Google)
  • アップル(Apple)
  • フェイスブック(Facebook)
  • ヤフー(Yahoo)

III 特殊な状況

  • 経験のある志願者
  • テスターとSDET
  • プログラム/プロダクト・マネージャ
  • 開発リーダ/マネージャ
  • ベンチャー企業

IV 面接の前に

  • 良い経験を得る
  • ネットワークを築く
  • 履歴書の書き方

V 行動に関する質問

  • 準備
  • 対策

VI 技術的な質問

  • 準備
  • 対策
  • アルゴリズム5つの手法
  • 良い、きれいなコードとは

VII オファーとその後

  • オファーと不採用の取り扱い
  • オファーの評価
  • 交渉
  • 仕事をしていく上で

VIII 問題

  • データ構造
  • Chapter1 配列と文字列
  • Chapter2 連結リスト
  • Chapter3 スタックとキュー
  • Chapter4 木とグラフ
  • 考え方とアルゴリズム
  • Chapter5 ビット操作
  • Chapter6 頭の体操
  • Chapter7 数学と確率
  • Chapter8 オブジェクト指向設計
  • Chapter9 再起と動的手法
  • Chapter10 スケーラビリティとメモリ制限
  • Chapter11 ソートと探索
  • Chapter12 テスト
  • 知識ベース
  • Chapter13 CとC++
  • Chapter14 Java
  • Chapter15 データベース
  • Chapter16 スレッドとロック
  • 追加練習問題
  • Chapter17 中級編
  • Chapter18 上級編

IX 解法

  • データ構造
  • Chapter1 "配列と文字列”の解法
  • Chapter2 "連結リスト”の解法
  • Chapter3 "スタックとキュー”の解法
  • Chapter4 "木とグラフ”の解法
  • 考え方とアルゴリズム
  • Chapter5 "ビット操作”の解法
  • Chapter6 "頭の体操”の解法
  • Chapter7 "数学と確率”の解法
  • Chapter8 "オブジェクト指向設計”の解法
  • Chapter9 "再起と動的手法”の解法
  • Chapter10 "スケーラビリティとメモリ制限”の解法
  • Chapter11 "ソートと探索”の解法
  • Chapter12 "テスト”の解法
  • 知識ベース
  • Chapter13 "CとC++”の解法
  • Chapter14 "Java”の解法
  • Chapter15 "データベース”の解法
  • Chapter16 "スレッドとロック”の解法
  • 追加練習問題
  • Chapter17 "中級編”の解法
  • Chapter18 "上級編"の解法

X 謝辞

XI 索引

XII プロフィール