I applied online for a Senior Java Engineer position. I received a follow up email asking why I am looking to leave my company and salary expectations. One month later I got an email with a take home assignment. I was not in a rush to find a job, so I didn't mind the time it took to move to the next step. I had three hours to complete the assignment and turned it back in. A few days later I scheduled a call with one of the managers. He asked a few questions about my experience and what I am looking for, then a few Java specific technical questions. A few days later I got an email requesting an in person interview. The interview was scheduled for two weeks in the future. I met with five different people over the course of about three hours. Lunch was provided which was very nice. Later that day I received an email asking for personal references. My references were able to reach back to the recruiter within the same day. I then received an offer a few days later.