構築中。

名古屋のインフラエンジニアです。ITイベントへの参加記録などを残していきます。

本の紹介/世界で闘うプログラミング力を鍛える本 コーディング面接189問とその解法

世界で闘う気も転職する気も面接官になる予定もないのですが、面白そうなので買ってしまいました。

book.mynavi.jp

 

750ページ超、辞書みたい、というと大げさですが、かなりのボリュームです。

いきなり4ページに、

独学で身につけたことを意味するです。

 

上手な質問ができない人が担当したりするです。

 

そうした点が評価されなくなってしまうです。

という、

「あれ?これって日本人が翻訳したんじゃないの?」

「それとも校閲者が日本人じゃない人なのか?」

と思うような文章が連発されていて、そっと元の棚(もしくは平積み台)に戻して本屋を後にしようか迷ってしまうところですが、気を取り直して読み続けると意外と普通の文章でした。

内容は、GoogleAppleAmazonなどの有名IT企業のコーディング面接での出題とそれに対する解法のヒント、そして解法そのものが中心ですが、面接前の準備やコーディング以外の面接の受け答え、それから応募者とは逆に面接官へのアドバイスなども含まれています。

設問自体は非常にあっさりとしたものが並んでいますし、解法のヒント(解法よりも後のページにある)も簡潔なものばかりですが、解法に全ページの2/3以上が割かれています。

また、最初のほうにO(ビッグ・オー)記法に関する解説があります(書いたコードの処理が効率的かどうかは重要です)。

設問は、配列と文字列、スタックとキューなどのデータ構造、ビット操作やオブジェクト指向設計再帰、ソートと探索などの考え方とアルゴリズム、言語やデータベース、スレッドとロックといった知識ベース、その他追加練習問題から成り立っています。

 

…というところで、気づいた方は気づいたと思いますが、内容にはコンピュータ基礎理論をベースにしたものが多く、したがって応用情報あたりを受ける人にとっても役に立ちそうです。

※国際的な有名IT企業に受かるほうが難しそうですが、「ベースの部分だけ取り出せば共通している部分も多い」ということで。

気になる設問をチョイスして、

・最初から解法を読んで、考え方を理解し、時間が経ってから自力で解いてみる

または、(既に解く能力が大体あれば)

・まずは自力で解いてみて、それが難しければヒントだけ読んでチャレンジ、それでもダメなら解法を読む

といった使い方が考えられます。

 

さすがに全問制覇は時間が掛かりそうですが。

 

受験をしない人(私です)は、解法を「読み物」として楽しむのも良さそうです。