No idea why you're downvoted - these points all make sense:
-I should speak to someone at the company before having to write code
-Interviews go both ways
-Coding problems should be appropriately sized, encapsulated, and reproducible
-Coding problems should not be real work