A questão é menos sobre conhecimento e mais sobre experiência. Muitas vezes você pode até ter o conhecimento científico, mas a falta de vivência da prática profissional vai te levar a cometer erros, é normal.
A maioria dos problemas técnicos encontradas no dia a dia dependem muito do ambiente do projeto. Saber programar todo mundo sabe, a questão é saber a melhor solução para determinado problema.
Não importa se você tem todo conhecimento teórico do mundo, se já fez dez mil projetos pessoais, se você não tem experiência profissional (quanto maior a empresa, maiores os problemas, maior a experiência) nunca será contratado como sênior.
O tempo de experiência varia, tem lugares que consideram 4 anos em uma tecnologia específica como o suficiente para senioridade.
Alguém com 10 anos de experiência profissional, pode até não dominar todas as novas linguagens e tecnologias, mas as chances são da pessoa já ter vivenciado inúmeros problemas, e resolvido a maioria deles, o fato de você saber de cabo a rabo toda a documentação e especificidades do React por exemplo, não faz de você melhor que ele.
Se você nunca trabalhou profissionalmente, considere um estágio na área. Continue buscando oportunidades para iniciantes. Recomendo também, por experiência própria, procurar ser humilde em entrevistas, não é porque você estuda programação 16 horas por dia que você é o melhor programador do mundo, mesmo que você seja. Não que você não seja, mas é preciso primeiro mostrar serviço e ter como provar que de fato você é bom, e paciência, isso é só com experiência mesmo.