views:

343

answers:

6

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.

+16  A: 

This article on Wikipedia can give you a good idea about these 3 questions: .NET Framework

alt text

Leniel Macaferi
+1 for taking the time to post a diagram as opposed to the typical answers.
Dal
A: 

MSDN has reference material on these subjects, e.g.

http://msdn.microsoft.com/en-us/library/c5tkafs1(VS.71).aspx

Daniel Earwicker
A: 

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

GenEric35
The tests have the best of intentions, but without any experience to back up the knowledge, they are virtually useless. It's like reading how to ride a bike. Until you try to ride a bike, reading how to ride a bike really has no value. Well, unless you are tested on the knowledge on how to ride a bike.
Chuck Conway
I disagree, the certs are API tests, experience is whatever your boss needs to get done, which in big part is specific to his app and won't be usefull in the next interview.
GenEric35
i dont agree with you @GenEric.... unless you are theory person who just read to teach than working on a real world project.
Abu Hamzah
@Nisar, the goal is to make the most of the API, in this case the .Net framework and use it as it's intended. Otherwise, and this is from my experience, real world projets often end up written by lamers who are lost in the framework, making all sorts of contraptions to replace what is already existing(membership, globalization, logging, caching, unit testing, deployement best practices). The case where real world experience is relevant is if you work in a very common field(e-business) and knowledge is all reused from one job to the other, otherwise knowing the api allows you to adapt faster.
GenEric35
+3  A: 
Ryan Mentley
@Aristos I disagree, if the question is vague, ask for more information.
Forrest Marvez
+8  A: 

I recommend CLR via C#, which is a great book that shows exactly how C# code works "under the hood."

Stephen Cleary
I second this recommendation. You don't have to understand what's happening in the guts of the CLR to be a good developer, but it's interesting stuff and can come in handy if you start working with trickier stuff and want to know why things are behaving the way they do. My guess is that the interviewer was trying to gauge the OP's level of self-directed interest, and (given the follow-up advice for the next interview), to gauge how well he can quickly learn something new.
Dan Bryant
@Dan Bryant: Read this: http://www.joelonsoftware.com/articles/LeakyAbstractions.html
Jeroen
@Jeroen, a classic article. :) The truth of the matter is that we're all working at some level of abstraction and we only dig deeper if we're interested or if we're forced to in order to diagnose some particularly thorny issue. There are endless levels and not enough time to understand them all. Nowadays, of course, if there's a tricky problem outside the scope of your understanding, you can always post the question on SO and somebody is bound to have traveled the necessary dark tunnels to have found the answer. As long as you know enough to describe the problem.
Dan Bryant
In my opinion you can never know enough about the technology you're using. So i *always* want to dig deeper.
Jeroen
A: 

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.

Dal