In fact it even varies within a company. Let me be specific on what it is where I work.

In my team (BTW, we're hiring...) you get hired after 2 interviews. One by phone. One in person with a team of interviewers. If we need to fly you across the country, then we add a second phone interview to decide whether it is really worth the expense of flying you.

The phone screen is meant to filter out people whose skills are obviously not good enough, the team interview is primarily technical, but also will turn up compatibility problems and gives the interviewee the oportunity to ask questions.

If you're noticed because of inside connections, you still get 2 interviews, though the phone one may become much shorter.

If you're noticed because we tried to hire you in the past and you didn't accept, you'll only need 1 interview, or in a few rare cases, none.

In all cases we do usual stuff such as call references and a basic background check. If you are recommended from inside, the insider will probably be one of the references that we talk to. If we tried to hire you in the past, we probably have some of that data on you already and may skip steps.

Note, as I've mentioned before, we've yet to hire a programmer that we are unhappy with, and we've yet to have a programmer quit. In short, this hiring process seems to work very well for us.

The rules that I've just given are very team specific. If you're being hired here to do HTML, be a DBA, or to be a product manager (we're hiring all of those as well right now...), the hiring process will be different.

For instance I think that the HTML designer's hire is working like this. We send you an image that is a mockup of a desired HTML page, with annotations about specific fonts, spacings, etc, and also give all graphics that you'll need to create that page. You're allowed to ask questions, and you have to try to produce HTML that will result in the desired web page. If you succeed and your HTML is reasonable, then you'll be asked for a compatibility interview. After that, we'll do "the usual stuff" then extend an offer. I may be missing a step or three though - I'm not part of that hiring process. But even so you can see that it is very different than what programmers go through.

Cheers,
B4en