I was approached by someone from their internal HR. Send CV, get response in 2 days, telephone interview in another 2. Nice, quick, friendly and responsive!
Telephone Interview: This was my first REAL technical interview (like first ever). As a self-taught developer, my main concern is following SOLID principles, commenting my code and getting the task done. Might have oversimplified it a little, but you get it, I don't need to think about the 1s and 0s underneath. I found the questions to be related to parts of development you do not normally need to interact with (I mean you'll know what ARC is when you first create a Retain Cycle and need to solve it, but unless you went through a 3 year course at uni, most of the logic behind the questions will be foreign (and hope you didn't party at uni cause you might have missed some as well). As you can probably guess, it went very wrong and couldn't wait to move on with my life. However I was given the chance to do a technical challenge and that got my mood up as I'm good at making apps and I'll shine now.
Coding challenge: Loved it, got the details, started working on it with a glass of whisky at 9pm, after wife and kid went to sleep. Could not leave the laptop down until 2 am when I could not keep my eyes open, that's how excited I was to ace this part. Next day in the morning, take kid to nursery, get back quickly to finish the task (requirements were done but kept feeling an urge to add small UI effects and make it all shine on the outside as well; also triple check that I commented everything and code looks pretty). Submitted it, then sit back and return to the boring tasks of personal development.
Few days later, I get told I have failed. Fair enough, first part didn't go well, I expected not to go through, but next comes the frustrating part. They did not clone the repository of my challenge. No feedback was given, but I like to know how I can get better, so I go back and ask (biggest mistake). I get 2 versions, one phrased in a manner that made me feel like I should not develop apps under any circumstances (or maybe only if I can go to uni and sleep for the next 3 years) and a more feelings friendly response pointing at my disastrous telephone interview and minor differences of opinion on code pattern choices. I can adjust to a company standard if needed but lacking guidance I chose to use approaches I felt were more appropriate for the program in hand and I felt comfortable with.
So I was left quite frustrated as I would've happily done without the coding challenge since they knew I failed from the telephone interview. I mean they did not even bother cloning my project and the coding feedback was very simplistic, in contrast with their focus on theoretical knowledge. When I applied I thought it was a mobile shop application (complex one nevertheless),but woke up with an interview I'd expect at Google or some company looking to build an OS inside iOS and a wasted few hours working on a project that was never run on the other end.
If you really like the company, go and learn some theory to prepare!