
Memory Management & GC
Garbage Collection, generations, finalization, IDisposable, using statement, memory leaks, profiling
1Qu'est-ce que le Garbage Collector (GC) dans .NET ?
Qu'est-ce que le Garbage Collector (GC) dans .NET ?
Réponse
Le Garbage Collector est un mécanisme automatique de gestion de la mémoire qui libère les objets non utilisés sur le tas managé. Il s'exécute automatiquement en arrière-plan pour éviter les fuites mémoire, contrairement à C/C++ où la mémoire doit être libérée manuellement. Le GC analyse les références d'objets et collecte ceux qui ne sont plus accessibles depuis les racines (roots) de l'application.
2Quelles sont les trois générations du Garbage Collector en .NET ?
Quelles sont les trois générations du Garbage Collector en .NET ?
Réponse
Le GC .NET utilise trois générations : Gen0 (objets jeunes et éphémères, collectés fréquemment), Gen1 (objets de durée de vie moyenne, zone tampon entre Gen0 et Gen2), et Gen2 (objets à longue durée de vie, collectés rarement car coûteux). Ce système de générations optimise les performances en collectant d'abord les objets éphémères (Gen0) qui représentent 80-90% des objets, et en évitant de scanner fréquemment les objets persistants (Gen2).
3Qu'est-ce que le Large Object Heap (LOH) en .NET ?
Qu'est-ce que le Large Object Heap (LOH) en .NET ?
Réponse
Le Large Object Heap est un espace mémoire séparé pour les objets de 85 KB ou plus, qui appartient logiquement à Gen2. Contrairement au tas standard qui est compacté régulièrement, le LOH n'est PAS compacté par défaut pour éviter le coût de copie de gros objets. Cela peut causer de la fragmentation mémoire. Depuis .NET 4.5.1, il est possible d'activer le compactage du LOH manuellement avec GCSettings.LargeObjectHeapCompactionMode.
Quel est le rôle du pattern IDisposable en .NET ?
Que fait le using statement en C# ?
+19 questions d'entretien
Autres sujets d'entretien .NET
Les bases de C#
LINQ & Delegates
Essentiels du langage C#
Fondamentaux ASP.NET Core
Cycle de vie des requêtes ASP.NET Core
Configuration & Settings
Cycle de vie de l'application
Dependency Injection
Entity Framework Core
Minimal APIs
Développement Web API
Async côté ASP.NET Core
Authentication & Authorization
HttpClient & Networking
Sérialisation JSON
Entity Framework Core avancé
Fonctionnalités avancées C#
Clean Architecture
Logging, Monitoring & Observability
Tests unitaires & xUnit
Tests d'intégration
Docker & Containerization
NuGet Package Management
Programmation réactive
Async/await & Patterns
.NET Design Patterns
Optimisation des performances
Sécurité & Best Practices
SignalR & Real-time
Architecture Microservices
Maîtrise .NET pour ton prochain entretien
Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.
Commencer gratuitement