可能なC#開発ジョブが並んでいますが、面接を行う前に、雇用機関とのテストに合格する必要があります。
現在、私は10年以上のプログラミング経験と、3年以上のc#経験を持つ上級開発者ですが、このテストは本当に楽しみではなく、失敗する可能性は十分にあると思います。
私の経験では、これらのテストは予測できないため、日常の作業状況ではめったに使用しないものを尋ねます。
良い本やウェブサイトなど、私が何を修正すべきかについて、あなたの最善のアドバイスが必要です。準備期間は1週間未満で、合格することが不可欠です。
前もって感謝します。
編集:そのようなテストを書くことの私の懸念をさらに正当化するために-次の質問を考えてください:
12)イベントは:
a) The result of a users action - correct answer
b) The esult of a party
c) code to force users action
テストによる正解はAですが、私はSOA開発を行っているため(多くの場合、イベントがユーザーイベントではなくシステムイベントに基づく場合)、100%確信しています。イベントはユーザーアクションによって駆動される必要はありません。これもC#の質問でした(ASP.netの質問ではありません)。私の理解に基づいて、私は実際には正しい答えを見つけることができませんでしたが、Bが最も良いようです(パーティーの定義が:イベントをトリガーできる任意のエンティティの場合。これらの種類の質問は私を怖がらせます。
少し古いですが、おそらくこのブログ投稿はあなたにとって便利です: 知っておくとよい.NET開発者(その他の.NETインタビューの質問)
コードを書くすべての人
- スレッドとプロセスの違いを説明してください。
- Windowsサービスとは何ですか?そのライフサイクルは「標準」EXEとどのように異なりますか?
- Windowsの単一のプロセスが対処できるメモリの最大量はどれくらいですか?これはシステムの最大仮想メモリとは異なりますか?これはシステム設計にどのように影響しますか?
- EXEとDLLの違いは何ですか?
- 強い型付けと弱い型付けとは何ですか?どちらが好ましいですか?どうして?
- Corillianの製品は「コンポーネントコンテナ」です。現在Windows Server Familyに同梱されている3つ以上のコンポーネントコンテナーに名前を付けます。
- PIDとは何ですか?システムのトラブルシューティングにどのように役立ちますか?
- 単一のTCP/IPポートでリッスンできるプロセスはいくつですか?
- GACとは何ですか?それはどのような問題を解決しますか?
中レベルの.NET開発者
- インターフェイス指向、オブジェクト指向、アスペクト指向プログラミングの違いを説明してください。
- インターフェイスとは何か、クラスとの違いを説明してください。
- リフレクションとは何ですか?
- ASMXを使用したXML WebサービスとSOAPを使用した.NET Remotingの違いは何ですか?
- 型システムはXmlSchemaとCLS同型で表されますか?
- 概念的には、事前バインディングと遅延バインディングの違いは何ですか?
- Assembly.Loadを使用して静的参照または動的参照ですか?
- Assembly.LoadFromまたはAssembly.LoadFileの使用が適切なのはいつですか?
- アセンブリ修飾名とは何ですか?ファイル名ですか?どう違うの?
- これは有効ですか? Assembly.Load( "foo.dll");
- 厳密な名前の付いたアセンブリは、厳密な名前のないアセンブリとどう違うのですか?
- DateTimesをnullにすることはできますか?
- JITとはNGENとはそれぞれの制限と利点は何ですか?
- .NET CLRの世代別ガベージコレクターは、オブジェクトの有効期間をどのように管理しますか?非決定的なファイナライズとは何ですか?
- Finalize()とDispose()の違いは何ですか?
- Using()パターンはどのように役立ちますか? IDisposableとは何ですか?確定的なファイナライズをどのようにサポートしますか?
- この便利なコマンドラインは何をしますか? tasklist/m "mscor *"
- インプロセスとアウトオブプロセスの違いは何ですか?
- .NETでアウトオブプロセス通信を可能にするテクノロジーは何ですか?
- ASP.NET内でコンポーネントを実行している場合、Windows XP内でどのプロセスが実行されていますか? Windows 2000? Windows 2003?
上級開発者/アーキテクト
- このような行の何が問題になっていますか? DateTime.Parse(myString);
- PDBとは何ですか?デバッグを機能させるには、どこに配置する必要がありますか?
- 循環的複雑度とは何ですか?なぜそれが重要なのですか?
- 標準のlock()に加えて「ダブルチェック」を記述し、変数アクセスに関するクリティカルセクションを作成します。
- FullTrustとは何ですか? GACで作成されたアセンブリにはFullTrustがありますか?
- 特定のセキュリティ権限を要求する属性でコードを装飾すると、コードにはどのようなメリットがありますか?
- これは何をしますか? gacutil/l |/i「コリリアン」を見つける
- これは何をしますか? sn -t foo.dll
- ファイアウォールを介してDCOM用にどのポートを開く必要がありますか?ポート135の目的は何ですか?
- コントラストOOPとSOA。それぞれの原則は何ですか?
- XmlSerializerはどのように機能しますか?それを使用するプロセスにはどのACL権限が必要ですか?
- Catch(Exception)がほとんど常に悪い考えであるのはなぜですか?
- Debug.WriteとTrace.Writeの違いは何ですか?それぞれいつ使用すべきですか?
- デバッグビルドとリリースビルドの違いは何ですか?速度に大きな違いはありますか?なぜか、なぜそうでないのか?
- JITはアセンブリごとまたはメソッドごとに発生しますか?これはワーキングセットにどのように影響しますか?
- インターフェースに対する抽象基本クラスの使用とは対照的ですか?
- A.Equals(b)とa == bの違いは何ですか?
- 比較の文脈では、オブジェクトの同一性とオブジェクトの同等性とは何ですか?
- .NETでディープコピーを行う方法を教えてください。
- IClonableに関する現在の考え方を説明します。
- ボクシングとは何ですか?
- 文字列は値型ですか、それとも参照型ですか?
- XmlSerializerで使用される "PropertySpecified"パターンの重要性は何ですか?それはどんな問題を解決しようとしますか?
- .NETでoutパラメータが不適切なのはなぜですか?彼らは?
- メソッドの特定のパラメーターに属性を配置できますか?なぜこれが便利なのですか?
C#コンポーネント開発者
- Newでオーバーライドの使用を並べてください。シャドウイングとは何ですか?
- 仮想、封印、オーバーライド、および抽象の使用について説明します。
- この文字列の各コンポーネントの重要性と使用法を説明してください:Foo.Bar、Version = 2.0.205.0、Culture = neutral、PublicKeyToken = 593777ae2d274679d
- パブリック、保護、プライベート、内部の違いを説明します。
- プライマリ相互運用機能アセンブリ(PIA)を使用するとどのようなメリットがありますか?
- NUnitはどのメカニズムでどのメソッドをテストすべきかを知っていますか?
- 違いは何ですか:catch(Exception e){throw e;}とcatch(Exception e){throw;}
- Typeof(foo)とmyFoo.GetType()の違いは何ですか?
- 最初のコンストラクターで何が起こっているかを説明します。public class c {public c(string a):this(){;}; public c() {;}}この構成はどのように役立ちますか?
- thisとは何ですか?これは静的メソッド内で使用できますか?
ASP.NET(UI)開発者
- ブラウザベースのフォームPOSTがButton1_OnClickのようなサーバー側イベントになる方法を説明してください...
ただ離れて、レニー
このようなテストを数回行ったことがあります。今、私はただ立ち去ります。テストでは、プログラミングの知識の最も些細な部分を測定します。これらのテストがプログラマーを評価する良い方法であると思う誰かのために働きたいですか?私はしません。
私は去年のような状況でした。面接に出て久しぶりに怖かったです。私はC#インタビューの質問を検索し、いくつかのサイト(他のポスターにリストされているサイトの多く)を見つけて、それらを調査しました。驚いたことに、インタビューの90%はまさにそのサイトverbatimからのものでした。インタビュアーもGoogleを使って質問を見つけていると思います:)
これらのテストは、専門の人材紹介会社や一部の企業によるプレスクリーニング申請者の一部になりつつあります。彼らは非技術的な面接官が誰かの技術的な能力を評価する方法を提供するように設計されています。ただし、それらは本質的に単なるトリビアテストであり、本当に何も知らない人を排除する以外に、プログラマーの能力について意味のあることを何も言わないでしょう。残念ながら、一部の企業/採用担当者は、これらの結果を重視しすぎています。
彼らのために勉強する方法は、インタビューの質問サイト、合法的なサイトを見つけることであり、ポップアップ広告や他のそのようなナンセンスで埋め尽くされた回答を売り込もうとするものではなく、回答を詰め込みます。そうすれば、まともなスコアが得られ、ハードルを乗り越えられます。会社がこれらの結果を重視しすぎている場合、おそらく彼らはとにかく働くのに最適な会社ではありません。
面接テストでは、企業文化とテスト作成者に大きく依存します。彼らが曖昧な質問をしてあなたをつまずかせようとしているのなら、私は賢くて仕事を成し遂げることができる高品質の個人にもっと興味がある別の会社や機関に移ります。
とは言っても、あなたが日常業務でc#を使用しているときは、問題解決とロジックの努力に集中し、本の学習面に集中しません。
プロジェクトオイラーは、少し錆びている可能性が高いスキルを練習して磨くのに最適な場所です。
それが雇用機関のテストであれば、それほど難しくはないはずです。テストを開発する言語スペシャリストがいるわけではありません。彼らが行うことになる可能性が最も高いのは、ウェブサイトから質問をコピー/貼り付けることだけです。
フレームワークが一般的にどのように機能するか、および最も一般的なタスクの名前空間/ライブラリ、特定のタスクにどのようなものを使用する必要があるかを理解している限り、優れているはずです。