Googleインターンシップ-パート1

少し前に、大企業でのインタビューの準備方法について書きました 。 それから、私はJTOneに、実際に記事のアドバイスをどのように適用したか、そしてそれから何がられたかについて書くことを約束しました。 そして、彼らが言うように、1年未満が経過しました... :)



免責事項:書かれたものはすべて私の個人的な経験に基づいており、私が下したすべての結論は主観的であり、他の人の結論とは異なる場合があります。



参加する代わりに



昨年の夏、私はスイスのGoogleで4か月のインターンシップに参加しました。 そしてこの夏、カリフォルニアのGoogleplexで3か月のインターンシップをしています。 私は多くの情報を持っているので、私は私の物語を2つの部分に分けることにしました。 このパートでは、インターンシップをどのように受けたのか、インタビューはどのように進んだのか、プロセスにどれだけ時間がかかったのかについて説明します。 そして次に、インターンシップ中に実際に何があったのか、そこで何が好きだったのか、何が好きではなかったのか、そして一般的に私はこのすべてについて考えます。 興味のある皆さん-habrakatへようこそ。





それがすべて始まった方法



実際、グーグルは、グーグルの仕事に就きたいと思っている人のためのオープンなポジションとインターンのポジションを持つページで定期的に公開しています。 潜在的なインターンの要件のリストは非常に正気です-できればC ++やJavaのようなものでプログラムする必要があります(また、豊富な経験が必要であることを書いています-しかし、詳細を省略すると、上級者である必要はないと言うことができますC ++コースレベルでは、普通の大学で十分です)、Unixが誰であるかを想像してください(最初のインターンシップの前に、私はこれを非常に条件付きで想像しました)、アルゴリズムとデータ構造に精通し、学生(または大学院生)であり、32歳未満であること歳。 また、すべてのインタビューとインターンシップ自体は英語で行われるため、英語について十分な知識を持っていることも重要です。



一般的に、私は要件にかなり満足しました(ある概算で:)、私はすでにGoogleで働いていた良い友人に夏のインターンシップを紹介してくれるよう頼みました-つまり、公式のウェブサイトではなく、ローカルのGoogleイントラネットで履歴書を送ります。



大企業の審判システムに慣れていない人のために-実際、これは会社の従業員からの推薦のようなものです。 「私たちのために働くクールな人々は、おそらく私たちに助言できる他のクールな人々を知っている」という考えに基づいた通常の手順。 これは面接に譲歩を与えるものではなく、原則として原則として譲歩するものではありませんが、この面接を受ける機会を大幅に増やします。 これは、Googleのような大企業の場合、非常に重要です。



ただし、同じ夏のインターンシップのインターンの多くは、サイトを通じて通常の方法で履歴書を送信しました。したがって、これも非常に選択肢です。



次に起こったこと



そして、私は人事マネージャー(リクルーターであり、彼女はリクルーターでもあります)に手紙を書きました。彼女はインターンシップのための学生のリクルートを担当していました-標準ですが、同時に、彼らとインターンシップをすることを決定したことについての嬉しい手紙彼女は私についてもっと知りたいと思っているので、私に電話したいと思っています。

電話の時間に同意し、会話の中で(約15分)Googleが興味を持っていることとそこでやりたいことについて話しました。 それから彼女は、インタビューのプロセスがどのように進み、いつ頃その結果を知るかを教えてくれました。 実際、それは「正気の面接」でした-私が英語を話し、一貫した方法で考えを定式化できるかどうかを確認するテストです。 また、この会話中に私は最新の状態に育ちました-彼らは、インタビューの数、インタビューの種類、結果が出る時期を教えてくれました。



インタビュー



プロセス自体は、電話で行われる2〜3回の技術面接で構成されます。 候補者とインタビュアーの両方が利用できるgoogledocsのようなものがあるかもしれません(そこに決定コードを書きました)-しかし、ドキュメントはいつもとは程遠かった(時々インタビュアーが作成を忘れていた)ため、インタビューの約半分が「ここでは、STLマップを作成し、最初のフィールドと2番目の数字に文字を書きます。 そして最後に、そこで何が起こったのかを確認します。」 それで十分でした。



インタビュー自体は非常に複雑ではありません(または、私は質問に幸運でした:)、特に、グラフ、線、配列、およびツリーを使用して200-300の典型的なタスクをさまざまな方法で解決する(または解決する方法を考える)場合はそうです。 残念ながら、私が尋ねられた特定の質問について話すことはできませんが、基本的には、配列または文字列で「何かを見つける」タスクで、何らかの種類のプロパティ(バックトラッキング)を持つすべての可能な配列または文字列を生成し、グラフまたはツリーで何かを見つけます。 いくつかのオプションを提供することは非常に望ましいことです(たとえば、遅いソート、より速い「しかし最初にソートしましょう」、最速の「まだハッシュできます」)。 アルゴリズムの時間の複雑さを評価できることも非常に重要です。 そして、別の人がgoogledocsで美しいソリューションコードを書きます。



さらに、私が書いたプログラミング言語に関する簡単な質問(「インターフェイスが抽象クラスと異なる方法」のレベル)、何かをテストすることに関する質問(「正しい入力を試す、間違った入力、null、短い入力、長いエントリ ")、オペレーティングシステムとハードウェアのトピックに関する質問(記憶に残るものから-インタビュアーは、かつてIntelで働いていたが、"マーケティングマネージャー "の位置に注意を払わなかったことに気付きました。 「プロセッサとマシンのアーキテクチャ 「幸いなことに、これは大学での私の2番目の専門分野です:)。



面接自体はかなり自由な形式で行われます-面接官は、候補者が知っていることではなく、候補者の考え方に主に興味を持っています。 したがって、「正確な答えはわかりませんが、物事の論理によると、このようにすべきです」という答えは、候補者が最初から知っている正しい答えよりも優れている場合があります。 ところで、一部のインタビュアーはインタビュー計画を立てており、一部のインタビュアーは「どのようにGoogle検索をしますか?」のような1つのタスクを思い付きます。そして、このトピックの候補者と45〜50分間チャットします「-各面接官は候補者について何かを学ぶことに興味があり、典型的な面接はありません)。 当然、候補者がすべてのグーラーが10年間発明したことを完全に述べることを期待していない:)。



