That's just unfair, inconsiderate and unsustainable, and is also a red flag (ie: I would not go to that company).
Giving up a week of your life for an interview ?
and for free ?
And most importantly - what if ALL companies did this ? you would have to spend months working from home, for free, just to get to the next level of the hiring process .
I don't know what the solution IS, but I know for sure that it IS NOT a 1-week work-from-home-for-free task .
(edit:formatting and some grammar)
Edit2: people will actually pay good money for a yelp (or craigslist/etc/etc) clone on places like upwork. And they asked you to do it for free .
it is probably something like : 1. go to upwork
2. find a 2-3 hours task (eg: scrape entire site [sitename].com, design a logo etc. etc.
3. give the same task to 5 different candidates
4. choose the best one
5. make profit and gain upwork cred
6. send a "thanks but we chose a different candidate" email to all the candidates
7. repeat
(edit:formatting)
edit2: you can even let candidate X make a code review on candidate Y.
step 8: automate the process and go public
Edit: It's ironic how the so called cutting-edge tech companies can't afford a keyboard, mouse, laptop and a projector which would make things way better. I even had a case where the interviewer changed the question with 5 min. to spare , I explained the solution he said it would work and then told me to write it. I was just erasing and pointing arrows because I did not have space etc. So easy to forget that while typing you just hit enter and get a new line. Draw on white board, write on computer; that's how it should be.
Edit: Why are people scared of whiteboards interviews so much? Don't you use them every day to map thoughts out, working with your colleagues etc etc? I'm not saying some questions are (used to be) absurd - the Google/MSFT manhole thing. But why is it so scary to talk about a linked list, a graph traversal algorithm etc? Most of this is stuff that's taught in basic CS classes.
Sorry to sound condescending but it almost feels like that as technology spreads and more and more people come into the field who haven't actually studied proper CS, they're blaming the system instead of trying to learn.