Doesn't seem very scalable if you have a lot of applicants (unless you let them do the test at home?).
I think asking for code samples up front is the best way to weed out those who aren't good candidates -- you can tell a lot about someone through their work.