I also implore people to work against a repo and submit it with all their commits and not just the final one and see how they think and where they got stuck.
If an interview requires me to actually have more than one or two commits, the test is too long imho.
Amazon's test was by far the longest I did, and the entire process just turned me off from finishing it.
Company I am currently at was 3 hours (you could do more or less, I ended up 4 hours), but first had a culture / role interview, where it's made clear what I was going to be working on, what day to day looks like, benefits, etc., then you get sent the tech interview.
Second interview is just going through the test, explain thinking, and then if you have questions and stuff, and right after was offer (which already before the first interview bracket was given, and already said in second interview that top of bracket, etc., so negotiation is a quick process).
South African interviews often tend to follow the American style too much, going FAANG style with hackerrank/trick question coding stuff, a vast majority of businesses don't need people like that, and it's more important to check the entire process of how they think and fit in the company, rather than get them to memorize those questions/answers.
My impression in Europe is that it's a lot more just a discussion in what you've worked on, challenges, and just talk your way through it, company fit is paramount and way of thinking, second interview is near always company showcasing/selling themselves, but my experience is a bit biased as only did senior Europe side.