Google電話面接

広告

アメリカで就職するには留学してOPTを取るのが近道らしい。

On | シリコンバレーで働く方法

近いところでは、VMWareで働く吉澤さんのインタビューがある。カリフォルニア大学サンタクルーズ(UCSC)校の分校がシリコンバレーにあり、ここに9ヶ月通って大学卒業と同等の証書をもらい、OPTビザを取って就職したそうです。

しかしそれ以外の人は「たまたまシリコンバレー転勤の話があったので、それにのって」とか「知り合いが起業するのでそこに参加」みたいな再現性の低い方法で来た人が多い。

中国人とかインド人は、上述の

「アメリカの理系大学院に留学して、卒業後に出る『お試しビザ』であるところのoptional practical training (OPT) visaをゲットして、テクノロジー系企業に就職する」

という王道がザックザックといるわけだが、日本人はそうではないのであった。

On | アメリカの就労ビザが欲しければ留学せよ

アメリカの会社は学歴社会ではあるが、どこかで入り込んで実績を証明できればあとは人のコネで次から次へと職がある。しかし、いつまでたっても学歴重視なのが移民局。プログラマとしてアメリカで働く以上、ちゃんと大学を出ていても、仕事の専門に関係ない専攻だと高卒扱いになっちゃいます。京大の法学部だろうと、早稲田の政経だろうと容赦なし。逆に、名もない大学でも専攻があっていればOK。

(略)

とにかく、悪いことは言わないので、留学するあるよろし。

そういうわけで、OPT路線で準備を進めてきたわけだけど、どういうわけかGoogleのリクルーターの網に引っかかって電話面接を受けることになった。今回はいきなり降ってきた話なので準備もしていないし、通過することを意識しないで適当にお話を楽しむことにしようと思う。英語で電話するのは怖いでござる。でも、こうした「怖い」って何でも日本特有の文化依存症候群らしいので早めに克服しておきたい。

対人恐怖症

対人恐怖症(たいじんきょうふしょう)は、神経症のひとつである。あがり症(あがりしょう)とも称される。

他人の前での失敗経験などをきっかけに、人前で症状が出ることを極度に恐れ、他者の目の前で極度の緊張にさいなまれる。思春期にはよく見られ、軽いものは自然に治ってしまうものであるが、一方で社会的生活に支障をきたすほど対人不安が高まってしまう場合、神経症として治療が必要である。慢性化すると社交不安障害、パニック障害、ひきこもり等の引き金となりかねない。「恥の文化」を持つ日本において群を抜いて多く、日本特有の文化依存症候群とされ、海外においてもそのままTaijin kyofusho symptoms (TKS) と呼称されている。(ただし社交不安障害自体は世界中で広く見られる)

ナイフを持ったごつい奴が近づいてきたら「怖い」というのは普遍的な恐怖だが、人の前で失敗することにより動けなくなる「怖い」は世界的には奇妙なものということらしい。だから「英語を喋るのが怖い」というのは他の国の人には理解してもらいにくいかも知れない。下手くそでも堂々と喋るべし。

今回は通過しなくてもいいとはいえ、一応準備しておくのがマナーというものだろう。

まずリクルーターについて調べた。FacebookページやLinkedInなどは一通り見ておく。MBAの人らしく技術者ではないっぽい。でもプログラミングなどはわかるとある。

この本の最初の方の章には電話面接のことがあれこれ書いてある。

もちろん、運良く電話で話をさせてもらえることもある。話ができれば、少し安心はする。後で友人に「あの会社の電話面接を受けたよ」などと話したくなるかもしれない。

でも、実際にはそれは「面接」などではなく、「電話選抜(phonescreen)」と呼ばれるものである。電話での話し方で「ふるいにかけられる(screenはふるいにかけるという意味)」のだ。面接は、もっと先の話だ。ふるいにかけられずに残った者だけが面接に進める。30分くらい電話で話して相手に自分を強く印象づけることなどほとんど不可能だ。履歴書で注目されるのも難しいがそれと同様だろう。ともかく、会社の建物に入るまでは何も起きていないに等しいと言える。

また、電話選抜に臨むにしても、その前に準備が必要である。何の準備もなくいきなり臨むのは無謀というものだろう。

とあり、色々準備について書いてある。そうそう、この本は電子書籍で買える

最近買ったけど途中までしか読んでいなかった。電話面接についてはBeing Geekのほうが詳しいと思う。こちらは正統的な本で、むしろ電話面接を切り抜けたあとの技術的なやりとりについて150問とその解説(本書の大部分は解答編である)がある。英語で面接するわけだから、解答がわかっても英語で何というかわからないと困るため英語版を急遽買おうと思ったけど、電子書籍がないみたい。いまアメリカの技術書で電子書籍がないというのは極めて希だと思う。

