Set up interview through employee referral. Phone interview was a 30-minute general interview: What kind of job do you find interesting, past projects and experiences, etc.
Onsite interview was 4 hours long. Started with a written exam, that had questions on Java, Math puzzles and SQL. Lasted an hour. The rest of the time was spent by 2 different interviewers going over questions from the exam in more detail.