Recruiter, screen call with hiring manager, take-home 10 hours. Hiring manager I talked to was nice.
Similar experience to other candidate here. Tried to limit my time to half the requested time, given the assignment's lack of complexity and specificity. Also, the phone call emphasized not spending too long on it nor that they write production level code. The prompt also emphasized not implementing an optimal solution, but just something that works.
The prompt was interesting enough (but unclear in parts; e.g. they have a vector inequalities with a weight for each dimension but then multiple uncombined constant values with no explanation). It took longer to understand the prompt than to solve it. I considered three solutions and ultimately built the quickest solution that generated correct responses, no errors, and ran fast on my laptop with all the given test datasets (and some boundary cases I created).
Who ever is reviewing take-home submissions struck me as having too much time on their hands, too little time working on projects or working on big datasets. Based on the feedback, it seemed to be most of their experience has been reading StackOverflow comments and reading Medium articles. Feedback was 5 paragraphs written like they were doing a literary analysis -- mostly nitpicking arbitrary decisions and actually using the word 'pythonic.' No actual engineering parameters or failure mode descriptions.
Feedback was all over the place -- some of my code was criticized for being too explicit and unnecessary (maybe 4 lines of code?) checking for system requirements and errors. Anyone who's submitted take-homes (or has deployed anything) finds it advantageous to check for and output explicit errors so you can quickly trouble-shoot if it happens to not run on someone else's machine.
Other code was criticized for being too compact and explicit enough (which it was compact and written for computational efficiency -- one could call it 'pythonic' even) despite having submitted documentation and comments in the code.
Criticized for taking an extra step of producing optional graphical views for the algorithm's optimization goal over iterations/training time (a standard view for many machine learning tools: for example, tensorflow's loss curves). Criticized for the extra step of using minimal libraries (even though they recognized that my written function worked). Minimal libraries is just a common take-home ask to make sure you understand the fundamentals at work, who you can build specialized functions, and avoid library imports (particularly on small cheap instances). Plus, the computational complexity of the cases were so low, it was hard to figure out how to spend more time on it.
I was genuinely grateful that they sent me the feedback; gave me a sense of the working environment. They offered me a redo (could I spend another 10 hours doing what I just did all over again?) without (1) any additional parameters to the problem or test cases, (2) desired additional features, or (3) specificity to any preferred approach/method. I declined.
If that's an environment you avoid being frustrated in, go for it and good luck.
By comparison, most SE/MLE take-homes I've done are usually just run though test cases and you just fail or pass. If they're nice, they send you the output if it fails to run on their system.
If you are going for it, my best recommendation/guess is not sticking out by building any extra features. My best guess for you (again, I can only guess because despite the prompt description, the phone call, and the paragraphs of written feedback, I still don't know) is to just import a Gibbs sampler (which I avoided because probabilistic sampling has inherent failure modes, and sub-optimal for the parameters of the problem and the simplicity of the test cases).