C- ja C++-juniorit joko oppivat huolellisuuden nopeasti tai heistä tulee jatkuva virhelähde tiimillesi. Puhelinhaastattelun pitäisi palkita nöyryyttä ja mekaniikan hallintaa, ei triviaa standardin hämäristä kulmista.
Etsi turvallisuusvaistoa ja työkaluosaamista, ei nopeaa läpikäyntiä osoitinpulmista.
1. Rehellinen käsitys muistista ja elinajoista
He osaavat selittää pinon ja keon eron käytännön tasolla, miksi kaksinkertainen vapautus (double-free) ja vapautuksen jälkeinen käyttö (use-after-free) ovat vahingollisia, ja milloin älykkäät osoittimet auttavat C++:ssa. Kun omistajuus on epäselvää, he myöntävät epävarmuutensa sen sijaan, että arvaisivat.
2. Käännökset, jotka he osaavat toistaa
Tuttuus CMake:n, Maken tai talon oman työkaluketjun kanssa, sekä kääntäjän virheilmoitusten lukeminen ilman satunnaisten rivien uudelleenkirjoittamista. Jos puhtaat uudelleenkäännökset sekoittavat heitä, integraatiot sekoittavat heitä vielä enemmän.
3. Debuggerit ja sanitizer-tottumukset
He käyttävät gdb:tä, lldb:tä tai IDE:n debuggeria tilan tarkistamiseen, virheisiin pysähtymiseen ja oikeiden kaatumisten läpikäyntiin askel askeleelta. Bonuspisteitä, jos he tietävät, mihin AddressSanitizeria tai Valgrindia käytetään, edes junior-tasolla.
4. RAII ja resurssien kurinalaisuus C++:ssa
Konstruktorit hankkivat, destruktorit vapauttavat, he ottavat huomioon staattisen alustusjärjestyksen riskit ja suhtautuvat raakoihin omistaviin osoittimiin epäluuloisesti. Vuotaneet resurssit eivät saa yllättää heitä. Heidän pitäisi kuulostaa niistä kyllästyneiltä, ei hämmästyneiltä.
5. Määrittelemättömän käyttäytymisen ja standardin todellisuuden kunnioittaminen
He tietävät, että optimointi voi purra, että etumerkillinen ylivuoto ei ole leikin asia ja että datakilpailutilanteet eivät ole ”joskus ihan kunnossa”. Tällainen ajattelu estää vanhempia kehittäjiäsi muuttumasta kokopäiväisiksi palontorjujiksi.
Seulo reilusti ja vertaa omenoita omenoihin
Anna jokaiselle ehdokkaalle sama harjoitus, joko pariohjelmointina tai tehtävänä. Yhdysvaltain tasa-arvoisen työllisyyden komissio (EEOC) muistuttaa pieniä työnantajia soveltamaan johdonmukaisia vaatimuksia samaan tehtävään hakeviin (EEOC:n rekrytointiohje).
Canvider CriteriaMatch kirjaa turvallisuus- ja työkaluketjun tarkistuslistasi. Collaborative Candidate Assessment pitää muistiinpanot ja päätökset paikassa, jonka koko insinööritiimin paneeli näkee.
Seuraava askel: tutustu CriteriaMatchiin, tutustu Collaborative Candidate Assessmentiin ja sitten aloita ilmaiseksi.