Una società con cui lavoro mi ha chiesto di fare delle proiezioni telefoniche candidate per assicurarmi che non siano completamente imbarazzate quando invio qualcuno a un potenziale cliente.
Si scopre che un discreto numero di persone veniva assegnato a un ruolo di sviluppatore C ++. Non passo molto tempo in C ++, ma ho realizzato alcuni progetti banali e non banali nella lingua. Ho pensato che "Spiegare il linguaggio RAII" sarebbe stata una bella domanda di softball a cui gli sviluppatori C ++ più seri potevano rispondere mentre dormivano e mi permetteva di passare a domande più interessanti sull'esperienza. Ma risulta che le persone che hanno più di 10 anni di esperienza in C ++ non riconoscono il termine, anche se espongo l'acronimo a "Acquisizione di risorse è inizializzazione". Un candidato è arrivato al punto di dire che non è sempre stato pratico applicare la tecnica nello sviluppo di Windows, che pensavo fosse uno strano sentimento, ma ho potuto vedere un paio di esempi che probabilmente sostengono quella linea di pensiero.).
Anche un paio di sviluppatori C ++ che conosco abbastanza bene per giudicare la loro competenza hanno detto di non riconoscere il termine, ma dopo aver letto un riassunto della tecnica, hanno detto "Oh, sì, non sapevo che avesse un nome. pensato a quelle cose come qualcosa che devi solo fare ". Ricordo il termine della seconda edizione del libro di Stroustrup, anche se in quel momento il pieno impatto non affondò.
Quindi, è "Puoi spiegarmi il linguaggio RAII per me?" una domanda di screening corretta? È ragionevole aspettarsi che tutti gli sviluppatori C ++ competenti lo capiscano? Il termine è più esoterico di quanto penserei? Supponendo che un candidato non conosca il termine, ci sono domande di follow-up che potrebbero aiutarmi a capire se hanno almeno interiorizzato le pratiche che fanno funzionare RAII? Esistono domande "diserbo" alternative migliori che consentono al candidato di avere una certa libertà di risposta e aiutano il candidato a dimostrare la propria comprensione dello sviluppo del C ++?
Modifica da aggiungere : Per chiarire, non sono il tipo di intervistatore che squalifica le persone perché non conoscono parole d'ordine e acronimi. Tuttavia, penso sia ragionevole aspettarsi che un programmatore esperto in C ++ abbia interiorizzato le buone pratiche per la gestione delle risorse. Penso anche che sia importante verificare che un candidato comprenda alcune "nozioni di base" sulla tecnologia in cui rivendicano esperienza prima di passare a domande più interessanti su design, risoluzione dei problemi, ecc. Penso che quello che sto cercando sia un buon modo per porre una domanda aperta, adatta per essere utilizzata in una breve proiezione telefonica, che posso usare per giudicare la comprensione di base di un candidato delle buone pratiche di gestione delle risorse in C ++, prima di porre domande "difficili".