Just to be clear, this wasn't my advice, it was written into the task description -
This project tests your ability not only to code, but to deal with ambiguity and open-endedness
I'm not sure how I feel about that to be honest. On one hand I get what they're shooting for in general by saying that. On the other, they're going to have some preconceived notion of what they want, and it's a bit of luck if you come close to that.
> And don't hesitate to tell us if you have any questions!
I personally have no problem dealing with "ambiguity and open-endedness" (and, in fact, enjoy it!), but my solution to this problem at every job that has had this issue is: talk to people and understand the problem.
Attempting to "mind-read" is the worst solution to ambiguity, and, in practice, nearly always leads to disaster.
The best developers I've worked with have an uncanny knack for reading people's minds. (Of course, they are actually just really good at communicating and predicting what people want. But if you do it well enough it sure seems like mind reading.)
It's not really culture fit. I've used the open ended test before and it was a good filter for "can they walk the walk". Just some basic text processing, but only few people cared to mention error checking, tested Unicode behaviour, included any documentation, etc. It's "will you do the usual things without explicit prompting". (The assignment explicitly said you can call them out as something to do without fully implementing to save time)
I love that the industry has become so poor at gathering requirements that devs are now effectively filtered for their ability to mind read.