Joeの精進記録

旧:競プロ練習記録

Googleのインターンホストマッチングに2年連続落ちた話

(追記)こんにちは、社会人のJoeです。この当時はいろいろ未熟なところが多く、記事の内容がかなり過激なのですが、当時の気持ちを尊重したいという考えもあって、残しておきます。記事の最後に社会人目線での今の感想も載せておくのでよければそこまで目を通していただけると幸いです。では。

まあ今回はホストマッチング用のFormを提出しなかったぼくが悪いようですが(マッチング時期を夏休みのインターンとかぶらないように変えたかっただけなんですが未提出という扱いになったっぽい)、以前から言いたいことが多かったので書きます。

ほんとは受かったら思う存分苦情を書いてやろうと思ったのですが、受からずに書くのは恥ずかしいですね

インターンに合格するまで

Step 1

応募する。これはStudent向けのインターンに応募すれば90%ぐらいの確率で返信が来るはずです。海外のインターンインターンでない募集に応募した場合、ほぼ返信が来ないはずで、この時点で選考終了になります。

Step 2

ウェブでプログラミングクイズを受ける。これは練習すればほぼ100%の確率で通過します。プログラミング力が足りない場合、この時点で選考終了になります。

Step 3

Phone Interview 1を受ける。まわりを見ていると普通に能力十分でしょという人でもたまに落ちるようです。直感的にAtCoder青あれば70%ぐらいで通過するんではないでしょうか。使用言語をマイナー言語にすると競プロに詳しくない面接官とあたるので問題が簡単になるという噂があります(ア) ある程度のコミュ力・実装力がない場合この時点で選考終了になります。

Step 4

Phone Interview 2を受ける。このプロセスは去年まではオンサイト面接だった気がするのですが、おそらく今年は応募者が多いようで、Phone Interviewになりました。Phone Interview 1と同じ程度の運ゲーです。ある程度のコミュ力・実装力がない場合この時点で選考終了になります。

Step 5

Hiring Committeeです。これは、面接の結果をまとめ直して、本社に送って数週間後にGlobal基準を満たしているかチェックされ結果が返ってきます。これはかなりの運ゲーで、Phone Interview (もしくはオンサイト面接)を比較的手応えありな状態でこなしたとしても落ちるようです。ここまでくるとサンプルがだいぶ少ないのですが通過率は30%とかな気がします(適当)。比較的まともなことを書いておくと、面接で問題を解けたとしても、どれぐらいアルゴリズム的な思考ができているかとか実装ができているかなどが細かく点付けされているようで、そこをチェックされると思います。十分に優秀でない場合この時点で選考終了になります。しかし、ここまでは精進すればたどり着くとは思います。

Step 6

Host Matchingです。まずはFormを提出しましょう。次に1ヶ月待ちます。いいプロジェクトがマッチングすると拾われます。完全に運ゲーすぎてどうしようもないです。運が良くなければこの時点で選考終了になります。

やっかいな点

一度落ちると次の選考はStep 1からやり直し

運ゲーをやり直すのは骨が折れますね。ちなみに受かると、次年度以降のインターンはHost Matchingからです(せこすぎ)

Step 6までかれこれ3~5ヶ月ぐらいかかる

これはどれぐらい急ぐかによる気がします。ぼくは夏インターンがPreferred Networksとかぶったので、選考を遅めにしました。

Step 6に来る頃にはリピータで枠が埋まる

上の2つの問題点を読むとこの最大の問題点が類推できるかと思います。というのも、リピータたちは異常にプロジェクト決めが早いです。ぼくたちがまだプログラミングクイズをしている頃に彼らはプロジェクトを決めています。そうすると、Step 6にたどり着く頃には楽しそうなプロジェクトがほぼほぼ埋まっていて、熾烈な運ゲーが始まる構造になります。

冬休みは研究だな!(素振り)

(追記)社会人になった感想

こちらの記事、グーグルに入社している同期や後輩から、それなりに広く知られているとの話を聞いてお恥ずかしい限りです。当時はかなり世間知らずで、自分の実力なら頑張ればいけるはずだと思っていたようですが、シンプルに実力不足かなという気がします。社会人になってインターン採用をしていると(その年たまたまある部門に非常に優秀な学生があつまり厳選せざるを得ない状況や、そのインターン生にマッチする分野でインターンが募集されていないなど運要素は少なからずあるのですが)インターンに実際に合格するような生徒は本当にレベルが高いです。プログラミングコンテスト出身者もたまにいますが、全国で指折りの学生であったり、研究に重きを置いている学生ならトップ学会に主著論文複数、などがざらにいます。必ずしもプログラミングコンテストや論文での業績がなくても、専門の勉強に真剣に取り組んできた学生は考察が鋭く、何もないところからアルゴリズムの動作原理を説明できたり必要とさせる設定にすぐに応用できたりと完全に自分のものにしています。落ちた人たちの中にはもしかしたら非常に優秀だったのに、という方がいらっしゃるかもしれませんが、受かった人たちを眺めてみると、まあこの人なら何回受けても受かるんだろうなという人たちばかり、というのが実際のところかなと思います。

さて、これを読んでいる方の中にはこれからインターンを受けるという学生さんも多いと思います。当時これほど調子に乗っていた私が偉そうなことを言えた立場ではありませんが、自分に素直に受けるのがいいかなと思います。それと、マッチングの運要素は確かに本当にあります。私の経験からすると学生の時はあまり自分の興味も定まっていなく、どんな会社があってどんなチームがあって、具体的にどんな技術に携わるか全くわかっていませんでした。PFNのインターンでは偶然Chainerチームに採用いただき(Chainerはすぐその後なくなってしまいましたが)GPU効率を上げるために、ユーザが書いたスクリプトの裏でどのような最適化ができるか/されているか、という世界を知ることができました。結局私はそれ以降その分野がすごく気に入っており、社会人3年目になった今も似たような分野で働かせていただいています。こうした運を好意的に受け止めて、自分が偶然マッチした新しい世界を楽しんでみるというのはいかがでしょうか。