I just had a quick phone interview. The interviewer asked me a few questions like:
- How does C# work?
- What is the CLR and what does it do?
- What is C# code converted to?
Other than the CLR question (for which I gave a very vague answer), I didn't know the answers. There were a few others related to .NET that I don't remember, but I didn't know the answers to those either.
I'll admit that my knowledge is more high-level, but I feel like I have a basic grasp of how .NET works. Either way, I got a second interview, but he said I "need to brush up on how .NET works" before my next interview.
So...I'm not exactly sure how to do that...any advice?
I guess I should also mention that I've been out of college for 2 years, and I've been working professionally since then building ASP.NET web applications. Before that, I had no .NET experience.
those should be easy questions if you have realy been working with .net for 2 years,
http://www.microsoft.com/learning/en/us/certification/mcts.aspx
Edit: throwing in my comments bellow, certainly not well known guidelines of any kind... just for discussion
Taking the questions one at a time...
How does C# work?
I would ask the interviewer what exactly he means by this—does he want features of C# such as properties, events, or delegates? Does he want to know how people develop for C#? Does he want a comparison to C/C++? This is a vague question with many possible answers.
What is the CLR and what does it do?
The Common Language Runtime is the virtual machine responsible for execution of .NET byte code (in CIL). It is the .NET equivalent of Java's JVM.
What is C# code converted to?
C# is compiled into the Common Intermediate Language, formerly known as MSIL. It is a type of byte code. To be able to see it and translate it back into .NET languages, you can use a tool like the .NET Reflector to view the CIL code as well as how it would look in C#, VB.NET, etc.
my favourite metaphor/simile is its like having a car, you don't need to know how the engine actually works (water pump, cylinders, spark plugs)... in order to drive a car, but if you did know the extra details it would help your drive even better and be able to actually understand/diagnose some problems you may encounter with the car...
You don't need to know much about the CLR to code an asp.net web site, but if you were to get into the guts of the CLR you might alter the way you code some things to make it even faster to run.
MSDN has reference material on these subjects, e.g.
http://msdn.microsoft.com/en-us/library/c5tkafs1(VS.71).aspx
I recommend CLR via C#, which is a great book that shows exactly how C# code works "under the hood."
This article on Wikipedia can give you a good idea about these 3 questions: .NET Framework