Been my experience with multiple SV startups now. In some cases went through back-channels to find out what happened (In one case - whole team loved you, CTO had your offer, CEO overrode at least minute and wanted a non-US contractor to avoid benefits pay)
Utterly absurd amounts of time and you still can't be sure!
My proposals -
#1) Companies that want take-home work or multiple day interview processes after initial screening /pay/ for them. You are already paying for your engineers to be inteviewing/etc. Pay the applicants. Keeps incentives aligned (you only advance ppl you really want to see how they work, you don't expect 40 hours + of work from me because I should feel blessed to get the opportunity to work for you...)
#2) More conversation. You can get way more ideas about someone's technical acumen by asking them how they know when to refactor, what they think about tradeoffs around technical debt, how they would think about data modelling something, etc than writing code. A brand new programmer maybe do some pairing, a person that has been writing production code for 3,5,10 years? Ask them the interesting questions and just talk!
#3) Hire quicker/Fire quicker - I think Riot for example will pay you money if you decide it isn't a good fit and you leave. Everyone is already employed at-will. I'd rather have a 3 month probationary period than try to find time for 40 hours of interviews while working my day job.
This is a cancer because many hiring managers will assign out these homework assignments to all the applicants, before doing almost any due diligence or getting to know an applicant.
If you want someone to jump through 8 hours of interviews and calls, then 8 hours of coding, you should be paying them at least for the coding.