In my career, I've had a lot of interviews. There were times when I wanted to change positions, and I'd interview with many companies. I thought interviews were good practice for finding jobs, so I would schedule some even if I wasn't that interested in the job. It gave me practice answering questions, and a few times I was even surprised and became interested in the position.
These days there are a lot of people looking for jobs. Many tech companies laid off a lot of staff in 2023 and are still letting some go in 2024. There are also plenty of non-tech companies who have downsized their staffs, for a variety of reasons. As you search for a job, you might find yourself challenged in new ways during an interview. I ran across a story recently on some of the nightmare processes companies are putting candidates through. I think this is mostly high-tech companies, but a lot of interview silliness filters down to many other companies over time.
I've had interviews where I was challenged by a group to answer questions. I've had day-long interviews with a variety of tech and business people. I've taken tests before a conversation with others, and I've even been asked to whiteboard my way through a problem presented to me. In all those sessions, I've enjoyed the challenge and found it a good way to learn about how the team thinks and how I would interact with them. I can often ask questions to help me learn about the company, position, and staff.
I haven't been asked to spend days building something, nor had assignments to take home or have double-digit numbers of interviews. I get that there are a lot of people that embellish their resumes, and probably a lot of candidates that may not have contributed a lot to their former team, but asking someone to invest hours and hours on creating something just for a chance at a job seems like overkill.
There isn't a good way to evaluate someone in a short time spent with them. I think interviews give you an idea of base knowledge, but not how someone might work in a team, how they collaborate, or even how they might respond under pressure. While an interview creates pressure, working under a deadline is a different type of pressure. I wish a coding test existed to evaluate someone's skills, but academic quiz questions are different than working with a specification from a client.
I think some of the ways people interview others aren't well thought through and don't help us hire better. Recommendations from people you know are the best way to find candidates, but you might not have those when you have an opening. I do think that presenting some real situations from your job, and having people collaborate with you to solve problems is the best way to go about things. Even better if you can actually work with them on an instance or in an IDE, but that is hard to set up.
I don't know how I'd feel about a job that gave me 10 or more hours of homework just to get to the interview. I hope I never find out.