The riddle-like questions are trash, I agree. Any question that requires you to already know a slightly more arcane data structure or algorithm, or involves just regurgitating some algorithmic trick, or similar, really just gives you signal of "did this person already know the question beforehand?", and nothing else.
Not asking those types of questions, and instead asking a more straightforward programming question with relatively simple data structures, and some tradeoffs to be made, plus maybe some follow up optimization questions (but like in general systems terms, not code), tend to work better. But it's still whiteboard coding for the most part.
While I do detest leetcode interviews, I've yet to see another interview system that works for extremely large companies, that covers all the bases:
* won't result in you hiring someone who can't write a for-loop in their language of choice (I know fizz-buzz is a meme at this point, but I have interviewed people who failed a question easier than fizz-buzz before - not even on a whiteboard. People who genuinely cannot program at all will apply for programming jobs, and some of them will get past the recruiters.)
* is reasonably based on skills
* is not hyper selecting for "people extremely similar to people who already work here" (not "what school did you go to?" or "who do you know who already works here?" type stuff)
* can be made mostly uniform across the company (though, even leetcode-like interviews are hard to make uniform, it's easier than a lot of other methods)
* isn't trivially cheated (100% remote tests, where someone else just does it for you)
* won't be outright rejected by people who already have jobs (internships, though this does work well for new grads)
* won't be outright rejected by people who have less free time outside of the job (e.g. people with families, small kids won't go for "work for a week" type take-home assignments which say "couple hours" but you're competing against people who will dump 40+ hours into it in a single week)
A lot of other systems work really well if you're willing to slash your candidate pool to a smaller percentage, but break down once you start trying to fairly get at more candidates. Something that works well for a 1000 person company won't work if you have >50,000 developers. Something that works well for a company explicitly willing to exclude parents won't work well for a super large company.
Also, a lot of companies do change up the application process for people who are just out of school, in that they allow internships/etc, with a different route through than just interviews. (Though you usually have to go through an interview to get the internship, they tend to be way easier - having sat on such an intern hiring committee before, you get very few interviewers asking riddle/trick questions)
Time-wise, I can generally coach someone to pass a big tech interview loop in 1-3 months, not a year.