I made sure to do the challenge too both to have a reference and to validate it.
Not sure I agree about free work. There are things you can't possibly evaluate in an interview. For a senior role, I'd expect good documentation skills and the ability to present tradeoffs of their designs, which is the purpose of these technical steps.
1. Make a VERY lucrative well paid dev job posting (completely fake) 2. Make them do home assignment that is actual work that needs to be done. Make sure the candidate understand how important this assignment is for their chance to get hired. 3. Tell the candidate you are not moving forward with further interviews since their work was shite 4. Profit!!!
That being said, they’re a bit challenging to manage on the employer side for the same reason as hacker rank - maintaining a pool of high quality questions that haven’t leaked is hard.
As a proxy I usually instead give design questions about relevant difficult problems I’ve seen and solved at work. Even if I blog about it I’ll either be able to tell if the person is parroting the solution back to me or legitimately solving it on the spot and it’s something I know inside and out well enough that I can give answers to hypotheticals they ask me.
Still, figuring out who’s going to be a good hire is a challenge whatever tools you try to apply so I haven’t gotten so invested on any one technique. Bad review processes are much worse and orgs are stuffed with them despite best efforts (lots of subtle social pressure mechanisms with people oblivious to what’s going on or not caring).