I was originally contacted about the position by a recruiter, who scheduled a 45 minute phone interview consisting of some general questions about my experiences in the industry as a developer, focused on my resume.
Had a second interview with the same person at TripAdvisor that focused more on technical questions around JavaScript and some technical CSS questions.
From there we scheduled an on-site interview. The on-site consisted of a series of 1-on-1 interviews with 4 members of the team I'd be working on. The questions were generally about solving examples of HTML, CSS and JavaScript problems, solved on a whiteboard, or a simple development environment on computer. Each interviewer focused on a specific skill such as HTML, the other on JavaScript, one on CSS and finally one on some general computer-science theory. Finally I met with the original phone interviewer, and a HR person that asked more personality and collaborative problem-solving problems in a work-type setting.
I came out of the interview satisfied with how I was able to solve their technical problems, and I felt that I communicated well with the different interviewers and had good rapport with them.
A few days later the recruiter informed me that TripAdvisor was going to decline because I wasn't "up to par on my Java and algorithm skills" - none of which were covered during the interview process. I asked for more details and clarification, and learned that the position was filled the day before my interview.
I was left feeling that my time had been wasted needlessly.