I've recently moved to the US from the UK and a few weeks ago put my resume out there looking for programming work. So far I've had 3 interviews with some of the 'bigger' names around and all 3 came as quite a shock.
Firstly, all the interviews have consisted of at least one highly technical phone screen - this is following a more relaxed (but still technical focused) interview with HR & management. If you get past those stages, you then have an entire days worth of technical interviews involving a lot of whiteboard coding. Most of the questions are completely irrelevant to real-world programming (reverse a linked list etc.) yet a lot of weight is put on the answers.
In the UK, this level of testing is rare in my experience. Instead more focus is put on your resume and achievements plus if your personality fits during the 1-2 hour in-person interview. You will get a technical test in most places but it is usually an hour or so and very job focussed.
My second problem is to do with attitude. We brits tend to remain rather modest of our achievements because boasting is considered in poor taste. I'm finding that attitude is really affecting the way American interviewers are judging me. It seems they expect interviewees to scream out loud that they are the greatest programmer the world has ever seen! Of course I'm not, but I am bloody good at what I do.
The strangest thing is, I get calls almost every day wanting to talk about interviews based upon my resume yet so far, no luck in breaking that cultural barrier that seems to exist.
I'm starting to adapt though and understanding the American way of doing things. I want to fit in here and have a successful career. If anyone wants to share some insights I'd be most grateful.
Candidate A had a long track record of success, at least on paper. He was obviously motivated, responsible, and likable. He had done a lot of hardware work, and claimed to be a decent (but not top-notch) C programmer.
Candidate B was straight out of college, and he had a weak résumé. We suspected that he had some coding talent, but he didn't have much experience, and we had no idea whether or not he was reliable.
We were leaning heavily towards candidate A. He interviewed brilliantly and seemed like a good fit. Then I asked him to reverse a linked list, and he responded, "Do you have a copy of K&R? I don't remember what kind of braces C uses for functions." After about 30 minutes, he was still trying and failing to find a solution.
When I asked the same question to candidate B, he shrugged, and wrote out a correct solution without stopping to think. So we hired candidate B, and he did excellent work for us for years.
And this is not a one-time incident. It's amazing how many people can bluff their way through an interview without knowing how to sum the numbers in an array. Résumés are full of lies, phone screens are hard to do well, and references are hand-picked by the candidate. So I'm a big believer in coding questions.