富士山の移動方法または天才のインタビュー

免責事項:この記事は数ヶ月前に私によって書かれました(そしてカルマはほとんどなかったので、ブログにしか残っていませんでした)が、その関連性は失われていません。 その後、あらゆる種類のインタビューの準備の最初の段階で受け取りたい情報を収集しようとしました。 この記事は多くの個人的な経験に基づいていますが、この経験については別に書いています。



確かにあなたの多くは、マイクロソフト、グーグル、アップルなどの会社で働きたいと思っている人たちへの非常に難しいインタビューを聞いたことがあるでしょう(リストは延々と続く)。 Googleが毎日約1000件の履歴書を受け取ることはよく知られています。すべての著名な企業は、彼らに天才を探していることを左右に伝えます。そして、時々、広大なインターネット上で、「How do you富士山を移動しますか?」または「バスにいくつのボールが収まりますか?」または「Googleのような優れた検索エンジンを作成するには?」



実際、「天才のための会社」へのインタビューのいくつかの経験に基づいて、私は実際、すべてが一見すると思われるほど複雑ではないという結論に達しました。 そして、間違いなく、これらの面接に意図的に準備し、天才にならずに首尾よく合格することができます。



それで、「夢の仕事を得る」という目標が設定されているとしましょう。 次に何をする?







0. 適切な履歴書を作成します。 私はこの点にこだわらない-私はまったく履歴書の専門家ではありません。 IT履歴書を正しく書く方法に関するあらゆる種類の有用な記事を必ず読んでください。可能であれば、彼らのアドバイスに従ってください。 Googleのエンジニアが書いた優れた記事の1つがここにあります



1. あなたが行きたい会社ですでに働いている人を探してみてください。 実際、有名な会社に履歴書を提出したい人には、通常2つの方法があります。会社のウェブサイトから送信する(今日約999人がやります)か、そこで働いている友人にあなたを推薦するように頼む方法です。 大企業は、賢い人(すでに働いている人)は他の多くの賢い人(一部はまだ雇うことができる)を知っているため、誰かが推薦した候補者は、サイトを通じて履歴書を提出する人。



2. 友達がいない場合は、他の可能性を探します。 たとえば、Webサイトを開始し、そこでITトピックに関する興味深い記事をたくさん書いて、履歴書をそこに投稿します。 または、 Brainbenchテストを受けます-Microsoftの採用担当者が定期的に立ち寄って最も著名な人に手紙を書くという噂があります(私は確認しませんでした:)。 または、CodeJamやTopCoderのようないくつかのオリンピックで優れています。 または、他のサクセスストーリーをインターネットで検索します。会社自体がどのように候補者に応募したか、それほど難しくない場合は、それらの候補者と同じことを行います。



3. 劣等感を取り除きます。 有名な会社はもちろん天才が必要だと主張しますが、単純な数学(100万人あたり1天才の割合)でさえ、誰にとっても天才を獲得する方法がないことを示しています。 そして、通常、これらの天才は著名な企業のために働きたくありません。 したがって、そこで働くほとんどの人は賢く、よく考えており、コンピューターとそれらに接続されたすべてのものを愛し、知識の分野と一般的にあらゆる種類の良い仲間を絶えず拡大しています。 しかし、彼らは天才ではありません。 したがって、FieldsまたはTuring賞がな​​いので、キャッチするものがないという事実から先に進まないでください。



4. プロセスの詳細をご覧ください。 実際、大企業や有名企業のインタビュープロセスは非常に似ています。 最初に、彼らは電話インタビュー(1-3)を手配し、その結果に応じて、直接インタビュー(うち2から6)を招待します。 また、インターネットの広大な部分を少し検索すると、ほとんどのインタビューがいくつかの分野に分かれていることがわかります。



  1. 数学の基礎:応用数学、数論、組み合わせ論、確率の基礎...
  2. アルゴリズムとデータ構造:ソート、グラフ上、O表記、ツリー...
  3. オブジェクト指向プログラミング...
  4. 一般的な理解:オペレーティングシステムの動作方法、コンパイラの動作、ネットワークの動作...
  5. 良いレベルのプログラミング言語の知識。




Cでソケットを開くための特別な構文を知ることは、ほとんどの場合オプションです:)。



5. 訓練のために賢明な情報源を収集します。 インターネットには、情報を引き出したり、学習したり準備したりできる書籍、サイト、記事がたくさんあります。 個人的には、私は一度に3冊の本を持っていました。Shenの 「Algorithms and Tasks」 、SkienのAlgorithms、およびKormen and companyのアルゴリズムに関する古典的なTalmudです。 そして、あらゆる種類のインタビューに特化したこのサイト非常に便利です。



6. 問題を解決し、手を満たしてください。 単純なルールがあります-何か、何か、たくさんのことをするとき、遅かれ早かれうまくやるようになります。 これは、大企業でのインタビューの準備に完全に当てはまり、これがおそらく最も重要なポイントです。 数千の質問とタスクを解決し、選択した言語で数百のアルゴリズムと数万のコード行を記述すると、面接のタスクが簡単に思えると、そのようなレベルの禅に到達します。 主なことは、単純なものから始めて、徐々に前進し、複雑さを増すことです。 そして、ある時点で、ほぼすぐに解決するタスクと質問の70%を見つけることになります。20%を少し超えて、10%を十分に考える必要があります。 そして、これはインタビューを通過するかなり良いチャンスです:)。



7. オリジナルであること。 あなたが他の人と違うなら、あなたはずっと良く覚えられているでしょう(悪くないように違いをみてください)。 他の人が持っていないものがあり、同時に他の人とあなたを区別して興味を持っているなら、これは大きなプラスです。 あなたが元少林寺の修道士または優秀なプログラマーとして再訓練することにしたトップモデルであるなら、あなたの「トリック」を見つけたと考えてください:)。 そうでない場合は、インタビュー中にPythonコードを書く(ほとんどの候補者はJavaやC ++などの標準言語で書く)か、すべてのBrainfuckプログラミング言語の雷雨に言及し、これがトピックであれば、小さなプログラムを書くことができます。 または、ジェダイの剣を持ってきて、隅に置いておきます。 または、プログラミングジョークをいくつか飲みます(P = NP => P = 0またはN = 1の場合など)。 一般的に、何とかそれを注ぎます-無害に、負担なしで、主題に:)。



All Articles