ホワイトボード/コーディングインタビュー

先日、ホワイトボードのインタビューに関する素晴らしいテキスト「顔にハックを見ました」を読みました(これは、候補者の前にボードを置いたり、紙を置いて「ボードにそのようなプログラムを書いてください」と言ったときです)。 記事では、すべてが本質的に正しいです。王女が失われた若者のために泣いているスタイルはほんの少しですが、もちろん、主な愚か者が候補者です。 しかし、私はあなたに秘密を伝えます:候補者自身が遅かれ早かれ採用者の位置に自分自身を見つけ、愚かさはどこにも行かないので、採用者もしばしば愚か者です。



実際、ほとんどの候補者の愚かさは幻想的であり、彼らはゲームのルールをあまり理解していないという事実に由来し、一方で、彼らは常に正直であるとは限りません。 私たちは、それが人生でどのようにあり、どのように対処するかを理解します。











あなたの前に誰がいますか?





そもそも、インタビュアーは、実際に採用するという目標を必ずしも持っていません。 どんなに奇妙に聞こえても、彼は正反対のものを必要とすることがあります。 これは、ある種の内部の政治的ゲーム、または自分自身を主張する欲求である可能性があります。私たちは正直であり、プログラマーです。



彼らがあなたを連れて行きたくても、あなたの前に頑固な雄羊がいて、しばしばインタビューをすることさえできますし、3、5年もするかもしれませんが、その間、彼はその理由を理解するために一分も費やしませんでしたなぜ彼はこれらの質問をするのですか? そして、ここで注意! なぜ彼は特定の答えだけを数えるのですか?横への一歩でも、上への一歩でもありません(スタイル:あなたは物事を複雑にしすぎます。





彼らは何について話しているのですか?





私自身が技術面接を開始するまで、テーブルの反対側には人ではなく神がいたように思われました。 実際には、多くの場合、面接担当者はあなたよりも問題を理解しています。これは、ちなみに完全に正常なことです。 会社は彼をさまざまな要因の集合体で保持しており、彼の目標はあなたを測定することであり、あなたの知識や他の何かを測定することではありません。



つまり 面接に来たとき、誰かがあなたを雇うことに興味があるなら、彼は意識的にあなたを倒すことはせず、逆に、彼はあなたの知識の深さと幅を(科学的な突き刺しの方法を使用して)見つけます。 この人は何かを知らないかもしれませんし、何かを理解しないかもしれませんし、間違いを犯すかもしれません-これも正常です。 あなたがお互いにどれだけ説明できるかが重要です:彼-目標と目的、あなた-あなたの能力と願い。



これは非常に重要な考慮事項です。 優れたインタビュアーは、問題の解決方法を理解しようとしています。 そして彼はあなたなしで正しい決定を知っています。 または彼はまったく知らないが、あなたが決定に至るまでの道は彼にとってより重要です。



あなたに何を期待していますか?





ここで再びラムについて。 あなたからの正しい答えを待っている人々がいます。 さて、私は何ができますか? サンクトペテルブルク州立大学の生涯のストーリーをお聞かせください。



サンクトペテルブルク州立大学の物理学部では、最も難しい科目は...軍事部門でした。 そこには何も理解することはできませんでしたが、覚えることしかできませんでした:変数の表記を変更することは不可能であり、すべての式は最も複雑な形式で提示され(そしてそれらは単純化できませんでした)、あなたは積分、無線物理学の独創的なコースについて忘れなければなりませんでした読むだけ-特に。 一言で言えば、特に物理学を本当に理解している人にとっては問題です。



あなたから正しい答えを聞きたい人のところに来たら、それについては何もできません。 知性と戦い、粉砕することは無意味です。 しかし、そのようなインタビューから、社内で何が起こっているかについての間接的な情報を抽出できます。 良いことはありません。干ばつと暗闇です。



どういうわけか私自身はそのような状況にありました。 私たちは完全に抽象的なことについて話しましたが、彼らは常にマイクロソフトに私を突っ込みました。 その後、Microsoftには何らかのテキストまたは指令がありました。「脳の相互賞賛を受けて、この線に沿って歩いて考えるように。」



ちなみに、これは最も失望し、 強力な候補者怖がらせる最大の間違いです:人が何かを知らないが、それを持ち出し、思いついて、それについて話すことを申し出た場合-これは発見ですが、多くの場合、インタビュアーは「やめて、興味がない」と言います。紙にマイナスを入れます。 候補者は、会社の問題を解決する能力は必要ないことを理解しているため、現時点では退屈して落ち込んでいます。 そして、信じてください、これは単なる感覚ではなく、おそらく社内では複雑な技術的な問題を解決する必要はほとんどありません。







テクノロジー





しかし、それでも、候補者はホワイトボードのインタビュー中に、できる限り合格するために何をすべきでしょうか? ここで、あなたがあなたを圧倒したくない正気のインタビュアーに来たという仮定から進みます(しかし、これは彼があなたを救うという意味ではありません)。





  1. 常に話してください。 あなたの考え、あなたが持っているアイデアについて話してください。 あなたの考えの経過を説明してください。 一人の人がすぐに正しい答えを出すことはできません。あなたの思考の流れ-実際、これはあなたを最もよく示しています。

  2. 間違いを犯すことは正常です。 冷静に言ってください:「今、私は間違っていたことがわかります」または「私の決定は完璧ではありませんでした、改善方法を見てみましょう」または「はい、悪いオプションを提案し、別のものを提供しましょう」。



    理由 :洞察を必要とするタスク( つまり、考えられるすべてのタスクの中で最悪のタスク )が与えられている場合、もちろん、推論はあなたを助けません。 他のすべてのケースでは、インタビュアーは、あなたが決定にどのように進むかについて正確に興味があります。




  3. シンプルに始めましょう。 あなたが求められるまで決定を複雑にしないでください。 プログラミング方法を覚えておいてください。 ソリューション全体を作成することはほとんどありません。最初に1つの側面、次に別の側面、次に3番目の側面(そして、時期尚早な最適化が悪いために停止することもあります)

  4. 推測しないでください。 インタビュアーが混乱することはめったにありません。 どこに行けばよいかわからない場合は、質問してください。この質問はあなたから期待される可能性が高いです。 そのような質問は、あなたがその領域を広く理解していることを示しています。 そして、高い確率で、答え(データの仮定)により、意思決定がより簡単で透明になります。

  5. メソッドの名前を忘れましたか? 問題ありません。 メソッドの名前と正しいスペルを覚えておく必要はありません。 このような機能はどこからでも簡単に利用できることを知っているだけで十分です。 インタビューでパラメーターの順序に関する知識を要求すること(今日では、MS Wordに準拠している場合もあります)は大自然です。

  6. 恐れてはいけません。 彼らが何かを捕まえようとしているように思える場合、高い確率で頭が複雑すぎるか、霧がかかっており、単純でわかりやすい答えがあなたから期待されます。 適用性の限界を説明するだけで答えます。 彼らがあなたからもっと聞きたいなら、彼らはあなたに尋ねます(または、彼らはあなたがすでにこれらの境界を越えていることを知っているのを見るので、彼らは尋ねません)。

  7. 特定の言語とフレームワークは忘れてください。 ほとんどの場合、内部で物事がどのように行われるかを理解する必要があります。 HTTPプロトコルのしくみを尋ねられた場合、Java / C#/ Pythonまたはお気に入りの言語からhttpを呼び出す方法を伝える必要はありません。 DNS、TCP、キープアライブ、ヘッダー、リクエストボディとは何かを教えてください(そしてなぜHTTP / 2.0が苦痛なのか)。





まだ面接が満席の場合、私のアドバイスはこうです:これらの馬鹿にあなたが本当に複雑なことをしているという厄介な手紙を書いてください。彼らはあなたにボード上のアルゴリズムを書くことを強制しようとしたので、彼らはエンコーダーを探しており、それほど深刻な人ではありませんあなた。 その後、リラックスして、xml-configsの作成方法に関する次の泥だらけの本を読んでください。



もちろん、私のテキスト全体は、肉と骨に関するすべてを知っているという事実、つまりデータ構造とアルゴリズムを否定するものではありません。 しかし、これについては、ハッキングコードのインタビューのリクエストでインターネット上で見つけるのは非常に簡単です。 そうでなければ、もちろん、私の最初の段落(「常に言う」)はあなたを悪化させるだけです。 常に学ぶ!




All Articles