次は『科学と非科学の迷宮』に載っていた『[翻訳]Google の面接を受けてみた』を読む。非常に丁寧に書かれた面接のレポートである。さらにいいのは、このレポートを書いた人が他の人の面接レポートを列挙しているところ。

『アメリカ生活 紆余曲折』にGoogle電話面接についていくつか記事がある。

あとはGoogle Japanにある

採用プロセス

電話による面接

ご応募いただいた職種に必要なスキルなどについて、電話による面接でお話を伺いする場合がございます。通常、電話による面接は、ご応募いただいたポジションで実際に働いている社員が担当します。時間は30~40分程度です。

Googleでの面接

面接では、基本的にご応募いただいたポジションで実際に働いている社員がお話を伺います。例えばソフトウェアエンジニアの場合は、コーディング、アルゴリズム、データ構造、デザインパターンに関する能力や知識や、または分析能力といったソフトウェアエンジニアに必要なスキルを確認させていただきます。セールスやマーケティングなどの職種の場合には、問題解決能力や対応能力、そして経験などを確認させていただきます。いずれも、回答の成否ではなく、問題解決のプロセスと創造性が重要視されます。

現場社員による審査

面接はご応募いただいたポジションで実際に働いている社員を中心に4名以上で行い、全員の意見が考慮されるため、公正で水準の高い採用プロセスとなっています。そのため、多少時間がかかってしまうことをご了承ください。このような採用プロセスはGoogleの設立当初から行われており、すばらしい効果を生み出してきました。

も覚えておこう。40分も電話するって日本語でもあまりないことだ。

最後に自分が日本のGoogleを受けて5、6回面接をしたときのこと。大して難しいことは聞かれなかった。しかし、例えば「リストをここで実装してみて」とか言われて、10年ぶりくらいだなーと思いつつもにょもにょホワイトボードに書いていったりした。基礎=簡単ではないし、普段ならリストなんてライブラリのをそのまま使うようなものだから、先ほど挙げた『世界で闘うプログラミング力を鍛える150問』をみっちりやっておけばいい。

まあこのくらい準備しておけば落ちても次につながるとは思う。それにしても英語怖いでござる。

Googleは今や飛ぶ鳥を落とす勢いの会社で、何年か前に面接したときも儲かりまくっていると言っていた。それからAndroidなんかも存在感を増してきたので以前よりもさらに勢いがあるのだと思う。そういう会社だからGoogleの採用についての情報も何かとゴシップネタやguess記事(〜のようですばかり)が多くなってくる。いわく超天才しか取らないとか、そんな感じ。Googleは既に大企業だから超天才ではない人もたくさん働いているのにね。Facebookあたりのほうが今はまだエリート指向が強い。

追記

もう一つ見つけた。『就職活動インタビュー反省記録 with Google』日本の方みたいですがボストンに住んでいるようです。ところで

そのキューの問題というのが非常に面白かったので、ここでは出題された問題に非常によく似た問題を考えます。それは、

スタックをひとつだけ使って、キューに対する操作 enqueue と dequeue をシミュレートしてください。

というものです(実際の問題もスタックひとつという制約つきでした)。以前、スタックを二つ使ってキューをシミュレートというのは解いたことがありました。キューは先入れ先出しのデータ構造、スタックは後入れ先出しのデータ構造です。enqueue は特に問題ないのです。スタックにそのまま要素を突っ込んで、はいこれが enqueue だよ、と言ってやればいいのですから。問題は dequeue の方です。最初に突っ込んだ要素を最初に取り出さなくてはいけません。ですが、スタックが二つ使えれば次のようにして dequeue をシミュレートできます。最初にスタック A に追加した要素 x を最初にとり出すためには、その上に乗っている要素すべてをもうひとつのスタック B にドンドンと積んでいって、最初の要素 x をスタック A から pop できるようにしてあげればいいんですね(積み重なっているお皿の山から一番下にあるお皿をとりたいとき、上に乗ってる他の皿を脇へドンドンと積んでいく感じです)。ところが、この問題ではひとつのスタックしか使えないので、dequeue の際にどうやって底に沈んでる要素を最初にとりだすんだろう、うーんとなってしまうわけです。ふむ、こんな風にしてみてはどうでしょう?

(ソースコード略)

21行および24-32行にあるように、再帰を使うと底にあった要素をボンボンと上へ押し上げていけるんですね。 こうすると、先入れ先出しがスタックひとつでも可能になります。実際に出された問題もこれに似たもので再帰が決め手となりましたが、10分は長かったんだなぁ・・・

もしこれが想定解だとしたら出題者は何を考えているのだろうか。スタックを1つしか使うなという制約を課しつつ再帰。当然関数呼び出しの際にはスタックにパラメータを積んでいるのでスタックを2つ使っている。こういうせこい問題は感心しないなあ。