A very open question. I've been programming in C# for the past 5 months doing small projects that I completed successfully.
Today I went to an interview for a C# role. The 1st question was 'Tell me about boxing'. Given my experience I had no idea what the guy meant. Needless to say the interview didn't go that well. Others questions were 'why isn't it recommended to use an ArrayList of int', 'tell me what you know about threading', etc.
I don't really want this to happen again so I'm planning to spend some time reading (and practising) more on C#. I understand that the best way of learning is by coding but coding wouldn't have really helped me answer the question about 'boxing' for example.
I'm not asking you to answer the above technical questions. In fact, I know now their answer as I went straight to Google after the interview and it's how I realised that my C# knowledge is somewhat limited.
My question is: in your opinion, which knowledge should any C# developer have? Ideally it would be better if you could categorize it (Basic knwoledge anyone should have without exception, Advanced knowlege, Expert knowledge etc). No need to go into details. Doing research on whatever you list will be a good exercise for me.
Thanks.