Les offres d'architecte .NET publiées en France demandent C#, ASP.NET Core, Entity Framework Core et SQL Server, puis une liste de services Azure : App Service, Functions, Service Bus, API Management. Angular revient souvent côté front, Azure DevOps ou GitHub Actions pour les pipelines, Bicep ou Terraform pour l'infrastructure. Beaucoup citent aussi un existant .NET Framework à moderniser. Les questions d'entretien d'un architecte .NET doivent couvrir les deux faces du poste.
Le calendrier de Microsoft pèse sur les projets en cours. .NET 8 et .NET 9 arrivent en fin de support le 10 novembre 2026, et .NET 10, la LTS sortie en novembre 2025, est suivi jusqu'en novembre 2028. Le même jour, le modèle in-process d'Azure Functions cesse d'être supporté au profit du modèle isolated worker. Le .NET Framework 4.8 reste supporté avec Windows, sans nouvelles fonctionnalités.
MediatR et AutoMapper sont passés sous licence commerciale en juillet 2025, avec une édition gratuite sous condition de chiffre d'affaires. Un architecte qui les a mis dans chaque projet doit savoir ce que ce changement implique et ce qu'il garderait. Le PDF contient 30 questions, un cas de 20 minutes et une grille de notation.
Runtime, frameworks et services Azure d'un architecte .NET
.NET 10 et ASP.NET Core
La plateforme actuelle, multiplateforme, qui a remplacé .NET Core. .NET 10 est la version à support long sortie en novembre 2025. ASP.NET Core propose des contrôleurs ou des Minimal APIs, et génère la description OpenAPI sans bibliothèque tierce depuis .NET 9.
.NET Framework 4.8, WCF et Web Forms
L'ancien runtime, limité à Windows et IIS. ASP.NET Web Forms et la partie serveur de WCF n'existent pas sur .NET moderne. CoreWCF, projet open source, reprend une partie du côté serveur de WCF. Demandez au candidat ce qu'il a fait de ces briques lors d'une migration.
Entity Framework Core et Dapper
EF Core est l'ORM de Microsoft, Dapper un micro-ORM qui exécute du SQL écrit à la main. Beaucoup d'équipes combinent les deux : EF Core pour les écritures, Dapper pour les lectures complexes. EF6, l'ancien ORM, tourne aussi sur .NET moderne, ce qui aide pendant une migration.
App Service, Container Apps et AKS
Les trois façons courantes d'héberger une API .NET sur Azure. App Service est le PaaS le plus simple, avec ses emplacements de déploiement. Container Apps exécute des conteneurs sans gérer Kubernetes et descend à zéro instance. AKS donne un Kubernetes complet, à réserver aux équipes capables de l'exploiter.
Azure Functions (isolated worker)
Le service de fonctions déclenchées par un événement : message, fichier, minuterie, appel HTTP. Le modèle isolated worker exécute le code dans un processus séparé, avec sa propre version de .NET. Le modèle in-process n'est plus supporté après le 10 novembre 2026.
Service Bus, Event Grid et Event Hubs
Trois services de messagerie à ne pas confondre. Service Bus transporte des messages métier avec files, sessions et file de lettres mortes. Event Grid diffuse des notifications d'événements, comme un fichier déposé. Event Hubs ingère de gros volumes de flux, de la télémétrie par exemple.
Entra ID et identités managées
Entra ID est l'annuaire et le fournisseur d'identité de Microsoft, anciennement Azure AD. Les identités managées permettent à une application d'accéder à Azure SQL, Key Vault ou Service Bus sans secret stocké. Demandez au candidat comment son application lit une base sans mot de passe stocké.
Aspire et OpenTelemetry
Aspire, qui a perdu son préfixe .NET avec la version 13 en novembre 2025, décrit et lance en local une application composée de plusieurs services, avec leurs bases et leurs files, et affiche leurs traces. En production, les traces et métriques OpenTelemetry partent vers Azure Monitor et Application Insights.
YARP et migration incrémentale
YARP est le reverse proxy open source de Microsoft. Placé devant une application .NET Framework, il envoie certaines routes vers une nouvelle application ASP.NET Core et le reste vers l'ancienne. Avec les System.Web adapters, c'est la méthode documentée par Microsoft pour migrer écran par écran.
Le poste se situe entre le lead développeur et l'architecte cloud. Dans une équipe produit, l'architecte .NET garde du code, fait les revues et tient la structure de la solution. Sur un programme de modernisation, il passe plus de temps sur l'inventaire de l'existant, l'ordre de migration et le choix des services Azure. Les offres « architecte solution .NET / Azure » attendent souvent Bicep ou Terraform et une bonne lecture des coûts Azure. Vérifiez lequel des deux postes vous ouvrez : un très bon architecte de code peut n'avoir jamais dimensionné un plan App Service.
Points de contrôle pour un architecte .NET
- Structure d'une solution ASP.NET Core
- Runtime .NET, async et injection de dépendances
- Accès aux données avec EF Core et SQL
- Choix des services Azure
- Migration depuis le .NET Framework
- Identité, observabilité et déploiement
Cinq questions d'architecture .NET, réponse attendue en regard
Chaque question vient avec ce qu'une bonne réponse contient et le signal qui doit vous alerter. Pas besoin d'être technique pour les poser : écoutez si le candidat raconte du vécu.
Question 1 · senior
La solution compte 14 projets : Domain, Application, Infrastructure, Contracts, Common… Ajouter un champ à un écran demande de modifier sept fichiers. Que changez-vous ?
Une bonne réponseIl reconnaît une clean architecture appliquée mécaniquement. Il regroupe par fonctionnalité (vertical slices) : la requête, la validation, le handler et la réponse d'un cas d'usage au même endroit, avec moins de couches de mapping. Il garde un domaine séparé là où vivent de vraies règles métier, et organise la solution en modules par domaine dans un monolithe modulaire. Des tests d'architecture (NetArchTest, ArchUnitNET) font respecter les dépendances restantes.
Signal d'alerteAjouter une couche de plus, ou tout remettre dans les contrôleurs. Défendre la structure existante « parce que c'est la clean architecture ».
Question 2 · confirmé
Sous charge, une API ASP.NET Core répond de plus en plus lentement alors que le CPU reste à 20 %. Que soupçonnez-vous ?
Une bonne réponseUne famine du thread pool, causée par du code synchrone qui attend de l'asynchrone (.Result, .Wait()) ou par des entrées-sorties bloquantes. Il le vérifie avec dotnet-counters (file d'attente et nombre de threads du pool), puis dotnet-trace ou un dump. La correction : de l'async de bout en bout. Il vérifie aussi l'usage de HttpClient, à obtenir par IHttpClientFactory, et la taille du pool de connexions à la base.
Signal d'alerteAjouter des instances ou augmenter le nombre minimal de threads comme seule réponse. Ne pas connaître la notion de thread pool.
Question 3 · confirmé
Une requête EF Core charge 50 000 lignes en mémoire pour en afficher 20. Où sont les erreurs habituelles, et quelles règles posez-vous ?
Une bonne réponseUn ToList() ou un AsEnumerable() placé avant le filtre, qui fait filtrer en mémoire au lieu de la base, une pagination absente, des Include en cascade qui font exploser la jointure. Règles : filtrer et paginer sur l'IQueryable, projeter vers un DTO avec Select, AsNoTracking pour la lecture, AsSplitQuery quand plusieurs collections sont chargées, et la journalisation du SQL généré pendant le développement.
Signal d'alerte« EF Core est lent, passons tout en procédures stockées », sans regarder le SQL produit.
Question 4 · confirmé à senior
Une API doit lancer un traitement de dix minutes, une génération de documents, à chaque demande. Comment l'hébergez-vous sur Azure ?
Une bonne réponsePas dans la requête HTTP. L'API dépose un message dans Service Bus et répond 202 avec une URL de suivi. Un worker traite le message : Azure Functions en plan Premium ou Flex Consumption (le plan Consumption limite la durée d'exécution), un job Container Apps ou un BackgroundService dans un conteneur. Durable Functions se justifie si le traitement compte plusieurs étapes. Le traitement est idempotent, les échecs répétés partent en file de lettres mortes.
Signal d'alerteUn Task.Run dans le contrôleur, ou un délai d'attente HTTP rallongé à quinze minutes.
Question 5 · senior
Une application ASP.NET MVC 5 sur .NET Framework 4.8, 300 000 lignes, doit passer sur .NET 10. Par quoi commencez-vous ?
Une bonne réponsePar l'inventaire : dépendances à System.Web, à WCF ou à Web Forms, compatibilité des bibliothèques, accès aux données en EF6. Les bibliothèques partagées passent en premier, en projets au format SDK ciblant .NET Standard 2.0 ou les deux frameworks. Puis une migration incrémentale : une application ASP.NET Core placée devant avec YARP reprend les routes une par une, les System.Web adapters partagent session et authentification, EF6 continue de tourner sur .NET avant un passage éventuel à EF Core. Des tests de non-régression encadrent chaque étape.
Signal d'alerteUne réécriture complète, ou une migration en une seule fois sans inventaire. Découvrir WCF en cours de route.
Recevez la fiche d'entretien complète en PDF
La fiche pour mener l'entretien de bout en bout, prête à imprimer ou à partager avec le manager.
- 30 questions sur 6 axes, avec la bonne réponse, le signal d'alerte et la relance
- Le niveau visé pour chaque question
- Une mise en situation de 20 minutes et ce qu'on attend du candidat
- La grille d'évaluation de 1 à 4, axe par axe
Avant d'ouvrir un poste d'architecte .NET
Une certification Azure est-elle utile pour un architecte .NET ?
Pas forcément. Les certifications Azure (AZ-305 pour les architectes, AI-200 pour les développeurs depuis le retrait d'AZ-204 en juillet 2026) montrent que la personne connaît le catalogue de services. Elles ne disent rien de la structure d'une solution .NET ni d'une migration du .NET Framework. Pour un poste centré sur Azure, elles comptent davantage. Dans tous les cas, demandez un service Azure que la personne a choisi, ce qu'il a coûté et ce qu'elle referait autrement.
Un développeur .NET senior peut-il devenir architecte .NET ?
C'est le parcours le plus fréquent. La différence se voit sur les décisions qui dépassent une équipe : découpage d'une solution, choix d'hébergement, stratégie de migration, règles communes. Interrogez un développeur senior sur un choix qu'il a porté au-delà de son propre code, et sur les options qu'il a écartées. S'il n'en trouve aucun, le poste d'architecte arrive sans doute trop tôt.
Quelles étapes prévoir dans l'entretien d'un architecte .NET ?
Souvent en trois temps : un échange sur un projet récent et ses choix, des questions par thème (structure, runtime, données, Azure, migration), puis une étude de cas où la personne propose une trajectoire pour un existant. Un test technique de code a peu d'intérêt à ce niveau. Faire lire un extrait de code avec un .Result bloquant ou une requête EF Core mal écrite montre plus vite le niveau réel.
Quelle différence entre architecte .NET et architecte cloud Azure ?
L'architecte cloud Azure s'occupe des fondations : abonnements, réseau, landing zone, sécurité, coûts. L'architecte .NET conçoit les applications qui tournent dessus : structure du code, accès aux données, messagerie, migration du .NET Framework. Les deux se recouvrent sur le choix de l'hébergement et des services managés. Sur une offre « architecte .NET Azure », précisez où s'arrête le périmètre.
Pour structurer vos autres entretiens, consultez aussi nos pages sur les questions d'entretien de recrutement, la méthode de l'entretien structuré et la grille d'évaluation d'entretien.






