WD's recruiter contacted me and did the usual recruiter/HR level interview consisting of talking through my background, seeing if I was interested in the positions they were hiring for etc. He said everything sounded fine and would schedule the in person interview. About a week later, I got an email with the schedule.
The in person interview process was on the tougher side, with a total of 4 interviews over a 5 hour period. It started with a 30 minute skills assessment test mostly consisting small snippets of C or C++ code with various types of questions (Is there anything wrong with this code? Write a recursive function. Write the same function in an imperative fashion.) I hadn't coded in either C or C++ for some time and was in fact interviewing for a C# position, so the details of the languages escaped me a bit, but I had the gist of things.
Then I spoke with the recruiter for about 15 minutes about the positions, the company, their bonus program and so on, basically getting his sales pitch for the company and position.
Next came one of the team leads who gave a behavioral/personality type interview. Nothing too tough, I thought it went well and we seemed to get along well. He asked what I liked to do outside of work and programming/technology, what kind of stuff I liked working on and questions in that vein.
Then came the technical interviewer. He seemed to be a very bright, very focused guy and was definitely the most challenging aspect of the interview, very similar to the stories we've all read of Microsoft and Google interviews. He went over my test, pointed out some mistakes, talked over them and asked additional questions like "How would you count the number of bits that are set to 1 in an int?" along with some more open ended, no right answer type questions. He also asked what I preferred working on, which type of WD software (firmware, drivers, applications) I was most interested in.
The third (not counting the recruiter) interview was with two young guys who looked like they were both right out of college. I am guessing this interview was with people I would be working with and mentoring. I like the fact that WD did this, it shows that the company cares what the junior employees think too. They were pretty clearly new at interviewing (or played the part well) and didn't have much to ask, so I just started asking them about working at WD, how long they had been there, what school they graduated from (UCI both), talking about favorite courses and lecturers there etc.
The final interview was with the hiring manager. This was the second toughest portion of the day. He asked more probing, deeper questions about my previous projects. I had a hard time recalling some finer details of some of the stuff I had worked on two years prior, but did my best. Mostly this interview was digging into the guts of past and current projects, the environment at my current employer etc.