I am not sure where to start on this one. I have had about a dozen technical interviews in the past couple of weeks, both phone and in person. Some interviews were non-technical, score! Candidate walks to home plate. While others have been technical grill sessions.

I was recently interviewed by a Senior Architect who works for a Microsoft Partner of the Year. Well, no fluff here it was Shrimp on the Barbie from the very beginning and must add it was quite humbling. Score for the interviewer, but I passed (read squeaked by).

The interview with the Architect was followed by an in-person software architecture and design session. WTF! Anyone for grilled Mexican with a side of rice and beans? I was a bit nervous, but it was the best technical interview to date.

Here is where I wanted to go when I started this post. After the above grilling and design session, I was asked to participate in a phone screen and then an in-person interview with another company. This time with a non-technical group, what a disappointment.

Below are some of the questions I was asked in the last interview:

  • What is the purpose of the web.config file?
  • Describe functionality of master pages?
  • Describe use of Try Catch Finally handler?
  • When do you use XML comments?
  • Provide types and examples of SQL Joins?
  • Correct this snippet of code.

I know that we have various levels of knowledge, skills, and abilities so I am not criticizing the non-technical group for asking the questions they asked in the interview, just noting that I was disappointed that it was not another grill session.

Topics discussed at the BBQ include:

  • Stack versus Heap (cloning objects, boxing operations)
  • Generics (design time, compile time, runtime issues)
  • Boxing and Unboxing (performance implications)
  • Interface versus Abstract class (limitations, maintainability, uses)
  • Threading (shared classes, instance classes, locking mechanisms)
  • Database (design, referential integrity, consistency checks, lock types)
  • Finalize Method versus Dispose Method (explicit, implicit calls, CLR)