Una società con cui lavoro mi ha chiesto di fare screening per i candidati per assicurarmi che non siano completamente imbarazzati quando invii qualcuno a un potenziale cliente.
È emerso che un buon numero di persone veniva assegnato a un ruolo di sviluppatore C ++. Non passo molto tempo in C ++, ma ho fatto alcuni progetti banali e non banali nella lingua. Ho pensato che "Spiegare l'idioma RAII" sarebbe stata una bella domanda sul softball che i più seri sviluppatori di C ++ potevano rispondere mentre dormivano, e mi avrebbe permesso 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 "Acquisizione risorse è inizializzazione". Un candidato si è spinto fino a dire che sentiva che non era sempre pratico applicare la tecnica nello sviluppo di Windows, che pensavo fosse un sentimento strano, ma potevo vedere un paio di esempi che probabilmente supportano quella linea di pensiero. (Ma in realtà probabilmente ).
Anche un paio di sviluppatori C ++ che conosco abbastanza bene per giudicare la loro competenza dicono che non hanno riconosciuto il termine, ma dopo aver letto un riassunto della tecnica, hanno detto "Oh, sì, non sapevo che avesse un nome Ho solo pensato a quelle cose come qualcosa che devi solo fare . " Ricordo il termine della seconda edizione del libro di Stroustrup, anche se all'epoca l'impatto non era ancora calato.
Quindi, è "Puoi spiegarmi l'idioma RAII?" una domanda di screening equo? È 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 alternative alternative "alette" che diano al candidato una certa libertà di risposta e aiutino 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 chiave e acronimi. Tuttavia, penso che sia ragionevole aspettarsi che un esperto programmatore 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 che rivendicano esperienza prima di passare a domande più interessanti su design, problem solving, ecc. Penso che quello che sto cercando sia un buon modo per fare una domanda a risposta aperta, adatta per l'uso in uno screening telefonico breve, che posso usare per giudicare la comprensione di base di un candidato di buone pratiche di gestione delle risorse in C ++, prima di porre domande "difficili".