Every single take home test I have ever taken. It took multiple days to finish. And even after finishing it, you still don't get the job.
In one place I not only finished the test. Their onsite interview was made up of four more rounds. The first two were about implementing two features on the spot where two of their engineers watched as I wrote the code. And then in the third round they review your code. All onsite. I not only finished the original assignment, added the two features requested and substantiated every single query on code they had in the code review round.
Yet in the last round, they rejected me because I didn't read their employee's favorite paper. And therefore must be a bad programmer. And this is the one of the most famous company in Bangalore which routinely brags about hiring programmers only on the basis of take home tests.
The whole take home test thing is a giant fraud. Don't fall for it. They are not serious about hiring you. Serious people know whom to hire after an hour or two of discussions.
Also contrary to whatever people think about the archetype inefficient programmer who fails at fizzbuzz, most people can actually code. This whole take home test thing is a marketing campaign and generally a way for in house programmers to make themselves feel superior by routinely asking candidates to finish projects in impossible timelines and yet reject them like they are gods.