Just to confirm, you meant just register -> store to database + forgot password and validation right? (Greater than 8 hour time commitment do sound about right, but I'm just curious to make sure I read it correctly).
The instructions did not give an upper bound in terms of functional requirements, though the lower bound of "realistic use" was given!
So yes, I would assume that includes things like full email validation round-trip too.
Even just slopping together an in-memory, no-email-sent deployed solution is at least 3 or 4 hours in my book, which seems way excessive for a pre-screening question!
And you had to do that from scratch? No libraries allowed? That does seem rough. With libraries allowed you could probably spin something up with rails + scaffolding + devise though.
maybe libraries are allowed, but I don't know any that can really turn this into a 30 minute project. And even researching libraries is hours of work :) If you have any suggestions for this on nodejs, I'll be happy to add it to my interviewing toolbelt :D
Sorry for the late reply, Just noticed your comment. I don't know a way to do it in node. If you have setup devise a few times recently you could possibly get it done with ROR + the devise gem + scaffolding. This is a pretty terrible interview question though, as testing if someone has practiced a canned solution ( which is really all you could do in that time) doesn't seem that great, and actually taking the time to make your own solution would take much longer and an 8 hour unpaid interview question also seems bad </rambling>.
Even if that were allowed as a solution, it is still a terrible prescreen interview task.
Depending upon whether or not you can use pre-existing frameworks/libraries they are either asking you to: 1) do something which takes so much work that it is completely unreasonable as a prescreen (which will filter out good programmers, who won't deal with that shit), or 2) they are asking you to basically edit some templates on top of some off-the-shelf solution (which will not filter out bad programmers).