Non penso che esista una definizione ampiamente accettata di ciò che costituisce una conoscenza "eccellente" del C ++.
Tende ad essere difficile trovare una risposta pulita a ciò che costituirebbe una conoscenza "buona", "eccellente", "superba" (ecc.) di qualsiasi lingua, struttura, piattaforma o cosa tu abbia. In molti casi è particolarmente difficile tracciare una linea pulita tra la conoscenza che è davvero utile e fondamentalmente conoscendo un sacco di curiosità.
Questo è particolarmente vero nel caso di qualcosa come il C ++ che è stato intorno a decenni, applicato in molti modi diversi e scritto in molti stili diversi nel tempo. C'è una quantità quasi spaventosa che qualcuno potrebbe conoscere il linguaggio che è quasi del tutto estraneo a usarlo per risolvere bene i problemi. Conoscere tutte le regole di cose come la risoluzione del sovraccarico o l'ordinamento parziale dei modelli di funzione è probabilmente utile se si sta cercando di assumere qualcuno per lavorare su un compilatore (o qualcosa di molto simile). Ho usato C ++ da quando è diventato ragionevolmente ampiamente disponibile, e non ho ancora usato (o anche solo voluto) un ordine parziale di modelli di funzioni nel codice reale.
Sebbene non sia tecnicamente reattivo alla domanda posta, mi affretto a consigliare a chiunque includa tale requisito negli annunci di lavoro per cercare di mantenere un certo equilibrio in mente. Penso che l'eccessiva enfasi venga spesso posta sui linguaggi di programmazione, a scapito di cose come capacità di problem solving e algoritmi generali. Conoscere un linguaggio di programmazione aiuta bene uno a esprimere soluzioni, ma di solito è di minimo aiuto (nel migliore dei casi) nel progettare la soluzione stessa. Un'ottima soluzione, mal espressa, batterà praticamente sempre una soluzione mediocre, non importa quanto bene sia espresso.