面接後、面接官は候補者の印象+質問と候補者の回答を比較的自由な形式で書き込み、採用担当者にフィードバックを送信します。 彼はまだ1〜40の評価を与えているようです。40は「良くならない」です。 この評価は非常に主観的であり、「候補者(好まない)-(好まない)感銘を受ける-(好まない)夢中になる-(好意的には驚かない)」というレベルであることに注意してください。



したがって、インタビューそのもの-「すべての質問に正しく答える」ことではなく(これも重要ですが)、候補者全体の認識についてです。 ここで、何かがはっきりしない場合は耳を傾け、もう一度丁寧に尋ねることが非常に重要です.110%正しい場合でも、インタビュアーに誓うのではなく、落ち着いて意見の妥協を見つけようとします。 結局、インタビュアーは「1つのチームで3〜4か月間、この人と一緒に働きたいですか?」という1つの質問で答えます。そして、「ほとんどの場合はそうです」という答えがなければ、彼は良い点を与えられません。



インタビュアーにとって幸運ではないかもしれないことにも注意すべきです。 インタビューは通常のGoogleプログラマーによって行われ、誰もがこのビジネスを愛しているわけではないため、誰かが求職者に候補者との10回目の面接を拒否することを望んでいないことがわかります。 そして、彼の刺激は、面接と候補者の評価に影響を与える可能性があります。 または、候補者が深夜に5分以内に赤黒のツリーに挿入/削除要素を書き込むことができ、それができない場合(たとえば、できません-少なくとも考える必要があります)それだけです、「彼らはそのような宇宙飛行士を連れて行かない」。 または、彼は人生で最初のインタビューを受けており、候補者を評価する方法をまったく知りませんが、自動的に自分と比較します(他の候補者とは比較しません)。 個人的には、私はいつも幸運でしたが、電話インタビューも受けた知人からの非常に超現実的なインタビューについての話をいくつか聞きました。



インタビュー後



インタビューは同じ日に行うことができます-ちょうど次々に(米国で行われたように)。 または、最初は1つ、そして候補者が最初のレビューで良いレビューを持っている場合は、週のどこかに2番目のレビューがあります(ヨーロッパの場合と同様)。 いずれにせよ、約1週間後、「あなたはとてもクールで、次のステップに進んでいます」というメールを受け取りました(オプションとして、代わりに「あなたはとてもクールですが、今はあなたのためのものがありません適切な位置」)。



次のステップは、実際には、インターンが訓練されるチームの検索です。 通常、インターンは、(バックエンド/フロントエンド/低レベル+ハードウェアレベルで)何をしたいのか、どの言語でプログラミングしたいのかを示します。 これはすべて希望通りに考慮されますが、それは何の保証もありません-例えば、私は希望のJava言語を示し、私のインターンシップでJavaScript、タイプセットHTMLページで書きました(ああ、IE 6のデバッグスタイル、私はあなたを決して忘れません!) Photoshopのデザインオプション。 私の間違いは、私がインターンシップに受け入れられたという事実からとても幸せだったので、私が希望で示したことを本当にするかどうかを指定しなかったということでした。 私は自分の過ちから結論を導き出しました。2回目のインターンシップはすでに私の希望にぴったり合っています。



チームは将来のインターンの希望と能力に基づいています。 つまり、彼の願いで「Linuxカーネルを分析したい」と書かれていて、経験上、PHPでWebアプリケーションを作成するだけである場合、おそらく誰も最終的に分析しません。 そして、彼はフロントエンドを書くでしょう:)。



チームが見つかったら、別のインタビューが行われます-通常、将来のメンターまたは潜在的なチームから直接他の誰かと直接。 このインタビューはそれほど技術的ではありません(少なくとも私と一緒でした)。 インタビュアーは、チームが何をしているか、インターンが何に取り組んでいるか、どの言語でコードを書く必要があるかを伝えます。これは通常、インターンシップの結果として期待されています。 実際、このインタビューの目的は、チームがこの特定のインターンを希望していることを確認することです(おそらく、履歴書と以前のレビューに基づいて、インタビューの前にこれを決定しました)。 そして、インターンはこのチームで正確に仕事をしたいということです(おそらく、インタビュアーの主な仕事は、インターンにこれを納得させることです)。



最後の仕上げ



最後のステップは、提案自体を作成することです:インターンシップがいつ行われるか、どのオフィスで、給与はいくらになるか(移動を含むインターンシップのすべての費用をカバーするのに十分です)、週に何時間働く必要があるか(通常はこれは完全な入札です)およびその他の詳細。 リクルーターがインターンシップの申し出を作成した後、一部の上級マネージャーは彼に保証する必要があります(これは単なる形式であると思います-通常、マネージャーは候補者を拒否する理由はありません)。他の1週間か2週間後に、候補者は待望の手紙を受け取ります ...」。 全体のプロセスには、最初の連絡の瞬間からお祝いの手紙の瞬間まで、約2か月かかります。



UPD: mraleph www.google.com/jobs/students/およびwww.google.com/jobs/students/emea/の先端で、興味はあるが見づらい人のために



私が書いていない質問があれば、喜んで答えます:)。



PS。 パート2



All Articles