インタビュー対象者の観点からのプロセスとしてのインタビュー

運命の意志により、コードの記述、エラーの修正、数え切れないほどの集会やスタンドアップ、その他すべての日々の義務に加えて、私はインタビュープロセスに関与しました。



会社は長期的な協力に関心があるため、人材の検索と雇用は非常に慎重に行われます:リクルーターとのインタビュー、多くの場合いくつかの段階での技術面接、特定のプロジェクトに固有の問題を議論するプロジェクト面接、および提案段階での部門長との最終的な会話があります。 面接システムの構造は、すべての大規模なテクノロジー企業で類似しています。したがって、どの組織でそれを合格した人でも、他の10社のプロセスを簡単に想像できます。



いくつかの関連する大規模プロジェクトで4年以上会社で働いた後、私は50人以上とのインタビューに参加しましたが、そのうち5人だけが雇われました。



現時点では、私が説明している会社を辞め、当事者の合意により、このプロセスがどのように機能するかを内部から少し共有できます。



ほとんどの場合、技術面でのインタビューについてお話します-エンジニアとしての候補者の能力を確認するまさにその段階です。 プロセスは複雑で高価であり、唯一の適切なアプローチがありません。 基本的に、対話の目的は、候補者が持っている残りの知識のセット、個人の資質について考え、考える能力を理解し宇宙とそのすべての最も重要な質問に答えることです -私はこの人と並んで仕事をする準備ができていますかプロジェクト



なぜ?!



最初の質問では、常に疑問が生じます-なぜ私たちの会社で働くことにしたのですか? 彼女について何を知っていますか、なぜ、なぜですか。 なぜGoogleではなく、Yandexや他の大企業でもないのです。 義務的な質問は会話を開始するのに役立ちますが、「撮影」することもできます。マーケティング資料の山を注ぎ込んだある候補者は、普遍的な陰謀と彼を内側から知りたいという願望について話しました。 私たちは彼の手を振って彼に幸運を祈りました。



まとめ



もちろん見ますが、いくつかの特異性があります-あなたが興味を持っている最初のことは、あなたが1つまたは別の大学を卒業したかどうかです-しかし、それは面白いことです。 彼が働いた場所、仕事を変えた頻度、理由。 彼が扱ったトピックと分野。 ただし、データマイニングやWeb 2.0に関係する候補者があなたに興味を持つことはまずありませんが、誰が知っているでしょうか?



履歴書に会社Xの名前が​​表示されることがあります。同僚Vasilyがこの会社で働いていたことを覚えています。Vasyaに行き、偶然に彼が同志かどうか、候補者を知っているかどうか尋ねます。 口コミ-そしてあなたの評判はあなたより先です。



Jファクター。



新会社の典型的な半導体はリクルーターであり、一方でスペシャリストを探していますが、一方で、技術スペシャリストではないため、候補者の実際の体重を十分に評価することができないため、流行語を使用して履歴書を探しています。 わあ! はい、Javaです! しかし、候補者にはLog4Jがあります。Javaには何かがあるはずです。 行こう!



私たち自身のために、いわゆる Jファクター。候補者が言及したテクノロジーの数で、文字Jを含みます。例:jsp、jdbc、j2se、ejbなど。



原則として、 Jファクターが大きいほど、会話は鈍くなります。 「 すべての取引のジャック 」という言葉がありますが、これは「 すべての取引のジャック 」と翻訳できますが、彼女には続編があり、マスターは何もありませんが 、翻訳は不要です。 一言で言えば、人がすでに成熟したエンジニアであり、彼がやりたいことを知っている場合、これは履歴書にも明確に反映されます。 そして、もちろん、そのような人々とコミュニケーションをとることはより快適であり、私たちは彼らをより頻繁に連れて行きます。



しかし、文字通りすべてを取りすぎないでください-各ルールには楽しい例外があります:9J(これは非常に大きな数です)のオーバーロードを持つ人が雇われただけでなく、例外として、彼らはそれが早く働き始めることができるように、それを作ることができました、雇用期間が許すよりも。



人事対応。



人が技術面接で本当に好きなら、プロジェクト面接で好きなら、いくつかのマネージャーが彼のために戦うことに注意する必要があります。 インタビュー-マネージャーと人事部は、優秀なスペシャリストを逃さないために最善を尽くします。 私の記憶では、履歴書が送られてから5日後に非常に著名な鳥が申し出をしました。



