Takaisin blogiin

5 kysymystä ennen Go-kehittäjän palkkaamista

Viisi Go-haastattelukysymystä goroutinien peruutuksesta, kanavien ja lukitusten valinnasta, virheistä, pienistä rajapinnoista ja tuotantokorjauksista.

Saatavilla myös kielillä: EnglishPolskiTürkçeDeutsch

Insinööri työskentelee tietokoneella kaksoisnäytöllä työpajassa
Kuva: this_is_engineering, Pixabay

Go kasvaa edelleen pilvipalveluiden kielenä Stack Overflow 2025 Developer Surveyn mukaan. Monet ansioluettelot mainitsevat ”goroutinet”, mutta harva näyttää, miten niiden työ peruutetaan ja miten rajapinnat pysyvät rehellisinä. Go-rekrytoinnissa kannattaa yleensä aloittaa samanaikaisuuden harkinnasta, ei ajonaikaisen ajastimen selityksistä.

Nämä viisi kysymystä paljastavat goroutinien elinkaaren, synkronointivalinnat, virhesuunnittelun, rajapinnat ja tuotantokorjaukset – ei escape analysis -tietovisakysymyksiä.

1. ”Miten peruutat käynnissä olevan goroutinen työn ja estät vuodot? Käy läpi yksi käyttämäsi context.”

Vahvat hakijat kuvaavat context.WithCancel-funktion tai aikarajat, odottamisen Done-kanavalle ja vuodon, jonka he korjasivat. Heikot vastaukset käynnistävät goroutineja ilman sammutussuunnitelmaa.

2. ”Milloin suosit kanavia lukituksen (mutex) sijaan tai päinvastoin koodissa, jonka olet julkaissut?”

Haluat harkintaa: omistajuuden siirto ja putket vs. jaetun tilan suojaaminen. Heikot vastaukset pitävät kanavia ainoana ”Go-tapana” jokaiselle lukitukselle.

3. ”Miten käsittelet virheitä kutsujille: käärimistä (wrapping), sentinel-arvoja vai tyyppitettyjä virheitä?”

Kuuntele %w-merkintää, tarkistusta errors.Is/As-funktioilla ja sitä, mitä julkinen rajapinta palauttaa. Vahvat hakijat välttävät paljaan return err-lausekkeen, kun konteksti on tärkeä. Heikot vastaukset sanovat vain ”tarkistan, onko err != nil.”

4. ”Kuvaile pieni rajapinta, jonka suunnittelit. Miten koostaminen (composition) auttoi?”

Hyvät vastaukset pitävät rajapinnat ohuina ja ottavat ne vastaan kutsukohdissa. Heikot vastaukset keksivät suuria ”jumala-rajapintoja” tai eivät osaa nimetä yhtäkään itse kirjoittamaansa.

5. ”Kerro tuotantohäiriöstä tai suorituskykykorjauksesta Go-koodissa (pprof käy, jos käyttö on kevyttä).”

Tästä näet, kuinka paljon hakija omistaa lopputuloksen. Vahvat hakijat nimeävät pullonkaulan tai virheen ja tehdyn muutoksen. Heikot vastaukset pysyvät abstraktina ”optimoinnista” puhuen.

Muuta vastaukset vertailukelpoisiksi havainnoiksi

Kirjaa jokaisesta finalistista yksi peruutusmalli, yksi valinta kanavien ja lukituksen välillä, yksi virhetyyli ja yksi tuotanto- tai suorituskykytarina.

Yksi arviointikaavake jokaiselle finalistille

Käytä samoja viittä kysymystä jokaiselle hakijalle tähän avoimeen paikkaan. Johdonmukaiset kysymykset tukevat johdonmukaista arviointia, mikä vastaa EEOC:n ohjeistusta, jonka mukaan työnantajien tulee soveltaa samoja kriteerejä samaan tehtävään hakeviin (EEOC).

Käytä Canvider JobCraftia Go-palvelun laajuuden määrittämiseen työnkuvauksessa, InterviewGeniä aukkoihin perustuviin jatkokysymyksiin ja DecisionHelperiä vertaamaan finalisteja julkaisemiesi kriteerien perusteella.

Seuraava askel: tutustu InterviewGeniin ja DecisionHelperiin ja sitten aloita ilmaiseksi.