First started by receiving a questionnaire by email. This involved many random questions, some which test your creativity. Then I was asked to do a programming assignment. After submitting that, I was contacted by a recruiter. There were situation type questions and behavioral questions. After that I was informed that I would be participating in an onsite interview.
The onsite interview lasted 2 days. The first day, I had a refactoring of the code I previously submitted. This involved 2 developers guiding me through my code and making it better. Next was a tour of the office followed by a wonderlic test and a logic flowchart test.
The second day involved an agile exercise which involved some role playing. Then I had two more interviews. The first interview was to go over some answers in the questionnaire. The last interview was more technical. Knowledge based questions about OOP, Java vs Python, and other programming concepts were asked as well as questions about various technical experiences.
I was really impressed by the company and the people there. I was excited to hear that I received an offer. Overall it was a great interview experience. I would say it was the best one I've had to date.