This was perhaps the most burdensome, most inefficient interview I have ever experienced. First, I had to do a coding assignment that took a number of hours. Second, then I had a phone interview where there was discussion of my technical experience and a review of my coding assignment. Third, I was given yet another coding assignment that was much larger, on the order of 10-12 hours, doing a task seemed to very closely mirror actual work common to the trading industry. I was told to "have fun" with it, an ominous instruction conveying that this was potentially going to be a large time sync. After submitting it, I was informed that the team didn't like my design.
What's wrong with this process? First, for the love of man, two coding assignments should never ever be allowed. If you can't assess what you need in one assignment then your assignments need work. Second, coding assignments should never be large enough to encompass 8-12 hours of work. If you want to get a baseline of understanding, you don't need a lot of busywork to do it. Third, coding assignments shouldn't closely mirror actual works. Are you testing the proficiency of the candidates coding ability or fishing for the stock tricks known by people in the industry? The former is good, the latter questionable.
If the tech-giants Google, Facebook, Amazon, and Microsoft can assess technical talent without two time-waster projects, then why can't Quantlab?