It went for almost a month.
first 3 telephonic interviews happened after that on-site (in Bangalore India office) interview happened.
After 3 days of on-site interview I got the offer
Interview questions [1]
Question 1
Questions were fairly easy.
Graphs, trees concepts were the focus
I applied online. The process took 4 weeks. I interviewed at VMware (Burlington, MA) in Nov 2013
Interview
I applied through the VMWare website. I heard back from a recruiter within 2 weeks of applying.
Step 1>There was a high level non technical conversation with the recruiter. Stuff like whats your background, what are you looking for and so on.
A few days later the recruiter called back to schedule a phone screen.
Step 2> The phone screen was 15 minutes long. They asked me some questions on C#, SQL, asp.net mvc and other stuff that was there on my resume. Nothing too hard.
Few days later the recruiter called back to schedule an in person interview. I asked for a date 1 week later and they were okay with it.
Step 3>The in person interview was about 5-6 hours of back to back interviews. All the interviewers were extremely polite. They made me very comfortable. During the interview they even helped me a few times when I got stuck. However I must say that this was the toughest interview I ever attended. The interview involves a lot of white board coding. There were obviously many questions based on what was there in my resume, besides that these are the general areas that they targeted
Questions on my master's thesis ( which I submitted 7 years ago!)
Many algorithm based questions (code in your language of choice).
Low level questions on memory management.
Design/Architecture based questions.
There was a question where they asked me to pick flaws in the architecture of a certain system.
At the end of the interview I was about 70% confident that I would get an offer. (The 30% doubt was there because they had to help me a few times along the way)
Step 4> About 2 days later I got a call from the recruiter with an offer.
Interview questions [1]
Question 1
Using minimum memory, write a program that can fit a dictionary inside the smallest possible crossword (words have to make sense horizontally as well as vertically).