I've been a software engineer for 23+ years (professionally) and most of those years I was labeled as a Senior engineer. My niche is in corporate web development, so HTML/CSS/JavaScript/Angular are my bread and butter. I never went to college (my father died when I was 16 and it just never happened) so I am 100% self taught (I am 57, and I learned to program when I was 11 on a mainframe computer with only a printer, no screen). Anyway, my point is, I had enough skills to do the work, but no computer science classes, etc.
Here is what I can tell you. Every single interview in the past 23 years has been insanely difficult. I get asked about computer science topics, inheritance, scope, mathematical formulas, machine language, how to write a reverse binary sort routine in Greek while I'm blindfolded and my hands are tied behind my back... ok, I made that last one up, but it's not far from it.
And here's the thing, in my 23 very successful years as a succesful web developer, I've almost never had a reason to use any of that stuff.
I've never once had to use any math greater than basic arithmetic.
I've never once written a unit test, even when the employer told me that was a huge part of the job.
I've never used a micro-container or a micro-service or a micro-anything.
I use Angular, but I've looked at React and Vue and they are nothing alike, despite the idea that "if you know one, you know them all".
I've never once sat down and mapped out the architecture of a project I'm working on.
I could probably name only about 3-4 patterns I use, and most of them relate to callbacks and daily web programming.
Knowing why a manhole cover is round has never come up in Scrum.
I've never been asked to reverse engineer anything on a blackboard in 3 minutes or less.
I've never been unable to do my job due to a lack of memorizing the exact order of the parameters in an obscure function call.
Look, don't get me wrong. If I owned a corporation, I'd want the best of the best working for me as well, and so I hope they'd be knowlegeable and capable. My point is, I think a lot of places get so damned wrapped up in coming up difficult tasks and meaninless trivia that they forget to just ask if people know how to do the things they'll actually be doing. Why ask math questions when their main job is fix CSS issues? Why ask about unit testing if it's not being used? Why ask about patterns when you implement a framework anyway? For whatever reason, at some point, programmers become "L33T" snobs, and anyone who can't learn 10 computer languages overnight is labeled as dumb or a slacker.
And today, it makes even less sense. 20 years ago, you had to know the order of params because we didn't have smart IDE's that would show us the correct params. We had know programming patterns because we didn't have open-source frameworks built on those patterns. We didn't ask about manhole covers because we weren't self-absorbed jerks. And now, with AI built into the IDE, you barely even have to remember any basic formulae. Just type a comment and odds are CoPilot will fill out the rest for you. (Yes, you still need to know enough to tell if it's BS or not).
I dunno. I've had to interview a lot of people over the years. I ask them what they are good at, and what not. I ask them to tell me how THEY would approach a given problem, not how I hope they would. I give them a practice problem but let them take it home and work on it, same as they would if they worked for me. If I need a specific framework, I can always teach it to them. What I can't teach them is how to learn, how to work with others on a team, how to be proactive and learn, how to be reliable and professional, etc. I want people who will show up, do the work, be good employees and good people, and have a drive to do the best job they can. Give me that, and everything else is cake.
Just my two cents. I know others will think I'm an idiot. And that's okay. I can stay successfully employed for 23 years. Can you? If not, try seeing if coding FizzBuzz helps.