Welcome

Interviews are hard.

In particular, interviews in a technical field can be really hard. I’ve had far more than my fair share of awkward, uncomfortable interviews, where I knew the interviewer was looking for a specific answer, and I could not fumble my way into it for the life of me. Early on in my career, I decided that while I may not know the answer to every technical question in an interview, I would not miss the same answer twice.

This purpose of this content is to function as a repository for every piece of arcane knowledge that may come to light during a software development interview in the Microsoft ecosystem. It is a living document and comes mostly from my own learning and experiences. It provides both broad and general descriptions of high-level concepts, as well as the most important nitty-gritty details. It aims to provide the critical information that senior-level .NET software developers must know to at least speak intelligently on any and all of these topics, even if they can’t recall every detail off the top of their head. It is unfortunate that development interviews often rely so heavily on technical minutiae, when that type of knowledge is not always used in the day-to-day job, or rather is usually refreshed via a quick Google search. Alas, that’s where we find ourselves.

You are already a great developer. You know it. I know it. The challenge is, can you demonstrate to a potential employer that know it? Passing a technical interview is one of the most sure-fire ways to communicate to a potential employer that you are worthy of the substantial paycheck they are going to give to you (you did negotiate, right?).

I hope that the knowledge I've gathered here, in pursuit of success in my own career, will be as beneficial to you as it has to me!