&gt; A) Make it simple. Have them write &quot;login&quot;. Don&#x27;t be specific, tell them the exercise meant to be vague.<p>Given a task without well-defined requirements would be a big red flag for me about the organizational structure of the company. I might even look for the door out of habit. I would definitely try to hammer out requirements verbally before writing any code and if there were resistance I would just thank you and leave. I&#x27;m interviewing you too, after all.<p>How you write &#x27;login&#x27; depends entirely upon the context of what for. There&#x27;s nothing &#x27;simple&#x27; about it. Maybe it&#x27;s an intranet site and you can authenticate via LDAP. Maybe you need to authenticate some legacy devices that only support specific character sets and field lengths. I guarantee that&#x27;s not the answer you&#x27;re expecting though. Your question doesn&#x27;t give as much credit to breadth of experience as much as it does to &quot;do you know how to roll your own secure auth?&quot;&#x2F;CRUD-fu. I&#x27;d rather hire somebody that knows (or thinks about) what pitfalls to look out for than how to implement something they can reference online.<p>That said, it&#x27;s pretty much par for what I&#x27;ve encountered so far in this industry, but I&#x27;m interviewing looking for something _better_ not the same.<p>&gt; Lastly: Talk to your HR department about terminating bad employees after 90 days.<p>Please don&#x27;t wait 90 days to fire me if I&#x27;m a bad employee. You&#x27;re basically guaranteeing that I don&#x27;t get to work at other places I was far along the interview&#x2F;offer process at when I was applying the last time. You&#x27;re guaranteeing that I start my application pipeline from scratch and at disadvantage. If you feel buyer&#x27;s remorse, make that decision immediately please. The best people always find a way to kick ass right away, even if it&#x27;s in training.