私はC ++開発者です。Windowsがネイティブレベルでどのように機能するかは知っていますが、私はC#と.NETの専門家ではありません。チームにC#開発者が必要になりました(開発者はすべてC ++です)。C#のレベルがわからない場合、どうすれば優れたC#開発者を雇うことができますか?質問をする方法、答えがすばらしいか、または愚かな間違いがあるかどうかをテストする方法は?
私はC ++開発者です。Windowsがネイティブレベルでどのように機能するかは知っていますが、私はC#と.NETの専門家ではありません。チームにC#開発者が必要になりました(開発者はすべてC ++です)。C#のレベルがわからない場合、どうすれば優れたC#開発者を雇うことができますか?質問をする方法、答えがすばらしいか、または愚かな間違いがあるかどうかをテストする方法は?
回答:
私は時折、C ++を主に経験しているプログラマーにインタビューする問題に直面します。私の戦略は:
主に一般的なプログラミングの質問、アルゴリズム、オブジェクト指向設計、リファクタリングの方法、優れた単体テストの作成方法などを尋ねます。言語スタイルを対象としたいくつかの一般的な質問を追加します。 C#ガベージコレクターを使用しているときにメモリリークがありますか?
彼らがどのように言語を学んだか、どの本を読んだかなどを調べてください。
かなりの量のC ++を書いていることを確認してください。彼らがそれをいつ使ったか、どれだけ、それを使って何をしたのか、そして誰のために深く掘り下げてください。次に、参照を使用して可能な限りこれを確認してください。
彼らが難しい設計と理論の質問にうまく答えることができ、まともな量のC ++を書いているなら、少なくとも半分はうまくいくと思います。
すべてのプログラマーの本当のテストは、彼らが問題をどれだけ解決できるかです。平凡なC#スキルのみを備えた一流の問題ソルバーは、フォーム入力の処理方法がわからないC#の神(dess)よりもはるかに価値があります。
ビジネスドメインから合理的な現実の問題を見つけ、C#で解決できるようにしてください。ドメインを知っていて、結果がどうあるべきかを知っています。C#の基本的なフローとコマンドはC ++とそれほど変わらないため、自分でロジックを確認して質問することができます。
それでも心配な場合は、完成したコードをC#の友人またはビジネスパートナーのいずれかに送信し、レビューしてフィードバックを提供できるかどうかを尋ねます。
C#開発者に対する実際のニーズがあると思います。
まず、彼らが達成するために必要なタスクの種類を把握します。
次に、それらのタスクをどのように達成するかを尋ねます。以前にこのようなタスクをどのように完了したかを尋ねます。
面接の際、他の応募者に提案されたソリューションの評価を依頼してください。解決できないとわかっているもの、おそらくは良いと思うものをソリューションにシードすることをお勧めします。これは、申請者がどのようにチームと協力できるかを判断するのに役立ちます。コントロールは、yesの男性とIdea Assassinsを取り除くのを助けるべきです。
これにより、仲間に受け入れられ、チームと連携する能力を備えたアイデアを持つ優れた候補者グループが提供されます。
C ++開発者を雇っていたので、インタビューを受けてください。C ++の技術に重点を置くのではなく、問題解決、OOP、プログラミング全般に重点を置きます。もしあなたがC#をやりたいC ++開発者として彼を雇うなら、彼は良い雇い人になるでしょう。
私自身が.Net開発者であり、C ++の人たちとよくやり取りしているので、人が.Netプラットフォームについて少なくとも何かを知っているかどうかを知りたいと思います:ガベージコレクション、GAC、JIT、NGEN、値対参照タイプ、目的IDisposeなど。質問の良いリストは、Scott Hanselmanブログにあります。。質問を自分で理解していない場合に答えが正しいかどうかを簡単に判断する方法はないため、MSDNで.Netの概要を確認するか、Essential C#4.0などの優れた本を選択することは理にかなっています。
GUIプログラマーを探している場合、電卓や火星探査機など、シンプルなものを実装するように依頼することは非常に役立ちます。このために1日か2日を与えても構いません。GUIが便利で便利な場合、たとえば、サイズ変更時にどのように動作するかがすぐにわかります。