A sensible knowledge and performance evaluation would involve pair coding on limited scope, immediate, real problems, not BS trivia.
Interviewing is a two-way street.. the signals given-off in the interview process should be taken in as a totality by the interviewee as well. If they see bad signs, they should run in the opposite direction rather than get sucked into a bad environment.
Full disclosure; I have never done an interview like this, or tried to land a job at a major 'tech' company, though I do have a degree in engineering.
If I didn’t have any other option besides the standard r/cscareerquestions “Learn leetCode and work for a FAANG” , I would.
Are those interview processes really optimising for candidates who are willing and able to spend silly amounts of time creating an illusion of being super-keen?
Not even five years ago this style of interviewing was looked down upon by most.
If you really want the position, you will put a lot of effort into researching what the interview will entail.
If you're a hard worker, you will intensively study for the interview.
If you're smart, you'll be able to apply the material you studied to the problem, and you'll probably realize the game you're playing.
None of these things is about 'engineering skill', which is much more difficult to discover, and only really valuable if the person is a smart, hard worker, who sticks around.
*edit: I am not saying that I like this style of interview, and when I interview job candidates, I never engage in this type of 'test'