Quali domande devo aspettarmi a un colloquio .NET?
Di Aaron Cao · Aggiornato il

Aspettati domande sul runtime (CLR, garbage collection, tipi valore e riferimento), sul linguaggio (async e await, LINQ, generics, record), sui framework (middleware e dependency injection in ASP.NET Core, EF Core) e scenari come una perdita di memoria in un servizio di lunga durata o un endpoint API lento. Gli intervistatori valutano il ragionamento.
Quali domande su runtime e linguaggio aprono un colloquio .NET?
Gli intervistatori iniziano da dove inizia il framework: il runtime. Aspettati di spiegare cosa fa il Common Language Runtime (carica gli assembly, compila just-in-time il linguaggio intermedio, gestisce la memoria), per poi approfondire di un livello il garbage collection. La sequenza delle domande successive è prevedibile: perché il collector è generazionale, cosa fa sì che un oggetto sopravviva fino a una generazione successiva, a cosa serve il large object heap e perché IDisposable e using esistono se la memoria è gestita. All'ultima domanda rispondi citando risorse non gestite, come handle di file e connessioni, che il collector non sa rilasciare tempestivamente.
- Tipi valore e tipi riferimento. Dove risiedono, cosa comporta la copia per ciascuno e qual è il costo del boxing.
- async e await. Spiega che un'attività attesa libera il thread chiamante anziché bloccarlo, perché
async voidè riservato ai gestori di eventi e quale deadlock si intende quando si mette in guardia da.Result. - LINQ. L'esecuzione differita è il tranello: una query
IEnumerableviene eseguita quando è enumerata, non quando è scritta, e una query rivolta a un provider di database viene tradotta in SQL solo per le espressioni che il provider comprende. - Generics, interfacce e record. I vincoli, perché preferire le interfacce alle classi base per la testabilità e quali vantaggi offre l'uguaglianza per valore di un record.
Per ogni risposta illustra il meccanismo e una conseguenza. Dire che una raccolta della generazione zero costa poco perché la maggior parte degli oggetti muore giovane è il livello richiesto dagli intervistatori; elencare le generazioni senza spiegarne il motivo non lo è.
Come sono le domande su ASP.NET Core ed EF Core?
Scrivi controller con sicurezza, ma temi che le domande riguardino l'infrastruttura che tocchi di rado. È una preoccupazione fondata, perché è qui che si concentrano le domande sul framework; ecco quindi l'infrastruttura nell'ordine in cui viene solitamente affrontata, con la domanda successiva associata a ciascun punto.
- La pipeline delle richieste. Il middleware viene eseguito nell'ordine in cui è registrato e ogni componente decide se chiamare quello successivo. Domanda successiva: dove va collocata l'autenticazione rispetto all'autorizzazione e cosa accade se le registri nell'ordine inverso?
- Cicli di vita della dependency injection. Un singleton vive per l'intera applicazione, uno scoped per una singola richiesta, mentre un transient viene creato ogni volta che viene risolto. Il classico tranello consiste nell'iniettare un servizio scoped, come un contesto di database, in un singleton; preparati a spiegare perché è un bug.
- Configurazione e opzioni. Sorgenti a più livelli, sostituzioni specifiche per ambiente e pattern delle opzioni per impostazioni tipizzate.
- EF Core. Il rilevamento delle modifiche e quando disattivarlo per le query di sola lettura, il problema N+1 e come il caricamento eager o la proiezione lo evitano, le migrazioni e il punto concreto in cui una query scritta a mano supera LINQ.
- Test. In che modo le interfacce e il contenitore DI rendono testabile un servizio, e cosa dimostra o non dimostra un provider in memoria riguardo a un database reale.
I candidati migliori collegano questi aspetti: un contesto scoped risolto all'interno di un servizio in background singleton non è una domanda nozionistica, ma il tipo di bug di memoria e correttezza che gli intervistatori hanno davvero distribuito in produzione; vogliono sentirti dire che creeresti esplicitamente uno scope.
Come si svolgono le domande situazionali?
Nei cicli di colloqui per profili senior viene presentato un sintomo per osservare il tuo metodo. Un esempio rappresentativo: a un backend engineer candidato per una posizione senior presso un'azienda di logistica viene detto che la memoria di un'API ASP.NET Core continua a crescere per giorni, finché il container non si riavvia. Una risposta valida non tira a indovinare. Chiede cosa sia cambiato, verifica la presenza di oggetti trattenuti da cache statiche o sottoscrizioni a eventi di lunga durata, cerca servizi scoped conservati da singleton, esamina la crescita del large object heap e ricorre a uno snapshot della memoria prima di proporre una soluzione. L'intervistatore valuta l'ordine dell'indagine.
Altri scenari ricorrenti: un endpoint lento solo sotto carico, per il quale la risposta passa dalle chiamate sincrone al database ad async, all'esaurimento del pool di connessioni e al caching; una race condition in una raccolta condivisa e il costo delle raccolte concorrenti e delle opzioni di locking; una richiesta che deve chiamare tre servizi downstream e il modo in cui gestisci timeout, tentativi e fallimenti parziali; una migrazione che deve aggiungere una colonna senza tempi di inattività. In ogni caso, indica il vincolo, scegli un meccanismo ed esplicita il compromesso.
Questi scenari diventano molto più semplici dopo averli provati ad alta voce con domande successive, proprio ciò per cui è pensata la modalità colloquio simulato; le raccolte per gli altri linguaggi e ruoli sono disponibili nella sezione domande da colloquio per ruolo e argomento.
Un assistente AI può aiutare con le domande .NET?
Nei colloqui dialogati sì, entro i limiti dichiarati. L'app desktop nativa per macOS e Windows di SubcueAI acquisisce l'audio di sistema e quello del microfono e mostra brevi suggerimenti per le risposte in un overlay locale; così, quando l'intervistatore chiede perché un contesto scoped dentro un singleton sia un bug, hai il meccanismo sullo schermo mentre lo spieghi con parole tue. L'estensione per browser supporta le chiamate nelle schede di Chrome ed Edge acquisendo soltanto l'audio della scheda della riunione. Nessun bot si unisce alla chiamata e nulla viene inserito nella pagina della riunione; la configurazione è descritta nella pagina del tutorial.
I limiti: una valutazione sorvegliata, uno schermo registrato, un laptop gestito dall'azienda o un esercizio di programmazione dal vivo in cui scrivi C# sotto osservazione non rientrano nell'ambito previsto; inoltre, l'assistente è meno efficace proprio quando il colloquio richiede di scrivere codice. Rende al meglio con le domande su runtime, framework e compromessi illustrate sopra. Forniscigli prima il tuo curriculum, in modo che i suggerimenti riflettano i sistemi che hai davvero realizzato; il profilo si trova nello strumento per creare il curriculum.
FAQ
Perché il garbage collector di .NET usa le generazioni?
Qual è la differenza tra singleton, scoped e transient in ASP.NET Core?
Cosa fa realmente await?
Cos'è il problema N+1 in EF Core?
SubcueAI può aiutarmi durante un test di programmazione .NET sorvegliato?
Domande correlate
- Quali domande devo aspettarmi a un colloquio Databricks?
- Quali domande da colloquio per quality engineer devo aspettarmi?
- Quali domande devo aspettarmi a un colloquio quant?
- Quali domande su Snowflake devo aspettarmi al colloquio?
- Quali domande devo aspettarmi a un colloquio per insegnanti?
- Quali domande su Terraform devo aspettarmi a un colloquio?