Right...
1) I had a telephone tech screen with a senior engineer on the team. I was asked a very reasonable bunch of C# questions that any engineer worth their salt should know (How GC works, threads, deadlock, polymorphism...you know, the usual suspects for a C# phone screen)
2) I was then proceeded to initial a face to face with the development team (4 team members). I was given a programming task to carry out on a laptop provided by Cerberus. The problem was clearly stated in 1 page document and required the candidate to implement a class. The test was a straightforward and meaningful test of real C# programming skills.
Of the 4 team members, 2 came across as not very happy in their current role. Shockingly, one of the 2 candidly spoke about quality engineering being non-existent and zero process bordering on anarchy. Overall though, they all seemed like personable guys you would go for a beer with after work.
One of the team members gave me a piece of paper and pen and asked me to sketch out a couple of algorithmic based questions, one of which involved recursion...quite a tough one as it goes, but I found out from one of his subsequent colleagues that he likes to ask questions that are almost impossible to solve to see how the developer deals with the pressure - seems fair enough to me.
The final developer asked me an assorted bunch of .NET questions, some of which covered esoteric aspects of the CLR which I was able to dispatch fairly easily, but they did tend to fall into the either 'know it' or 'don't know it' category as opposed to questions that might draw on reasoning power.
No one asked me about unit testing up front. I brought that topic up with each of them but there doesn't appear to be a unit test mentality from the top down (i.e. management are not demanding it, so quality is not likely to be important or rewarded I suspect). No one asked me to describe any 'Gang of Four' patterns or asked me about SOLID or interface based programming or end to end testing. I therefore got the vibe that the team is either a bit immature in their software practice or perhaps they are not incentivized to adopt modern quality engineering techniques by their management chain.
At the end, I met up with the original senior developer who gave me the coding challenge from the start. He said that the team had given me the thumbs up and that I should expect another face to face the following week with senior management.
3) I then duly proceeded to attend the second round of face to face interviews a week later with HR and 2 senior managers. The HR meeting was a very normal experience of about 30 minutes with typical HR questions and she was a very nice person of good manner.
But then it all started to go downhill when I then I met a youngish (late 30's, early 40's) senior manager who quite literally swaggered into the office. He never smiled during the interview and proceeded to carry himself in what I could only describe as an arrogant, self appointed manner with little to no eye contact which really set the tone from that point. He did not ask me any questions about my career or what I'm looking for. He only asked me one question right at the end of a very tedious, highly nebulous (lots of hand waving and no white board), self indulgent monologue about the system he had built (a data warehouse). And the question he asked me at the end was posed with head resting in hands, elbows on table: "...so tell me....why should I hire you?"...one can only imagine what his opening lines might be in a bar.
After I gave my brief answer (which was really all about functional programming being the future for reasons of correctness and scalability), he then asked me if I had said anything like that to the development team last week, to which I responded that I might have touched on it and he then muttered something in-audible under his breath (quite likely disdain but I didn't catch it unfortunately) only to then swagger out the office with the limpest of handshakes and again no eye contact (I knew I was doing really well at this point folks). After a 10 minute wait, the swagger guy's boss came in and apologized for there being (mystically) no time to conduct a proper interview with me due to swagger-man overrunning into his time and we were therefore done in less than 10 minutes during which I was asked 3 or 4 fairly meaningless questions before I found myself out on the street.
Dear reader, you won't be surprised to hear that there was no offer on this occasion!