| Would you be able to give an example of how limited in scope you're talking about? Is it just a single "write a method that does this" type problem? I ask because I did a take home very recently which I know I could knock out quickly, but it took much long because everything you listed ballooned the amount of time it took me to complete it. Specifically: - Has the engineer followed a language standard (PEP/PSR)?
For JavaScript, it takes some time to setup a new project from scratch with linting and formatting configurations. Then documenting it in your README. - Were unit tests provided?
- Were sample cases the engineer ran manually provided?
Once you go beyond a few "features" to write, this balloons in time due to both writing it with good descriptions and documenting it for the reviewer. - Was the code "elegant"? Could another engineer at the company look at the code and maintain it in a year.
If what you ask is of sufficient complexity, it would just be normal to take time to think about what the interviewer is expecting here. Like what future features could there be? How might this be used in a larger codebase? etc. Then once you've decided on this, you'll want to spend time commenting and/or writing up an explanation in your README about your design choices.Lastly, this isn't mentioned but I did this on the take home I recently completed - using version control and properly branching & merging on each deliverable. Doesn't take time, but if you are making atomic commits with good comments, that's just another way for you to lose time. Of course, I don't think the fact that I did this is going to be noticed as it wasn't written out as a requirement. If you notice what I'm nitpicking, it's all the setup and writing that becomes a time sink for most. In isolation, it wouldn't break the bank, but with all those requirements combined, you've lost much more than 3 hrs. When I'm given take homes for interviews, this is where I've burnt the most time - taking the time to document well. |
You could check if she would think of the required parts. For instance, would she think of unit tests? If she wouldn’t mention tests, you could ask „How would you ensure that your program works as expected?“
Thus, solving the take home theoretically.