This was an interview experience I had back in 2005. 1 phone screen with VMWare's HR recruiter, followed by 1 phone technical interview with a senior engineer, what I am working on now, why I want to leave my current company, etc. Then got down to business, Java questions: Memory Model, volatile, synchronized semantics.
Invited back to half-day onsite interview the following week. Tough 4.5 hours: each round was with a very senior member of the engineering team each with their own areas of expertise. C++ deep dive: struct vs class, virtual destructors, multiple inheritance, polymorphism, detecting memory leaks, he gave me some code and asked me if there's a bug in there. Algorithms deep dive: reverse a linked-list, find largest sub-sequence of an array and comment on Big-O of my implementation. XML deep dive: write XSLT code to do some XML parsing, XML Schema questions.
Invited back again the following week for onsite with engineering manager and director.