Boa noite Gustavo,
Pra mim programação é o resultado de estudo e prática. A área de programação demanda que estejamos sempre estudando, seja a base do nosso conhecimento ou coisas novas que aparecem constantemente. Na minha opinião desenvolvedores de nível sênior não decoram código, eles apenas tem muito mais horas de prática que os outros. então aquilo que repetimos constantemente vem naturalmente no dia a dia. Mas recursos que usamos poucas vezes (como regex por exemplo) precisam ser relembrados todas as vezes que vão ser utilizados.
A documentação do HTML, CSS e JS pode ser encontradas no W3schools e no site da mozilla, mas lembre-se vc não precisa saber todas as tags do HTML5, ou todos os recursos do css e js pra ser um bom desenvolvedor, o que vc precisa é de estudo e prática aplicada. E quando surgir algo fora do comum no dia a dia vc sempre pode recorrer a documentação, google e o stackoverflow.
Quanto a ferramentas que avaliam nível de conhecimento existem certificações e sites como o pluralsight que oferecem um teste de nivelamento em diversas ferramentas. Mas apenas certificações e esses testes não vão te garantir uma vaga no mercado, atualmente é muito comum os empregadores passarem testes práticos para testar o nível de conhecimento dos desenvolvedores. Seu nível de senioridade depende do seu próprio nível de conhecimento e das suas experiências no mercado de trabalho, idealmente quem pode te avaliar é um gerente ou um membro de equipe.
Abraços