Sounds like they will spend a lot of time, and that's not good if you are looking for a job. In the past, I hired developers and I just make an interview to know what are their skills, how they like to work and what are their expectations about the job, then I give them 15 minutes to solve a riddle to test if they have problem solving skills. If they convince me, I send them a test, otherwise later by a phone call I let them know that unfortunately they are not what I'm looking for.
In the test I prepare a repo with the setup of a project so they don't need to worry about that and give them a list of three simple things I want them to solve plus 5 extra things of more complexity as a challenge
To pass the test they need to do only the first 3 simple things but if they want to earn extra points they can solve the other 5 things. I give them 2 days to complete the test, the test is not so complicated, the average can complete it (the extra points included) in 2 hours or less.
Then I select the best solutions, again the candidates that didn't fulfill my expectations are disqualified. For the ones I selected, I schedule a code review via Skype, Hangouts or whatever they prefer, I ask questions about why they chose that solution and how it works, this is the last step, with the answers they give me I choose who to hire.
We’re a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.