Google の面接について書かれたブログ記事が面白かったので翻訳してみました。 原著者の許可取得済み。(Thank you, Petris!) ・基本的な企業情報…企業理念、設立年、資本金、株式公開、事業拠点など 9.入社後どんな仕事をしてみたいですか? Googleで営業をしてました. いくら優秀な人材でも、その人のキャリアビジョンと会社の方向性が合わなければ、採用には至りません。自分の強みを明確に打ち出したとしても、それが応募先の業務内容や職種で活かせるものでなければ面接では評価されないでしょう。 – 対エンジニアサポート候補, 10. Googleに入ったらどんないたずらをしたいですか? ▼関連記事 Adwordsとは何か7歳の子でもわかるように説明して下さい。 ・入室時はドアをノックする 【評価のポイント】 就活をしていると、「面接に落ちるかも…」という不安を抱えることがあるでしょう。不採用が続く時期があっても、落ち込みすぎず、冷静に面接に落ちる原因を分析することが重要です。 – 対プロダクトマネジャー候補, 2. イノベーション: 【あなたならどう答える?】Googleの面接で聞かれる41の難問, 働きがいランキング1000人以上のセクションで不動の1位を確率している会社、それがGoogleである。シリコンバレー、マウンテンビューに本社を置く同社に就職を希望する人はかなり多い。大勢の応募者がいる一方、実際の仕事の厳しさでも有名である。, そのため同社は入社後に活躍するかどうかを測るため、面接では驚くほどの難題をぶつける。Glassdoorによって過去の質問はまとめられているのだが、明らかに難しいものから、一見単純に見えながらいざ答えるとなると難しいような問いもあるようだ。以下に並べられた質問に、あなたならどう答えるだろうか。( – 対どの職種に対して出題されたか), 1. – 対シニアソフトウェアエンジニア候補, 24. ・寝癖がついている Googleに落ちた話(後編):Google面接〜就職まで。 明日公開 しがない一エンジニアの自分語りに興味がない人は、この記事は閉じて、明日の記事を読んでほしい(しかしそれだとGoogleに落ちる人の心理は分からないと思う)。 Google採用エントリが流行っている。Googler達の声を聞いていると、「英語が苦手でも大丈夫」「競技プログラミングが苦手でも大丈夫」「情報系出身じゃなくても大丈夫」「面接でミスをしても大丈夫」優しい声ばかりだ。何だか自分でも入れそうな気がしてくる。, Google採用試験、一次面接(ハングアウト+Docsでのコーディング)から箸にも棒にもかからず門前払い同然だった記憶しかないですね。一応、高校時代から3Dゲームエンジン作ったり、研究室では分散環境で動く最適化ライブラリ作ったりしてて、プログラミングはチョットデキルつもりだったのですが…。, 少なくとも自分の経験ベースでいうと、ひととおりのメジャー言語 (2012年当時の自分でいうとC++, Java, Python, Lua, Haskell, etc) で5万行規模のライブラリを一人で設計実装できる実力があっても、トップ会議複数本+DC1持ってても、まるで手が届かない程度には難しかったですよ。, 面接に呼ばれた候補者は、Googleエンジニアを前にして、なぜか言われてもいない曲芸を始め、バランスを崩して転倒し、複雑骨折して退場していくのだ。, "Google の面接に来る人は、とてもとても肩に力が入っていることがあります。そして単に2重ループ書けば済むところで、超絶技巧ビット演算の妙技を披露したりします。披露できればまだいいのですが、大抵の場合はうまくいきません。" https://t.co/uhimYzoeNE, それは緊張といった生易しいものではなく、恐怖としか言いようのないもの。Googleの採用試験は、Googleの背後に揺らぐ、巨大な亡霊との戦いである。, Googleに入った人の話だけ見ても生存バイアスとしか思えないので「橙コーダーだけどGoogle落ちました」みたいな話を読みたい…(まだ言ってる), それなりにプログラミングができるつもりでいたにも関わらずGoogleに落ちた身として、その心理について書いてみたい。ただ、心理というものはその人の歩んできた過去にも依存するもので、面接シーンだけを語っただけで伝えられるものではない。申し訳ないが、Googleの面接よりずっと前の話から始めることにした。長くなったので前後編に分ける。, しがない一エンジニアの自分語りに興味がない人は、この記事は閉じて、明日の記事を読んでほしい(しかしそれだとGoogleに落ちる人の心理は分からないと思う)。この記事が、これからGoogleを受ける人にとっての心理的準備に、また、もしGoogleが私に似た人間にも興味があるなら、この心理的ミスマッチをどう防ぐのかについてのヒントになれば嬉しい。, 情報の授業があった。BASICで円を描いたりする内容だったけど、隣のS君が5分で終わらせて、スペースインベーダーみたいなゲームを作っていた。聞けばプログラミングを極めると何でも好きなゲームが作れるらしい。自分もやってみることにした。, 最初はS君の薦めもあってHSPでじゃんけんゲーム作ったりした。本格的なものを作ろうとすると辛くなったので、1か月ほどしてC++に転向した。3Dゲームが作りたかった。当時はUnityのような便利なフレームワークはない。フリーのゲームライブラリといえばDxLibやyaneSDK1くらいのもので、個人製作ゆえにいつ更新停止するともわからない。結局、これらを参考にしつつゲームライブラリを自作することにした。yaneSDKを調べる過程でいくつかバグを見つけたので、今は無きやねう掲示板にパッチを投稿したら、ご本人から「誰だか知らないけどあんがと」と返事をいただけた。几帳面で優しい人だと思った。ライブラリ開発はWin32APIとDirectX5がdirtyで苦労した。, ゲームはトライアル&エラーで作るものなのに、いかんせんC++はコンパイルが遅い。スクリプト言語が必要だ。そこそこ高速で、実行ファイルが肥大化せず、コルーチンのあるオブジェクト指向言語がほしい。これも自作かと思った矢先にすべてを備えたLuaが出てきた。C++との変数のやり取りもluabindを使えば一瞬だった。やはりAPIがtidyだと物事はスイスイ進むなと思った。それから数年して、C++ & Luaによる開発はゲーム業界のスタンダードになった。, 実践ばかりでなくて多少は座学もせんとなーと思って、ネットでSICP読んだり、Introduction to AlgorithmsやTAOCPを買って読んだりしてた。学校帰りに本屋でコンピュータ系雑誌の棚を片っ端から立ち読みするものだから、すぐに顔を覚えられて追い出された。, 2年生になってS君とも違うクラスになり、周囲にプログラムの話ができる人はいなくなった。自分がどの程度の実力か、勉強の方針があっているのかもわからない。ネットだけが情報源であり、交流の場だった。当時のネットは小学生からマイコン少年だったような人達の溜まり場で、高校生でゲーム会社に就職したとか、中学生でLISP処理系を自作したとか、小学生で線形代数ライブラリを自作して本も出版したといった話題にあふれていた。見渡すかぎりすごい人達ばかりで、自分はプログラミングを始めるのも遅く、客観的な業績もないので全く恥ずかしくなるばかりだった。, 大学に興味がなかった。そもそも元をたどれば高校にも行きたくなかった。個人ゲーム制作は途方もなく時間が溶けるので、とにかく作業時間を確保したかった。高校を卒業してやっと授業から解放されたのに、なぜまた貴重な人生を奪われなければならないのか。僕に必要なものは大学ではなく5億年ボタンだったが、誰もそんなものを持ってきてはくれなかった。2, 今思えばAO入試とかいう選択もあったのかもしれないが、大学に興味がなかったのでそんな制度があること自体知らなかった。親や教師は僕がプログラミングをしてることは知らず、少なくとも表向きにはただ頭が悪いだけの平凡な学生だった。3周囲が大学行けとうるさいので、ゲーム制作の合間に仕方なく勉強して某工大に合格した。第1志望の5類(情報系)は落ちて、第2志望の7類(生物系)に入学した。4, コンピュータと最も縁遠い7類に入ったこともあり、周囲には相変わらずプログラミングの話ができる人はいなかった。ネットを見るとさらに強い人が溢れかえるようになり、もう自分がコンピュータ関係の仕事に就くのは無理だろうと思った。もう周りのことは気にせずプログラミングは趣味として続けていこう。自分の気に入ったゲームが作れればいい。そんな気分だった。, ゲームエンジン開発が落ち着いてきたので、そろそろゲームを作ろうと思った。当時、個人制作ゲームの発表の場といえば同人だった。電プロさんのReiders Sphere Secondを見て、個人でここまでやれるのかと感動した。, メタルギアソリッドを対戦できるようにしたようなやつを作ろうとした。5自作ライブラリが成熟していたこともあってプログラムは順調に進んだが、素材(グラフィクス、サウンド等)が作る暇がなかった。7類の友人に頼るのは酷な気がしたので中学時代の友人にお願いしたのだけど、遠隔地ということもあってモチベーションの維持が難しかった。月1回、はるばる電車で1時間半かけて友人宅にミーティングに向かうのだが、大抵は会議さえできずに「そんなことより連邦VSジオンしようぜ」だった。遅々として進まないので、痺れを切らしたメンバーの一人がプラン縮小してボンバーマンクローンを作ろうと言い出して、結局それもプログラムは完成したが素材が揃わなかった。まぁ、当初のプランはもしやる気があったとしても工数的に無理があったと思う。無謀な計画に巻き込んでしまって申し訳なかった。, 他にプログラミング関連でやったこととしては、インカレサークルのイベントHPを作った。有料サーバを借りるお金がなかったのでXREAのLAMP環境で応募システムを作ったのだけど、締切数分前に数百件の応募が殺到して、雀の涙ほどのリソースしかない割り当てられないフリーのホスティングサービスとしてはヒヤヒヤものだった。, サークルで知り合った5類のY君にプログラミングや勉強を教えたりしていた。情報系の教科書は代表的なものを色々読んだけど列挙するのが面倒なので割愛する。本は読むだけなので面白い話はない。, 生物とかホント興味なさすぎて無理だと思った。学科長に直訴したら、情報系の研究室で卒研をやらせてもらえることになった。TSUBAMEの他に研究室でも100台ほどのPCクラスタを持っていてかなり遊べた。適当に多目的遺伝的アルゴリズムを作って国際会議 (PPSN X) で発表した。, 研究室で使われていたJavaの内製ライブラリを拡張してjGOAL (Java Global Optimization Algorithm Library) を作った。名前のうえでは大域的最適化アルゴリズムのライブラリと言うことになっているが、実態としては分散環境で反復計算をするための汎用フレームワークで、そこに代表的な最適化アルゴリズムを載せたものである。サポートしてた機能は覚えている限りで, 最後のやつだけ意味不明だと思うので説明すると、こんな感じに最適化アルゴリズムのクラスを書いて:, 設定ファイルにしたがってオブジェクトが構築されて実験が走る。JavaのPropertiesに$で変数参照できる機能を追加しただけの簡単なお仕事。, しかし、Javaでモジュール性が高い最適化ライブラリを作ろうとすると、インターフェース地獄に陥った。1メソッドしかないインターフェースを沢山作ってGenericsで組み合わせていく感じになるので、現代でいうとSpark MLlibのJavaコードと同じような様相を呈してくる。型推論がない言語では辛すぎると思った。というか1メソッドならもう関数型でいいじゃん。当時のScalaは共用ライブラリに採用できる成熟度ではなかったので、Haskellで書き直したhGOALを作成した。jGOALの置き換えを狙ったけど、研究室メンバー全員にHaskellを覚えてもらうのは辛過ぎるということで共用ライブラリに採用されることはなかった。内容的には、2019年の今から見てもモダンな設計だと思う。, コードはSubversionで管理していた。実験の再現性を担保するために、Subversionのフックを活用して、タグをコミットすると自動的にクラスタにデプロイされて実験が走るようにしていた。今にして思えばCI/CDの先駆けである。, ちょうどこの頃、位相的データ解析 (Topological Data Analysis, TDA) が流行り始めたのでTopology for Computingを輪講した。関数型言語とTDAをやった繋がりで圏論の基礎も読んだ。, 大学院では学部の研究を続けるつもりはなかった。進化計算は生物のメタファで何でうまくいくのかよくわからない感じだったので、適当に理論的に解析できそうな多目的最適化アルゴリズムを作った。後付けで色々と解析してみると、このアルゴリズムが多目的最適化問題の解集合を網羅できるかどうかは解集合のトポロジーと関係がありそうな気がしてきた。多目的最適化の研究者は多いが、解集合のトポロジーを研究している人は世界的にも少数で、結局自分で考えるしかない感じだった。何もかも自分で考えているとなかなか進まないもので、修士〜博士過程で出版した論文は国際会議3本、ジャーナル3本、国内会議10本程度でイマイチだった。調べるうちにSmaleが1970年代に創始したベクトル値モース理論と関係があることがわかってきたが、そのあたりで博士課程が終わってしまった。この研究はかなり発展性があって、今も継続している。, DC1は過去に何人かの先輩が採用されていたので、ノウハウを教えてもらって書くだけだった。あんまり実力な気がしない。申請手続きがアホみたいに煩雑で、IQ3になったことしか覚えていない。なるべく政府とは関わりたくないなと思った。, 少し戻って2012年の1月のことになる。Googleのエンジニアがリクルートにやってきた。(後編に続く), 作者はコンピュータ将棋で有名なやねうらおさんである。当時はBM98で有名だった。ブログが面白いけど、個人的にはHP時代の日記のほうがキレがいいと思うのでぜひ読んでほしい。 ↩, 漫画作中では、5億年は主人公が何をしても消費しきれない途方も無い時間として描かれ、主人公は悟りまで開いてしまう。しかし一人で何かを成そうと思えば5億年はとても短い。2019年現在の世界労働力人口は約50億人であり、5億人年=60億人月はわずか地球1.2ヶ月ぶんの労働力にすぎない。こんなわずかなリソースで白紙の状態から宇宙の真理になど到達できるはずがないし、現代文明を再構築できるかさえ怪しい。なお、ここで人月計算を持ち出したのは私がSIerの一員だからではなく、一人で何でもやらないといけない状況ではNo Free Lunchに陥って人類の平均作業効率に落ち着くと想定されるためである。 ↩, 両親は今も僕の仕事内容を知らないと思う。パソコンを作りながらときどきコクサイカイギという名の海外旅行をする旅芸人のような扱いになっている。 ↩, 第2志望は選ぶのが面倒だったので、願書提出日の新聞を見て「これからはバイオの時代だ」と書かれているのを見て決めた。1類でも情報系の勉強ができるのは入学後に知った。 ↩, 分かりやすくするために有名タイトルを挙げたが、当然あそこまでのクオリティで作るつもりはない。正確に言うと、トラップガンナーのようなものを作ろうとしていた。 ↩, 大学に興味がなさすぎたため、単位を取らないと進級できないことを知らなかった。急に留年と知らされたので驚いた覚えがある。 ↩.