https://www.amazon.co.jp/dp/4839960100
積んでいたのでそろそろやるかと思いチャレンジ。
中級編上級編未着手なのと、後半の取り組みが雑になってしまったが一応一通りやってみた。
序盤はビックテックの面接はどういうものなのか、裏側はどうなっているかについて書かれており、ビックテックを受けるとしたら参考になりそう。加えて、面接での行動についても触れられており、こちらはビックテックに関係なく面接前に読み返したい内容だった。
そして肝心の問題はコンピュータサイエンスの授業でやったものや、競技プログラミングに近いものも多く、懐かしい気持ちで取り組むことができた。とはいえしばらくやっていないと全然解けなくて、「自分はこんなのもすぐに解けないのか…」と気が落ち込みがち。
競技プログラミングと違い、Howまで指定されることもあるのに慣れる必要があった。(「◯◯を使ってor使わずに△△を実装せよ」のような)
また、競技プログラミングとの違いという観点だと、与えられた問題に曖昧さが残るものも多数あり、これは面接中に対話で明らかにする必要があるんだろうなと推測できた。*1
内容は全体的に良い本ではあるが、ときおり誤植が見られたり、問題文の理解が文章構造上難しかったり、kindleだと目次はあまり機能しておらず、問題・ヒント・解法を往復するのに時間がかかるなど細かい部分の難点が勿体ないと感じる本でもあった。
そしてビックテックを受けるなら、英語の原著を読んだほうが良いと思われる。日本語・英語の技術用語のマッピングができず、英語の面接で混乱するのが目に見えるようだ...
*1:スケーラビリティとシステムデザイン、オブジェクト指向設計の部分の曖昧さはそのように推測できるのだが、データ構造に関する問題においても文章が一意に読み解け無いものがいくつかあり少々辛かった。面接ならその場で対話で明らかにできるが、本だとそうは行かないので…