電話が鳴った。



人の履歴書が完全に喜んでいないか、人が非常に遠くに住んでいる場合があります-そのような場合、短い電話インタビューが30分間行われます。 そのような電話インタビュー(または「事前インタビュー」)は、原則として、さらに人と話す価値があるかどうかを理解するには十分です。 価値があれば、対面インタビューへの招待。 モスクワ、サンクトペテルブルク、タンボフ、ナホトカのどこから来たのかは関係ありません。会社は候補者の旅費を支払い、チケットやその他の質問をサポートします。



また、電話で話すことにより、モデルのタスクまたはアルゴリズムのカテゴリから宿題を出すこともあります。 ここでは、アリ、特定のアセンブリプラットフォームに対する人の愛、ユニットテストへの愛、アーキテクチャの設計/構築能力、古典的なアルゴリズムの動作の理解、コードデザインの趣味など、多くを見ることができます。



体に近い。



そのため、私たちの日々のタスクに基づいて、議論のためのいくつかのトピックを形成しました



Sprechen Sie Deutsch?



あまりにも長く回りすぎないように、私は通常、クイックソート、マージソート、または英語のバイナリ検索がどのように配置されているかを尋ねます-もちろん、候補者が同じ答えを期待し、質問はトリッキーではないので、1つの石で2羽の鳥を殺すことができます。



たとえば、クイックソートを説明するために、参照ポイントの検索、2つのサブアレイへの分割、再帰呼び出しについて説明するだけで十分だと思う場合、あなたは間違っています。 質問には大きな深さがあります-クイックソートのO(n 2 )への劣化を説明する価値があり、問題を解決する方法の1つとして、いわゆる オランダの国旗の問題。



標準ライブラリと設計



心配しないでください。標準ライブラリについて知っていることと知っていること、つまり、どのコレクションがあり、どのような使用契約があるかについて尋ねられます。 このアプローチまたはそのアプローチの長所または短所について話すと、たとえば、新しいプログラミング言語を作成できる場合、ソリューションを設計/設計する候補者を提供します。 Gang of Fourが何であるかを聞いたことがない場合、コミュニケーションが困難になる可能性が高くなります。



結局のところ、よく知られているフレームワークで適用されたあらゆる種類の美しいアプローチを求めるのが大好きです。 あるいは、例えば、 ドナルド・クヌースがハッシュ構造での検索が素数を使用して行われることを緊急に必要とする理由と、 Sunのエンジニア(現在Oracle )は非常に異なることをしているのでしょうか? 彼らはクヌートを読むだけでなく、他の何かを知っていました。



一般に、hashCodeについては非常に長い間話すことができます:それがどこから来て、なぜそれがアドレスではないのか、そしてもしそれがアドレスだとしたら、それは誰かにとって、そして誰にとって悪いのか、そしてGCの仕組みです。



候補者がそれについて知らない、または聞いたことがない-それは重要ではない-候補者が思考と推論ができる場合、先導的な質問が正しい道へと導く可能性があります。



コーディング。



これらはすべて言葉です! 人がどのようにコーディングし、一枚の紙にコーディングするかを見るといいでしょう-この原則はホワイトボードコーディングとして知られています。 もちろん、 EclipseIdeaEmacsviなど、人生ではすべてのコードを1つまたは別のIDEでコーディングしています。 結局のところ、私たちが自由に使えるすべてのツールは、プロセスを簡素化し、スピードアップしますが、私たちに取って代わるものではありません。



このトピックの典型的なスローインは、フィボナッチ数列のN番目のメンバーを返す関数を作成することです。 通常、候補者は最初に再帰的な実装を作成します。 いいね 適用可能性の領域とどのような副作用が発生するかを明確にします。 論理的継続は反復式です。 私たちはあきらめません-より速く、より良く、より美しくしたい-候補者は覚えているかどうか-私たちは黄金比を通してシリーズのN番目のメンバーの正確な式で投げます。 また、遅かれ早かれ、適用可能性の限界についての疑問が生じます。 ある候補者は文字通り私を殺しました-彼は倍精度浮動小数点数で仮数に割り当てられたビット数を覚えていませんでした-しかし、彼は数秒で彼が要約したことを発見しました-15桁の有効数字が二重に収まりました。 どうやって? 彼は簡潔かつ明確に説明しましたが、これは非常に重要です。



