The first step was a phone interview where we talked about my skills and experience and he asked some technical questions. He also told me about the company and I asked questions about the development team, their projects, and what my role would be.
The interview went well and the HR manager called me a week later to say they'd like to bring me in for an in-person interview. But since the manager was out of town, it would be another week until I could come in.
The in-person interview was scheduled to be an hour long: it was 5 minutes of talking to the department manager and then a coding test.
The test itself was an "open book" coding test, meaning I sat at a computer with Visual Studio open on one monitor and Google (or anything else I needed) on the other monitor. The challenge was to create a series of linked-list objects that held a text value and a pointer to the next object in the list. Then the next step was to order the list so the text values spelled "cat". Then the next step was to create a copy of the list object and compare each node in both lists to see if the text values matched. I ran out of time and wasn't able to finish this step.
It's been over 3 weeks and I still haven't heard back from them. Personally, I think it's a little rude for a company to take the candidate's time *and* their manager's time to conduct an in-person interview/ technical test yet they don't tell the candidate that they went with someone else.