あの伝説の質問に完璧に答えるための技術ドキュメント「What happens when...」がおもしろい

[PR]記事内のアフィリエイトリンクから収入を得る場合があります
  • URLをコピーしました!

Google 76517 640

技術職の面接で古くから使われる質問として「What happens when you type google.com into your browser and press enter?」 (ブラウザーでgoogle.comと打ち込んでenterキーを押すと何が起こるか?) というものがあります。Stack Overflowで質問する人がいるくらいなので有名な質問なのだと思います。

普通、回答者は自分の強みを生かして得意の分野をより深く語るのに対し、GitHubで公開されたドキュメント「What happens when...」は、質問に対しあらゆる詳細をできるだけ深く答えることを目的として作られたものです。

例えばenterキーの入力がハードウェアレベルで捉えられ、割り込みで検知され、(Windowsでは)WM_KEYDOWNメッセージがアプリケーションに送信される…といったところから説明が始まるくらいに詳しく解説されていて、DNSのルックアップや、ソケットのオープン、HTTPプロトコルの送信、ページレンダリングへと質問の回答は続いています。

質問の作成者が降臨?

IMG00006 20110802 1440

おもしろいことにRedditにこの質問を作成したと名乗る人物 (ge01fさん) が登場し、質問が作成された経緯や意図を説明しています。

同氏は2003/2004にGoogleのシステムアドミングループに在籍。面接の候補者ができるだけ深い知識を披露することができる質問として、この質問を作り出したそうです。

質問には、ローカルホスト/LANから始まり、ネットワーク機器、ISP、DNS、BGPを経て、firewall/ロードバランサーを通り、ソフトウェアスタックや、アプリケーションサーバー、データベースに至る広範な技術的な要素が含まれていて、回答者が知っているならばWindowsイベントや、キーボードのインタラプト、GUIなどに関して自由に追加して良かったということ。

質問を通して、回答者の強み(Windowsに強いとか、ローレベルなネットワーク技術に強いとか、HTTPに強いとか)を知ることができるほか、「XYZはどのように動く?」とか「どんな場合にこれが失敗するか」といった、面接のときだけに使える特定の技術的な質問を使わないですむ、と利点を説明しています。

ほかにも「you reboot your machine, what happens?」(マシンが起動したとき、何が起こる?)といったペアの質問も使われていたようで、思わぬ質問作成者の登場にRedditでは大きな反響が巻き起こっています。

まとめ

面接の質問として考えなくても「What happens when...」には興味深い情報が含まれています。自分が普段何気なく行っている作業の裏でどのような事が起こっているのか知りたい人は要チェックのドキュメントでしょう(まだ作成中ですが)。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次