Fluency Math AccountとBrainteasers



人が簡単なことを評価できないときに流andに、そして非常に悲しげに数える方法を知っているとき、それはいいです-既知の初期量と割合での貢献の持続時間、東京とロンドン間のネットワーク遅延、または42のルートだけです。 指で簡単に操作できます。



原則として、候補者と30分間の対面での会話の後、それが好きかどうかが明確になります。 私の純粋に個人的な意見では、候補者が強力な場合、パズルを解く能力は何も言わないでしょう-とにかく、彼はパズルを解きます、水がゼリーにある場合、つまり、理解していない場合、それはどういうわけかそれを解決することができます。 しかし、強力な候補者の場合、これは状況を和らげることができます-彼はいくつかのなじみのないパズルを解決し、カルマで彼に別のプラス記号を描画します。



そして、ここで重要なのはアカウントの流encyさやパズルを解く能力ではなく、抽象化のレベル間で人がどれだけ自由に移動できるかです。 ほんの少し前、彼はBig -O表記の観点からアルゴリズムの複雑さについて話しましたが、今度は、特定の数の再帰的手続きのスタックがいつ終了するかを評価する必要があります。優れたエンジニアは、真空ではなく現実の世界でモデルを構築します。 同じ都市の2つのデータセンター間で500ミリ秒のネットワーク遅延が発生したため、モスクワに100のガソリンスタンドを持っている人が少し驚かないという保証はどこにありますか?



人間が失敗するという目標はないことを理解することが重要です。 インタビューの状況では、役割は伝統的に非常に非対称です-質問と候補者の回答を選択し、さらに評価の客観性のために、インタビュー対象者は通常2人であり、したがって失敗します-つまり 候補者が面接者の少ない地域を見つけて、踏みつけることは、通常は難しいことではありません。 例外がありますが、いずれにせよ、候補者が私たちの質問のいずれかに答えることができる場合-これは、彼が私たちの資格を超えており、インタビューが何も言わないことを意味します-私たちは適切に人のレベルをカットすることができません。 資格のある専門家に電話するだけです。



タスクは異なります:

誰でも既製のソリューションを記憶できますが、新しいソリューションを思い付くのはエンジニアの仕事です。



第17章



[concurrency-interest]の父親は、 DLと他の全員ができるだけ早くこの経典を解釈することを除いて、誰も並行性を知らないことを微妙に示唆しています。 Java Concurrency in Practiceだけでなく、待機/通知についての簡単な質問(シリーズ「どのように実行のスレッドをキャプチャできるか」など)別のスレッドモニターを取得し 、待機する呼び出しで待機している場合())) より複雑な質問は、デバイスCOWAL 、基本形式jdk 1.6のCHM 、HBなどの原因と結果の関係、揮発性の理由などに触れる必要があります。



しかし、それはそうかもしれません。



インタビューを要約すると、私は自分で理解したい-あなたは1人のチームでそのような人と長い間並んで仕事をする準備ができていますか?休暇、病気、はいであなたを置き換えることができるように彼を頼ることができますか?朝のコーヒーや夜のパイントでおしゃべりするのもいいですね。 実際、これは、人と仕事をする際のある程度の快適さで表現されます-彼が説明する必要のある量、彼のために修正する量(コードレビューのプロセスを通じて、直接的または間接的に)。 賢明で機知に富んだ後輩は、多くの知識を備えた頑固で扱いにくい先輩よりもはるかに優れたチームになることがあります。



PS



カードを開いて、インタビューで私たちが尋ねたものと尋ねたものについて話す理由は何でしょうか? 間違いなく、私たちが説明した質問は、私たちが尋ねることができるものの完全なリストからはほど遠いです-原則として、これらは大きなトピックからのランダムな質問です そして、それには何もありません。



動機は単純ではありません。現時点では、品質の専門家の市場はほぼ枯渇しています。 一方、IT環境には彼らになり得る多くの人々がいます。



インタビューの準備をします。 1日でも1週間でもありません。 作業し、モデルの問題を解決します-1か月以上かかる場合があり、投資はまともな仕事で完済します。



pps cheremin 、Alexander Kusurgashev、Slava Tsarev、そしてもちろん23derevoによるこの記事の執筆にご協力いただきありがとうございます。



All Articles