Takaisin blogiin

5 kysymystä ennen C#-kehittäjän palkkaamista

Viisi C#-haastattelukysymystä: async/await, DI-elinkaaret, LINQ:n viivästetty suoritus, tuotantovirheet ja julkaisun kompromissit .NET-rekrytointiin.

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

Kotitoimiston pöytä kannettavalla tietokoneella ja muistikirjalla ikkunan vieressä
Kuva: fancycrave1, Pixabay

C# on edelleen perusvaihtoehto yritysten ja ASP.NET Core -tiimeissä, kuten Stack Overflow 2025 Developer Survey osoittaa. Ansioluetteloissa lukee helposti ”C#” ja ”.NET”, mutta seulonnassa pitää testata, miten osaaja toimittaa koodia kuormituksen alla. r/csharp- ja r/dotnet-rekrytointiketjuissa toistuvat teemat suosivat harkintakykyä irrallisen faktatiedon sijaan.

Nämä viisi kysymystä paljastavat async-kurinalaisuuden, DI-elinkaarten hallinnan, LINQ:n suorituksen, tuotantovirheiden selvittämisen ja kompromissit – eivät sealed-luokkien tietokilpailuja.

1. ”Milloin .Result- tai .Wait-kutsu async-metodissa on kostanut sinulle tuotannossa, ja miksi async void on riskialtista?”

Vahvat hakijat kuvaavat umpikujatilanteita (deadlock), säikeiden loppumista (thread pool starvation) tai ”aloita ja unohda” -poikkeuksia, jotka he ovat itse korjanneet. Heikot vastaukset lukevat async-avainsanan määritelmän ulkoa ilman esimerkkitilannetta.

2. ”Käy läpi Transient vs. Scoped vs. Singleton todellisella ASP.NET Core -esimerkillä, kuten DbContext.”

Haluat nähdä elinkaarten hallintaa. Hyvät vastaukset selittävät, miksi Scoped-DbContext on oletusvalinta ja miten Singleton, joka sisältää Scoped-palvelun, hajoaa. Heikot vastaukset luettelevat vain kolme nimeä.

3. ”Milloin IQueryable-kysely todella osuu tietokantaan, ja miten viivästetty suoritus on kostanut sinulle?”

Kuuntele materialisointia (ToList, foreach, moninkertainen iterointi) ja EF-yllätyksiä. Vahvat hakijat ovat itse korjanneet virheen, jossa suodattimet ajettiin muistissa tai kahdesti. Heikot vastaukset pitävät IEnumerable-tyyppiä ”nopeampana”.

4. ”Kerro tuotantovirheestä, jonka korjasit .NET-koodissa (dispose, null, rinnakkaisuus tai konfiguraatio).”

Aiemmat tapaukset ovat parempia kuin määritelmät. Vahvat hakijat nimeävät oireen, juurisyyn ja suojan, jonka lisäsivät. Heikot vastaukset pysyvät epämääräisinä tai syyttävät ”frameworkia”.

5. ”Kuvaile C#-ominaisuutta, jonka julkaisit. Mitä kompromisseja hyväksyit?”

Näet, miten hakija hallitsee laajuutta. Hyvät vastaukset punnitsevat yksinkertaisuutta, suorituskykyä ja ylläpidettävyyttä. Heikot vastaukset luettelevat vain käytetyt kirjastot.

Muunna vastaukset vertailukelpoiseksi näytöksi

Kirjaa jokaisesta finalistista yksi async-virhetarina, yksi DI-elinkaaripäätös, yksi LINQ- tai EF-yllätys ja yksi julkaistu kompromissi.

Yksi arviointilomake jokaiselle finalistille

Käytä samoja viittä kysymystä jokaiselle hakijalle tähän avoimeen paikkaan. Johdonmukaiset kysymykset tukevat johdonmukaista arviointia, mikä vastaa EEOC:n ohjetta: työnantajien on sovellettava samoja standardeja samaan tehtävään hakeviin (EEOC).

Canvider JobCraft määrittelee C#/.NET-laajuuden työkuvauksessa, InterviewGen luo aukkoihin perustuvia jatkokysymyksiä ja DecisionHelper vertaa finalisteja julkaisemiesi kriteerien mukaan.

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