Started with a call after I had submitted my resume on their website. Due to the nature of the position (late posting and they need someone soon), I went directly to an onsite interview.
I was interviewed by seven people: your HR, five firmware engineers, and an engineer manager. The interview was conducted with one person at a time in a room. One of the engineers asked for a simple C++ pointer demonstration to show I understood how they worked while another, younger, engineer asked a simple brain teaser. I was also asked one of those "what would you do in this case" scenarios involving conflicts with your boss/colleague.
Other than that, most of the questions were about my projects, prior experience, and knowledge/desire to work at the company The entire onsite process took about 5 hours I believe.
Also, it helps to know what a hard drive is. Having built my own computers and owning several WD products set them at ease since they've had interviewees who hadn't handled computer hardware at all. They also asked if I knew what embedded systems were and if I had any experience with them since they're constantly working with them.
The engineers didn't seem as enthusiastic about the workplace as other, more laid back workplaces. Maybe it wasn't them but just the way the environment felt; it's the typical office space with a sea of cubicles, white walls, and grey carpet.