La ce întrebări de interviu .NET să mă aștept?
De Aaron Cao · Actualizat la

Așteaptă-te la întrebări despre mediul de execuție (CLR, colectarea memoriei, tipuri valoare față de tipuri referință), limbaj (async și await, LINQ, tipuri generice, records), frameworkuri (middleware ASP.NET Core și injecția dependențelor, EF Core) și scenarii precum o scurgere de memorie într-un serviciu care rulează mult timp sau un endpoint API lent. Intervievatorii evaluează raționamentul.
Ce întrebări despre runtime și limbaj deschid un interviu .NET?
Intervievatorii încep de unde începe și frameworkul: mediul de execuție. Așteaptă-te să explici ce face Common Language Runtime (încarcă ansambluri, compilează just-in-time limbajul intermediar, gestionează memoria), apoi să aprofundezi colectarea memoriei. Șirul întrebărilor ulterioare este previzibil: de ce colectorul folosește generații, ce face ca un obiect să supraviețuiască până la o generație ulterioară, la ce servește heap-ul pentru obiecte mari și de ce există IDisposable și using dacă memoria este gestionată. La ultima întrebare, răspunde menționând resurse negestionate, precum handle-uri de fișiere și conexiuni, pe care colectorul nu știe să le elibereze prompt.
- Tipuri valoare și tipuri referință. Unde se află fiecare, ce înseamnă copierea pentru fiecare și ce cost are boxing-ul.
- async și await. Explică faptul că un task așteptat eliberează firul apelant în loc să-l blocheze, de ce
async voideste rezervat handlerelor de evenimente și la ce deadlock se referă avertismentele despre.Result. - LINQ. Execuția amânată este capcana: o interogare
IEnumerablerulează când este enumerată, nu când este scrisă, iar o interogare adresată unui provider de baze de date este tradusă în SQL doar pentru expresiile pe care acesta le înțelege. - Tipuri generice, interfețe și records. Constrângeri, de ce interfețele sunt preferabile claselor de bază pentru testabilitate și ce avantaj oferă egalitatea după valoare a unui record.
Răspunde la fiecare întrebare explicând mecanismul și o consecință. Afirmația că o colectare a generației zero este ieftină deoarece majoritatea obiectelor dispar repede reprezintă nivelul dorit de intervievatori; simpla enumerare a generațiilor, fără motiv, nu este suficientă.
Cum arată întrebările despre ASP.NET Core și EF Core?
Scrii controllere cu încredere, dar te temi că întrebările vor viza infrastructura pe care o atingi rar. Teama este justificată, fiindcă aici apar întrebările despre framework; iată infrastructura în ordinea în care este abordată de obicei, împreună cu întrebarea ulterioară asociată fiecărui subiect.
- Pipeline-ul cererii. Middleware-ul rulează în ordinea înregistrării, iar fiecare componentă decide dacă o apelează pe următoarea. Întrebare ulterioară: unde se află autentificarea în raport cu autorizarea și ce se întâmplă dacă le înregistrezi în ordine inversă?
- Duratele de viață ale injecției dependențelor. Singleton există pe durata aplicației, scoped pe durata unei cereri, iar transient este creat la fiecare rezolvare. Capcana clasică este injectarea unui serviciu scoped, precum un context de bază de date, într-un singleton; fii pregătit să explici de ce aceasta este o eroare.
- Configurare și opțiuni. Surse suprapuse, suprascrieri în funcție de mediu și modelul options pentru setări tipizate.
- EF Core. Urmărirea modificărilor și când trebuie dezactivată pentru interogările doar în citire, problema N+1 și modul în care încărcarea eager sau proiecția o evită, migrările și momentul real în care o interogare scrisă manual este preferabilă LINQ.
- Testare. Cum fac interfețele și containerul DI un serviciu testabil și ce demonstrează sau nu demonstrează un provider în memorie despre o bază de date reală.
Cei mai buni candidați fac legătura între acestea: un context scoped rezolvat într-un serviciu singleton de fundal nu este o întrebare de cultură generală, ci o eroare reală de memorie și corectitudine pe care intervievatorii au livrat-o deja și vor să audă că ai crea explicit un scope.
Cum se desfășoară întrebările bazate pe scenarii?
Interviurile pentru poziții senior prezintă un simptom și urmăresc metoda ta. Un exemplu reprezentativ: unui inginer backend care susține un interviu pentru un rol senior la o companie de logistică i se spune că memoria unui API ASP.NET Core crește timp de mai multe zile, până când containerul repornește. Un răspuns bun nu presupune. Întreabă ce s-a schimbat, verifică obiectele reținute de cache-uri statice sau abonamente de lungă durată la evenimente, caută servicii scoped păstrate de singleton-uri, inspectează creșterea heap-ului pentru obiecte mari și recurge la un snapshot de memorie înainte de a propune o soluție. Intervievatorul evaluează ordinea investigației.
Alte scenarii recurente: un endpoint lent numai sub sarcină, caz în care răspunsul trece de la apelurile sincrone către baza de date la async, epuizarea pool-ului de conexiuni și caching; o condiție de concurență într-o colecție partajată și costurile colecțiilor concurente și ale opțiunilor de blocare; o cerere care trebuie să apeleze trei servicii downstream și felul în care gestionezi timeout-urile, reîncercările și eșecurile parțiale; precum și o migrare care trebuie să adauge o coloană fără întreruperi. În fiecare caz, precizează constrângerea, alege un mecanism și explică deschis compromisul.
Acestea devin mult mai ușoare după ce le-ai repetat cu voce tare, inclusiv cu întrebări ulterioare; pentru aceasta este conceput modul de interviu simulat. Celelalte colecții pentru limbaje și roluri se găsesc la întrebări de interviu după rol și subiect.
Poate ajuta un asistent AI la întrebările .NET?
În rundele conversaționale, da, în limitele declarate. Aplicația desktop nativă SubcueAI pentru macOS și Windows captează sunetul sistemului și microfonul și afișează sugestii scurte de răspuns într-un overlay local; astfel, când intervievatorul întreabă de ce un context scoped într-un singleton este o eroare, mecanismul apare pe ecran în timp ce îl explici în propriile cuvinte. Extensia de browser acoperă apelurile din filele de browser în Chrome și Edge, captând exclusiv sunetul filei întâlnirii. Niciun bot nu intră în apel și nimic nu este injectat în pagina întâlnirii; configurarea este prezentată pe pagina de tutorial.
Limitele: o evaluare supravegheată, un ecran înregistrat, un laptop administrat de companie sau un exercițiu de programare live în care scrii C# sub observație nu sunt acoperite, iar asistentul este cel mai puțin eficient tocmai când interviul îți cere să scrii cod. Este cel mai eficient pentru întrebările de mai sus despre runtime, framework și compromisuri. Încarcă-i mai întâi CV-ul, pentru ca sugestiile să reflecte sistemele pe care le-ai construit în realitate; acel profil se află în editorul de CV-uri.
Întrebări frecvente
De ce are generații colectorul de memorie .NET?
Care este diferența dintre singleton, scoped și transient în ASP.NET Core?
Ce face de fapt await?
Ce este problema N+1 în EF Core?
Poate SubcueAI ajuta în timpul unui test de programare .NET supravegheat?
Întrebări similare
- La ce întrebări de interviu Databricks să mă aștept?
- La ce întrebări să mă aștept la un interviu de inginer de calitate?
- La ce întrebări să mă aștept la un interviu quant?
- La ce întrebări de interviu Snowflake ar trebui să mă aștept?
- La ce întrebări să mă aștept la un interviu pentru profesori?
- La ce întrebări de interviu Terraform să mă aștept?