I had one initial screening-type interview, and then a full day in Cupertino, where I met with 8 members of the team 1-on-1, including a lunch interview.
A few of the interviews were very difficult, including a few riddles/brain teasers that I took a veeerrrry long time solving and needed a couple hints. I was asked a lot of CS and EE technical questions, as well as a ton of fit questions. One interview was quite intimidating. It was very rapid-fire, to test adaptability and response to interruptions. I kept positive the whole time and enjoyed the challenge! The interviews covered a broad range of topics and skill areas with all different types of interviewers. Overall I enjoyed them, and I came knowing that the interviews would be tough. They didn't disappoint!
My advice to future applicants would be to relax as much as possible and try to have fun with the challenges. Know that the way you react to a difficult situation can be just as important as your actual answers (if not more important). Keep smiling, stay positive and just think, I'm doing my best!