Intensive interview process.
1 x 30 minute phone call about my skills/experience in the technologies and methodologies used by the company. Interviewer was lovely, easy to deal with and provided a lot of information.
1 x code test. Was given 4 hours to do it. One mandatory question and one optional on Bad Code, JDBC, JMS and Iterators.
1 x 45-60 minute technical phone interview on Java, n-tier architecture, XML, databases, Agile and more. The guy was great to deal with, asked lots of tough questions and gave ample time to form answers.
3 x 1 hour face-to-face interviews. First interview was on my interest in the position, some discussion on projects / project architecture and then some white board code and architecture work. Interviewer was great to deal with, provided lots of feedback as the problems were being done on the white board and provided a lot of information as to the opportunities available within the company.
Second face-to-face interview was held with an implementation architect. Very nice guy. Asked a lot of questions on Java, design patterns, web services and more that were significantly tougher / more obscure than those asked in previous interviews and especially the code test. Did some white board coding / architecture diagrams.
Final face-to-face interview was with a guy from consulting enablement. Provided me with a demo of one of Guidewire's products and more. Did a final bit of whiteboard coding here.
Overall it was a great experience and has undoubtedly developed my technical interview skills as well as understanding of some more obscure areas of Java. Unfortunately I didn't get an offer as the second face-to-face interview didn't go as well as the rest and the decision among the interviewers has to be unanimous.
The people involved in the process were fantastic, very smart and easy to get along with and the interview process was entirely without any of the BS attached with more traditional styles of interviewing ("What is your greatest weakness?" type questions).