I applied online and received a call from HR about 2 weeks later. The usual behavioral and resume questions came up. Scheduled a technical phone interview which asked about the general Java/OO/Data Structures questions you can find anywhere. I was invited to an in-person interview in downtown Chicago. It consisted of a sit down with an engineer where he/she thoroughly questions your background and asked to demonstrate some pseudo SQL, coding, and GIT. Then another engineer sits down with you as you code up a more involved Java question. Then, lunch with developers to feel you out. Then, you meet up with the project manager to get to know you. Finally, one last meeting with a developer to ask some quick coding questions.
The bad part of the interviewing process was the waiting around for an answer and being constantly ignored by HR and the developers. The entire process of scheduling, etc. was relatively quick. The whole waiting for an answer portion took 2-3 months only to receive an auto-generated email stating I did not receive an offer. None of the individuals I reached out to ever responded. It was a complete letdown to such a positive experience.