I have a possible C# dev job lined up but before I can interview, I need to pass a test with the employment agency. Now even though I am a senior developer with over 10 years of programming experience and more than 3 of these years with c#, I am really not looking forward to this test and I think there is a good chance I will fail it. In my experience these tests are unpredictable asking you stuff you seldom use in everyday work situations. I need your best advice on what I should be revising on - a good book or website for example. I have less than 1 week to prepare and it is essential I pass this. Thanks in advance. EDIT: To further justify my concerns of writing such tests - Consider the following question:12) An Event is :   a) The result of a users action - correct answer   b) The esult of a party   c) code to force users actionThe correct answer according to the test is A, but since I've been doing SOA development (often when events can be based on system events (not user actions) I'm 100% sure an event doesn't have to be driven by a user action. This was also a C# question (not an ASP.net question). Based on my understanding, I couldn't really spot a correct answer but B seems the best of the lot (if the definition of party is : any entity that can trigger an event. These kind of questions scare me. 
The dreaded C# programming interview test - any advice?
c#;interview
Altough somewhat old, maybe this blog post is useful for you: What Great .NET Developers Ought To Know (More .NET Interview Questions)Everyone who writes codeDescribe the difference between a Thread and a Process?What is a Windows Service and how does its lifecycle differ from a standard EXE?What is the maximum amount of memory any single process on Windows can address? Is this different than the maximum virtual memory for the system? How would this affect a system design?What is the difference between an EXE and a DLL?What is strong-typing versus weak-typing? Which is preferred? Why?Corillian's product is a Component Container. Name at least 3 component containers that ship now with the Windows Server Family.What is a PID? How is it useful when troubleshooting a system?How many processes can listen on a single TCP/IP port?What is the GAC? What problem does it solve?Mid-Level .NET DeveloperDescribe the difference between Interface-oriented, Object-oriented and Aspect-oriented programming.Describe what an Interface is and how its different from a Class.What is Reflection?What is the difference between XML Web Services using ASMX and .NET Remoting using SOAP?Are the type system represented by XmlSchema and the CLS isomorphic?Conceptually, what is the difference between early-binding and late-binding?Is using Assembly.Load a static reference or dynamic reference?When would using Assembly.LoadFrom or Assembly.LoadFile be appropriate?What is an Asssembly Qualified Name? Is it a filename? How is it different?Is this valid? Assembly.Load(foo.dll);How is a strongly-named assembly different from one that isnt strongly-named?Can DateTimes be null?What is the JIT? What is NGEN? What are limitations and benefits of each?How does the generational garbage collector in the .NET CLR manage object lifetime? What is non-deterministic finalization?What is the difference between Finalize() and Dispose()?How is the using() pattern useful? What is IDisposable? How does it support deterministic finalization?What does this useful command line do? tasklist /m mscor*What is the difference between in-proc and out-of-proc?What technology enables out-of-proc communication in .NET?When youre running a component within ASP.NET, what process is it running within on Windows XP? Windows 2000? Windows 2003?Senior Developers/ArchitectsWhats wrong with a line like this? DateTime.Parse(myString);What are PDBs? Where must they be located for debugging to work?What is cyclomatic complexity and why is it important?Write a standard lock() plus double check to create a critical section around a variable access.What is FullTrust? Do GACed assemblies have FullTrust?What benefit does your code receive if you decorate it with attributes demanding specific Security permissions?What does this do? gacutil /l | find /i CorillianWhat does this do? sn -t foo.dllWhat ports must be open for DCOM over a firewall? What is the purpose of Port 135?Contrast OOP and SOA. What are tenets of each?How does the XmlSerializer work? What ACL permissions does a process using it require?Why is catch(Exception) almost always a bad idea?What is the difference between Debug.Write and Trace.Write? When should each be used?What is the difference between a Debug and Release build? Is there a significant speed difference? Why or why not?Does JITting occur per-assembly or per-method? How does this affect the working set?Contrast the use of an abstract base class against an interface?What is the difference between a.Equals(b) and a == b?In the context of a comparison, what is object identity versus object equivalence?How would one do a deep copy in .NET?Explain current thinking around IClonable.What is boxing?Is string a value type or a reference type?What is the significance of the PropertySpecified pattern used by the XmlSerializer? What problem does it attempt to solve?Why are out parameters a bad idea in .NET? Are they?Can attributes be placed on specific parameters to a method? Why is this useful?C# Component DevelopersJuxtapose the use of override with new. What is shadowing?Explain the use of virtual, sealed, override, and abstract.Explain the importance and use of each component of this string: Foo.Bar, Version=2.0.205.0, Culture=neutral, PublicKeyToken=593777ae2d274679dExplain the differences between public, protected, private and internal.What benefit do you get from using a Primary Interop Assembly (PIA)?By what mechanism does NUnit know what methods to test?What is the difference between: catch(Exception e){throw e;} and catch(Exception e){throw;}What is the difference between typeof(foo) and myFoo.GetType()?Explain whats happening in the first constructor: public class c{ public c(string a) : this() {;}; public c() {;} } How is this construct useful?What is this? Can this be used within a static method?ASP.NET (UI) DevelopersDescribe how a browser-based Form POST becomes a Server-Side event like Button1_OnClick...