私が言うことは本質的に少し物議をかもしているかもしれませんが、私は今日非常に落胆しています-そして私はこれを尋ねます。
私はインターンシップのポジションについて大手テクノロジー企業にインタビューしたところ、典型的なアルゴリズム指向のインタビューの質問がたくさん聞かれました。今、私の背景を考えると、私はアルゴリズムに強いと思います(大学院レベルのアルゴリズム-NPの完全性やそれ以上のもの(近似アルゴリズムとランダム化アルゴリズム)にも優れた成績を収めています)が、残念ながらインタビューを失敗しました。文字列の問題を約10分で解決する非常に効率的な方法を考えてください。面接が終わったら、コップ1杯の水を飲み、バナナを食べてしばらくリラックスしてから、問題をもう一度試しました。回答5分以内に到着する可能性があり、さらに最悪の事態でした-私は実際にそのトラックにいて、インタビュアーがそれについてヒントを与えましたが、あまりにも多くのプレッシャーが私を料理しました。私の全体的な経験から、技術面接について考えるようになりました。いくつか質問があり、このフォーラムでそれらを提起したかった-
誰かの技術的能力を30分で判断することは本当に可能ですか?正直なところ?それともサイコロを投げただけですか?
技術面接の質問は問題解決能力を測定しますか?この点は非常に議論の余地がありますか?博士課程の学生として、数学の問題解決には、これまで聞いたことのないことを解決することが含まれることを知っています。一方、2つのリンクリストを並べ替えてマージしたり、k番目のレベルでバイナリツリーのすべての要素を印刷したりすることは、誰かが事前に解決策を見たり問題を解決したりすると、「単なる演習」になりますか?
これらのインタビューで空飛ぶ色で出てきた人々は、偉大なプログラマーになることを続けますか?彼らは続けて、洗練されたゲームエンジン、グラフィックライブラリを設計し、高速な分岐結合フレームワークを作成しますか?技術面接での成功と実際のプログラミング能力との間に正の相関関係があることを示す証拠はありますか?それとも、これらのインタビューは「物事を成し遂げる」タイプの人(Spolsky)を見つけることに向けられたものですか?
ICML、VLDB、モビコムなどの画期的なアイデアを発表している多くの学者が、これらのインタビューにふさわしいことは間違いないでしょう。しかし、私は彼らがあなたがこの惑星で見つけるであろう最も賢い人々の一部であることをあなたに保証することができます。
私は主にアカデミア(大学生)です-ですから、フェンスの向こう側にいる誰かからの知覚に大いに感謝します。これらのインタビューを実際に行っている人はいますか?
[わかりました。すべての素晴らしく、思慮深い応答をありがとう。もう質問したくないので、この質問に答えてください。
候補者Xが既知のオープンソースプロジェクトに貢献した作品の優れた公開ポートフォリオを持っているとします。実際に行ってパッチを確認し、彼が閉じたバグを確認して、彼が作成した設計を確認できます。その場合、問題は、彼の公開されている/検証可能な作品にどれだけの重みを与えて、15分以内に非常に工夫されたバイナリツリーインタビューの質問にどれだけうまく答えるかです。]