I've been running more than a few job interviews. We've been rejecting many applicants, and the reason is simple, they're applying for senior positions and when facing senior-level technical questions they plainly fail.
Cannot blame them as I think they can be capable professionals, but not for a senior position.
Another reason is the lack of proper foundations. Not saying online courses are bad, but they usually skip explaining the why, and most self-taught programmers end up learning recipes instead of problem solving, or thinking outside the box.
Finally lack of mentorship; a long time lone-programmer will probably show in their code some serious flaws in methodology, code organization and design pattern use (I've seen this in technical challenges).
I have also interviewed surprisingly good programmers, but they are clear exceptions.
My advice, don't lie on your resume, it's no sin applying to jobs that adjust your expertise and experience, it's no sin to admit you don't know something (instead of drowning yourself in explanations even you don't understand).