Não acho que exista uma definição amplamente aceita do que constitui um conhecimento "excelente" de C ++.
Tende a ser difícil encontrar uma resposta clara para o que constituiria conhecimento "bom", "excelente", "excelente", (etc.) de qualquer idioma, estrutura, plataforma ou o que você possui. Em muitos casos, é particularmente difícil traçar uma linha clara entre o conhecimento que é realmente útil e, basicamente, conhecer muitas curiosidades.
Isso é particularmente verdadeiro no caso de algo como C ++, que existe há décadas, aplicado de várias maneiras diferentes e escrito em muitos estilos diferentes ao longo desse tempo. Há uma quantidade quase assustadora que alguém poderia aprender sobre o idioma que não tem quase nenhuma relação com usá-lo para resolver bem os problemas. Conhecer todas as regras de coisas como resolução de sobrecarga ou ordem parcial de modelos de função provavelmente só será útil se você estiver tentando contratar alguém para trabalhar em um compilador (ou algo muito semelhante). Eu usei o C ++ desde que ele se tornou razoavelmente amplamente disponível e ainda não utilizou (ou até deseja) a ordem parcial de modelos de função em código real.
Embora não seja tecnicamente sensível à pergunta, apresso-me a aconselhar qualquer pessoa que inclua esse requisito nos anúncios de emprego a tentar manter algum equilíbrio em mente. Eu acho que ênfase excessiva é frequentemente colocada em linguagens de programação, à custa de coisas como capacidade de resolução de problemas e algoritmos gerais. Conhecer bem uma linguagem de programação ajuda a expressar bem as soluções, mas geralmente é de pouca ajuda (na melhor das hipóteses) no design da própria solução. Uma ótima solução mal expressa quase sempre supera uma solução medíocre, não importa quão bem seja expressa.