I applied online and a couple recruiters from Amazon (Seattle) e-mailed me within about 10 days, followed by a scheduled phone call. That person fielded general questions (whether I was open to relocate, etc.), then set up a phone interview. That interview was mostly technical, with the interviewer and I sharing a text editor. There were a couple Amazon culture questions, but mostly we covered a reasonably-sized technical problem. The technical part of the interview went well, but the interviewer warned me that I might want to bone up on the Amazon Leadership Principles.
HR followed up and asked for my availability for an interview. I told her I was available any Monday or Friday, which may have been a mistake - I should have allowed myself more time to prepare for the leadership principles questions. They flew me in for an interview the following week, and were accommodating as far as flight times.
The interview was a sequence of around five 1-hour interviews, with a 1 hour lunch in the middle. Some interviewers toggled back and forth between cultural questions (look up ALP, or "Amazon Leadership Principles") and technical questions. The technical questions were mostly straight FPGA/Verilog questions, though there was one about designing a system for H.264 decoding that I hadn't really prepared for. There was also a C coding question that I flubbed, since I hadn't coded in C for a while and hadn't prepared for that adequately. C is listed as a skill on my resume, so the question was fair game.
I think the best strategy for this interview would be to review all the technical aspects as much as possible, and then write out answers to ALP questions a couple days before the interview. I tried to cram in all the knowledge in a week - using F1 instances, H.264 encoding and ALP questions, which didn't work well.