1. Phone interview w/ the hiring manager. Some basic technical questions. On the next day I was informed by the recruiter to have an on-site interview.
2. Onsite interviews. Met 4 or 5 developers one by one. With each of them I spent about 30min - 1 hour and overall it was about 4 hours long. All of them asked me pretty tough technical questions: OO design, CS questions, Javascript questions, AngularJS questions, Java questions, etc.
3. I followed up with the recruiter. 2 weeks passed and he still said, "We are still interviewing." I've never heard back since then and figured that was their way of saying "No."