À quelles questions dois-je m’attendre en entretien .NET ?
Par Aaron Cao · Mis à jour le

Attendez-vous à des questions sur l’environnement d’exécution (CLR, ramasse-miettes, types valeur et référence), le langage (async et await, LINQ, génériques, records), les frameworks (middleware et injection de dépendances d’ASP.NET Core, EF Core), ainsi qu’à des scénarios comme une fuite de mémoire dans un service de longue durée ou un point de terminaison d’API lent. Les recruteurs évaluent le raisonnement.
Quelles questions sur le runtime et le langage ouvrent un entretien .NET ?
Les recruteurs commencent là où débute le framework : l’environnement d’exécution. Attendez-vous à expliquer le rôle du Common Language Runtime (chargement des assemblies, compilation juste-à-temps du langage intermédiaire, gestion de la mémoire), puis à approfondir le ramasse-miettes. La suite est prévisible : pourquoi le ramasse-miettes est générationnel, ce qui fait qu’un objet survit jusqu’à une génération ultérieure, à quoi sert le tas des grands objets, et pourquoi IDisposable et using existent alors que la mémoire est gérée. Pour cette dernière question, évoquez les ressources non managées, comme les handles de fichiers et les connexions, que le ramasse-miettes ne sait pas libérer rapidement.
- Types valeur et types référence. Où chacun réside, ce que signifie la copie pour chacun et le coût du boxing.
- async et await. Expliquez qu’une tâche attendue libère le thread appelant au lieu de le bloquer, pourquoi
async voidest réservé aux gestionnaires d’événements et de quel interblocage il est question lorsqu’on met en garde contre.Result. - LINQ. L’exécution différée est le piège : une requête
IEnumerables’exécute lors de son énumération, pas lors de son écriture, et une requête adressée à un fournisseur de base de données n’est traduite en SQL que pour les expressions que celui-ci comprend. - Génériques, interfaces et records. Les contraintes, l’intérêt des interfaces plutôt que des classes de base pour la testabilité et ce qu’apporte l’égalité par valeur d’un record.
Pour chaque sujet, donnez le mécanisme et une conséquence. Dire qu’une collecte de génération zéro est peu coûteuse parce que la plupart des objets meurent jeunes correspond au niveau attendu par les recruteurs ; se contenter de nommer les générations sans en expliquer la raison ne suffit pas.
À quoi ressemblent les questions sur ASP.NET Core et EF Core ?
Vous savez écrire des contrôleurs, mais craignez que les questions portent sur les mécanismes internes que vous manipulez rarement. Cette inquiétude est justifiée, car c’est là que se concentrent les questions sur le framework. Voici donc ces mécanismes dans l’ordre où ils sont généralement abordés, avec la relance associée à chacun.
- Le pipeline de requêtes. Les middlewares s’exécutent dans leur ordre d’enregistrement, chaque composant choisissant d’appeler ou non le suivant. Relance : où placer l’authentification par rapport à l’autorisation, et que se passe-t-il si vous les enregistrez dans l’ordre inverse ?
- Durées de vie de l’injection de dépendances. Un singleton vit pendant toute l’application, un service scoped pendant une requête et un service transient est créé chaque fois qu’il est résolu. Le piège classique consiste à injecter un service scoped, comme un contexte de base de données, dans un singleton ; soyez prêt à expliquer pourquoi c’est un bug.
- Configuration et options. Les sources en couches, les substitutions selon l’environnement et le modèle des options pour les paramètres typés.
- EF Core. Le suivi des changements et les cas où le désactiver pour les requêtes en lecture seule, le problème N+1 et la manière dont le chargement anticipé ou la projection l’évite, les migrations, ainsi que le moment où une requête écrite à la main surpasse honnêtement LINQ.
- Tests. Comment les interfaces et le conteneur DI rendent un service testable, et ce qu’un fournisseur en mémoire démontre ou non concernant une véritable base de données.
Les meilleurs candidats relient ces sujets : un contexte scoped résolu dans un service d’arrière-plan singleton n’est pas une question anecdotique, mais un véritable bug de mémoire et de cohérence déjà livré en production par des recruteurs, qui veulent vous entendre dire que vous créeriez explicitement une portée.
Comment se déroulent les mises en situation ?
Les processus de recrutement pour les postes seniors présentent un symptôme et observent votre méthode. Exemple représentatif : un ingénieur backend candidatant à un poste senior dans une entreprise de logistique apprend que la mémoire d’une API ASP.NET Core augmente pendant des jours, jusqu’au redémarrage du conteneur. Une bonne réponse ne consiste pas à deviner. Elle commence par demander ce qui a changé, recherche des objets capturés par des caches statiques ou des abonnements durables à des événements, vérifie si des services scoped sont conservés par des singletons, examine la croissance du tas des grands objets et utilise un instantané de la mémoire avant de proposer un correctif. Le recruteur évalue l’ordre de l’enquête.
Autres scénarios récurrents : un point de terminaison qui ne ralentit que sous charge, où la réponse passe des appels synchrones à la base de données à async, à l’épuisement du pool de connexions et à la mise en cache ; une condition de concurrence dans une collection partagée et le coût des collections concurrentes et des options de verrouillage ; une requête devant appeler trois services en aval, avec la gestion des délais d’attente, des nouvelles tentatives et des échecs partiels ; et une migration devant ajouter une colonne sans interruption. Dans chaque cas, énoncez la contrainte, choisissez un mécanisme et explicitez le compromis.
Ces exercices deviennent bien plus faciles lorsque vous les avez répétés à voix haute avec des relances, ce pour quoi le mode entretien blanc a été conçu ; les autres banques par langage et par poste sont regroupées sous questions d’entretien par poste et par thème.
Un assistant d’entretien IA peut-il aider avec les questions .NET ?
Lors des entretiens conversationnels, oui, dans les limites indiquées. L’application de bureau native pour macOS et Windows de SubcueAI capture le son du système et votre microphone, puis affiche de brèves suggestions de réponse dans une surcouche locale. Ainsi, lorsque le recruteur demande pourquoi un contexte scoped dans un singleton constitue un bug, le mécanisme apparaît à l’écran pendant que vous l’expliquez avec vos propres mots. L’extension de navigateur couvre les appels effectués dans un onglet sur Chrome et Edge en capturant uniquement le son de l’onglet de réunion. Aucun bot ne rejoint l’appel et rien n’est injecté dans la page de réunion ; la configuration est présentée sur la page tutoriel.
Les limites : une évaluation surveillée, un écran enregistré, un ordinateur portable géré par l’entreprise ou un exercice de programmation en direct où vous saisissez du C# sous observation sont hors périmètre, et l’assistant est précisément moins efficace lorsque l’entretien vous demande d’écrire du code. Il est particulièrement utile pour les questions ci-dessus portant sur le runtime, le framework et les compromis. Commencez par lui fournir votre CV afin que les suggestions reflètent les systèmes que vous avez réellement conçus ; le créateur de CV héberge ce profil.
FAQ
Pourquoi le ramasse-miettes .NET comporte-t-il des générations ?
Quelle différence entre singleton, scoped et transient dans ASP.NET Core ?
Que fait réellement await ?
Qu’est-ce que le problème N+1 dans EF Core ?
SubcueAI peut-il aider pendant un test de programmation .NET surveillé ?
Questions liées
- À quelles questions d’entretien Databricks dois-je m’attendre ?
- À quelles questions d’entretien d’ingénieur qualité dois-je m’attendre ?
- À quelles questions dois-je m’attendre en entretien quantitatif ?
- À quelles questions d’entretien Snowflake dois-je m’attendre ?
- À quelles questions dois-je m’attendre lors d’un entretien d’enseignant ?
- À quelles questions d’entretien Terraform dois-je m’attendre ?