Geek interviews are pretty standard. They're generally all-day affairs, where you will be interviewed by several different members of the team. Some positions will have you do a presentation or group interview to start off the day, and then you go into one-on-one (or, occasionally, two-on-one) interviews for the rest of the day. Each of the interviews will go through a different aspect of what is important in that position. Expect at least one person to do a deep dive into the relevant technical skills. Each interviewer will give you some time to ask questions of them. A couple of interviewers will buy lunch for you, so be ready to do more talking than eating over lunch.
So how to prepare? Sleep well (as well as you can!) the night before. Have breakfast before the day begins, even if it is just a banana because of the butterflies in your stomach. Turn off your cell phone. Remember that an interview is just as much about you deciding whether you want that particular job as it is about the employer deciding whether you're a good fit for that position, so be prepared with some questions that you'd like to ask of your interviewers (what keeps you working here? what does career growth look like? what kinds of challenges do you face?). Read over the job description again, and come up with some answers to how you meet the requirements in that description. Ask your recruiter if s/he can give you any pointers as to skills that the team is particularly interested in, and tailor your answers to highlight those things.
Disclaimer: I'm not an Apple employee. I am a software engineer for another large software company (I'll leave it to you to click through to my profile to see which one), and I live in Silicon Valley so have several Apple friends. The basic outline of the geek interview is the same, but the specifics are more about the position itself and not the company.