Many programmers make nowhere near $100k and so many programmers do a ton of extra unpaid work; and week-long interview preparations are just one of them. Just last night, a fellow programmer I know is being forced into "mandatory unpaid overtime" for the purposes of learning new things for his company. He has to learn more crap, together with coworkers, in his own 'freetime', regularly, unpaid. And I can tell you he makes nowhere near 100k living near a large city. That may be his problem for, but if the popularity of companies having "mandatory unpaid work" AKA slavery increases we will all feel these things even more so.
That being said, I can't think of anything more viable than actually testing the programmer in question with code. I would personally give them a computer and have them do it right there on the spot in the interview but that is just me.