I interviewed with the hiring engineering manager through a local recruiter. The engineering manager told me about the company's products, code-base, and team. He answered all my questions and asked me about my background and prior work experience. He was a very cool and friendly gentleman and it was a very laid back, non-technical interview. The company seemed like a cool place to work and there seemed to be good momentum. There also seemed to be some good opportunities for diverse types of coding responsibilities, which appealed to me. Short interview. 20 minutes.
I was sent a coding challenge to work on in my own time, which I liked. I feel that's definitely more valuable than giving an abstract algorithm while 5 people watch you code it real-time. (NO SPOILERS) The challenge was a real-world scenario that made use of programming skills, problem solving skills, and research skills. It wasn't overly complex, but had a good deal of puzzles to solve. I had fun with it over a coffee-fueled Sunday morning and thought I did a good job, but was notified through the recruiter that I'd failed it :(.
Apparently the output is graded for correct results using a series of tests first...then if it passes that, someone will look at the code. That said, just like with real world situations, it probably would have been best to ask questions before making any assumptions on details not explicitly specified and worth the time to check all of the edge cases. I'm guessing that's where I went wrong...but...I'll never know :(.
All and all, a positive experience. Would have been nice to know what failed with my program since I did put a fair amount of thought into it, but I understand why they wouldn't want to share that information, to preserve the integrity of future interviews.
Good luck!!