> When I'm hiring I usually set challenges of about 40 minutes, an hour and a half max.
No. Forty minutes is far too little time. Many people take 10-15 minutes to even get settled into coding. I can't imagine a meaningful, applied, realistic exercise that would take 40 minutes, unless you're wanting basic data structures like a linked list, or a basic sorting algorithm, or something.
You're missing a lot of good people that way, but I guess that's just collateral damage in the quest for the perfect hire, right?