My initial contact through the company was from an employee that I knew from a previous job. I got the interview on his recommendation. It was set up by phone, and I first had an interview with the Developer Manager. It lasted about a hour, and he first asked me a few questions to put me at ease and check out my personality. This was followed by a few questions about programming and networking. They were all questions that someone with a BS in CS or Software Eng should know, and were not unreasonable in any way. I didn't feel that I faired that well on that section, but I think they were willing to overlook that due to the strong recommendation from the employee that I had known previously. These questions were followed with a few general problem solving questions, one of which I was not able to answer during the interview, but figured out afterwards. After this, several other programmers joined in the interview. They asked a few questions, but it felt like they were getting a feel for my "fit" in the company rather than my testing my skills. A second interview followed a week later, this time a half-hour with the manager and the CEO. The CEO asked me in I had any questions about the job. It also felt more oriented towards my fit in the company rather than a skills test. About a week after that I received a job offer and accepted.
For the position I was applying for, and the environment of the work-place, the interview was perfect in my opinion. The questions were detailed enough to assess my ability to perform the work required, but not so difficult that I felt overwhelmed. I was helped by already knowing someone on the inside.