Unless you're an awesome company, with really cool projects and offering me a jaw dropping salary and benefits, then no, I'm not going to do free work for you. Even if you are an awesome company, people probably have to actually work for you to see that, so no, I'm not going to do free work for you.
I'd rather spend those hours doing work that I expose on GitHub.
> in-person assignment where they have several hours to complete a smallish design-and-build task
That's another proxy that's as useful (or as useless) as a coding exercise.