I recently did an on-site engineering interview for Bitcasa, a smallish start-up whose schtick is an "infinite storage" cloud drive.
The way Bitcasa structured their interviews was an initial phone conversation with the on-site recruiter, then a phone conversation with one of the engineers. After that point they sent me a programming assignment, which turned out to be somewhat more complicated than what I would preferred for a job-interview programming test. Basically they were asking me to implement a photo display mobile app which also made use of a RSS feed parser (in other words -- wow, that's a lot of work to do for a programming test!). In total, it took me about 3 days of about 3-4 hours of coding at each sitting and I sent two or three steadily improving & optimized versions over to the recruiter for review. Even if one had done everything the programming assignment asked for in one sitting, it certainly would have taken even the most experienced guy pretty close to a full day to accomplish what the thing asked for.
After that point, I was invited in for an on-site interview. Bitcasa's office is located about two blocks away from the Mountain View Caltrain station (which is a "Baby Bullet" train stop, for those people who are coming from San Francisco or San Jose). When I interviewed there, there were about 25 people stuffed into their cramped office space. Since my interview, they've moved a block or so closer to the Caltrain station and into a supposedly larger space.
I met the two Apple focused guys who seemed very friendly and their questions (a couple of which I've copied here) weren't too intensely difficult. I also met the "technical lead" (who is also either the architect or the main back-end server guy), and he offered some good insights as to the direction of the company and how Bitcasa is trying to differentiate themselves from Box and DropBox.
In the end, I was turned down because they said I didn't have enough of a background in MacOS (which I felt was as lame and dismissive a reason as I've ever heard; they asked for my programming project to be done for iOS and my actual resume is loaded down with more than a decade of direct Apple experience).
It's a pity that I didn't pass the on-site interview, but hopefully my experience flunking it will help you to pass yours. If my interview notes helped you out, please let me know by voting "yes" on the "Helpful?" question below.