I applied online and was contacted by a recruiter ten hours later. We set up a call for later that day and had a quick chat about the position and my background for about 30 minutes. The recruiter then sent me over a programming challenge to complete.
The programming challenge required that I use either BackboneJS or React, and I've never used either of these frameworks before. It was a very in depth app that they wanted me to build too (or at least in depth for an interview problem), having to deal with a 3rd party poorly documented API with data that was returned in a very specific and strange format.
I completed the challenge by the date the recruiter asked for me to send it to him (a few days later) and he sent it back to me asking me to add some stuff that I didn't get to in the first version. We ultimately ended up extending the deadline for it twice, and I put a ton more time into it. Finally, the recruiter contacted me after all that and told me I wouldn't be moving on.
I felt that the issue was that they were looking for production quality code (stated in the challenge) and I was unable to do that for a framework that was completely new to me in the span of a weekend. I did manage to create an app that included all of the functionality they requested and more, but I guess they were looking for someone who was more familiar with one of those frameworks. I just wish they had told me that before wasting days of my time.
I think that this interview process was extremely poorly designed and didn't allow me to portray my skills as a software engineer.