試験公開中

このエントリーをはてなブックマークに追加

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

マイナビ出版

3,222円+税

Google・Apple・Amazon・Microsoftが出題する“コーディング面接”に挑戦! トップIT企業が行う「コーディング面接」数千の出題の中から最高の150問を収録。アルゴリズムとデータ構造に関する重要な問題とその解法を分かりやすく解説。

関連サイト

本書の関連ページが用意されています。

内容紹介

『コーディング面接を突破するには、実際の問題で実践しそれらのパターンを学ばねばなりません。.. 本書に収録されているのは数千もの問題の中から選びぬかれた最高の150問です』(本書「イントロダクション」より)。

本書は、米国で既に第5版まで出版されているコンピュータプログラミングに関するベストセラー書の日本語版です。人気のあるトップIT企業で行われるプログラミング面接に合格し採用されるための攻略本として、マイクロソフト、アップル、グーグルでエンジニアとして働き、かつ多くの採用プロセスに関わってきた著者によって執筆されました。

その内容はコンピュータやプログラミングを知るすべての人が、アルゴリズムを中心としたコンピュータサイエンスの基礎知識や活用法を楽しみながら学べる本となっています。なにより本書で取り上げるプログラミングの問題は面接で実際に使われる問題であり、そこにはトップIT企業が求める能力が凝縮されているのです。

出題された問題はまず自分の頭で考えてみて、そのコーディング・テストについては「ペンと紙」で行ってみましょう(パソコンは最後正しいかどうかのチェックのみにしましょう)。また仲間を見つけ模擬面接を行います。自分が考える解法を声に出して相手に伝えてみてください。このようにしてプログラマとしての技術力とコミュニケーション能力の幅を拡げることができます。

自分がプログラマとして現在どの程度の能力があり、これからどうステップアップしていくべきか ― 本書にはそのヒントがたくさん含まれています。

書誌情報

  • 著者: Gayle Laakmann McDowell, Ozy, 秋葉拓哉(訳), 岩田陽一(監訳), 北川宜稔(監訳)
  • 発行日: (紙書籍版発行日: 2012-11-13)
  • 最終更新日: 2012-11-13
  • バージョン: 1.0.0
  • ページ数: 460ページ(PDF版換算)
  • 対応フォーマット: PDF
  • 出版社: マイナビ出版

対象読者

著者について

Gayle Laakmann McDowell

ソフトウェアエンジニアとして、マイクロソフト、アップル、グーグルに勤務した経験を持つ。特にグーグルでは主任面接官の1人として採用委員会のメンバーを務めた。米国およびその他の国で150以上の志願者に面接を行い、採用委員会では1000以上の面接結果、数百以上の履歴書評価を行った。2005年、著者自身の面接官・志願者としての豊富な経験を元にCareerCup.com(http://www.careercup.com/)を設立。有名企業による数千もの面接問題のデータベースを提供し、コーディング面接に関するアドバイスのためのフォーラムも設置している。ペンシルベニア大学でコンピュータサイエンス、ウォートンスクールでMBAの学士・修士号を取得している。

Ozy

学習塾経営の傍ら研究・開発を行う。主に組み合わせ最適化、可視化の分野を研究。著書『Short Coding ~職人達の技法』(マイナビ刊)。検索キーワード(Amazon、他) C言語 Java プログラミング アルゴリズム SE

秋葉拓哉

2011年、東京大学大学院に入学。プログラミングコンテストではiwiとして活躍。『プログラミングコンテストチャレンジブック 第2版』(マイナビ刊)共著者。

岩田陽一

2011年、東京大学大学院に入学。プログラミングコンテストではwataとして活躍。『プログラミングコンテストチャレンジブック 第2版』(マイナビ刊)共著者。

北川宜稔

2011年、東京大学大学院に入学。プログラミングコンテストではkita_masaとして活躍。『プログラミングコンテストチャレンジブック 第2版』(マイナビ刊)共著者。

目次

はじめに

イントロダクション

I. 面接の流れ

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

II. 面接試験の舞台裏

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

III. 特殊な状況

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

IV. 面接の前に

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

V. 行動に関する質問

  • 準備
  • 対策

VI. 技術的な質問

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

VII. オファーとその後

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

VIII. 問題

[データ構造]
Chapter 1 配列と文字列
Chapter 2 連結リスト
Chapter 3 スタックとキュー
Chapter 4 木とグラフ
[考え方とアルゴリズム]
Chapter 5 ビット操作
Chapter 6 頭の体操
Chapter 7 数学と確率
Chapter 8 オブジェクト指向設計
Chapter 9 再帰と動的計画法
Chapter 10 スケーラビリティとメモリ制限
Chapter 11 ソートと探索
Chapter 12 テスト
[知識ベース]
Chapter 13 CとC++
Chapter 14 Java
Chapter 15 データベース
Chapter 16 スレッドとロック
[追加練習問題]
Chapter 17 中級編
Chapter 18 上級編

IX. 解法

[データ構造]
Chapter 1 "配列と文字列"の解法
Chapter 2 "連結リスト"の解法
Chapter 3 "スタックとキュー"の解法
Chapter 4 "木とグラフ"の解法
[考え方とアルゴリズム]
Chapter 5 "ビット操作"の解法
Chapter 6 "頭の体操"の解法
Chapter 7 "数学と確率"の解法
Chapter 8 "オブジェクト指向設計"の解法
Chapter 9 "再帰と動的計画法"の解法
Chapter 10 "スケーラビリティとメモリ制限"の解法
Chapter 11 "ソートと探索"の解法
Chapter 12 "テスト"の解法
[知識ベース]
Chapter 13 "CとC++"の解法
Chapter 14 "Java"の解法
Chapter 15 "データベース"の解法
Chapter 16 "スレッドとロック"の解法
[追加練習問題]
Chapter 17 "中級編"の解法
Chapter 18 "上級編"の解法

X. 謝辞

XI. 索引

XII. プロフィール

Home 書籍一覧 世界で闘うプログラミング力を鍛える150問~トップIT企業のプログラマになるための本~ ▲ ページトップへ戻る