
Memory Management & GC
Garbage Collection, generaciones, finalización, IDisposable, using statement, fugas de memoria, profiling
1¿Qué es el Garbage Collector (GC) en .NET?
¿Qué es el Garbage Collector (GC) en .NET?
Respuesta
El Garbage Collector es un mecanismo automático de gestión de memoria que libera los objetos no utilizados del managed heap. Se ejecuta automáticamente en segundo plano para evitar fugas de memoria, a diferencia de C/C++ donde la memoria debe liberarse manualmente. El GC analiza las referencias de los objetos y recolecta aquellos que ya no son accesibles desde las roots de la aplicación.
2¿Cuáles son las tres generaciones del Garbage Collector en .NET?
¿Cuáles son las tres generaciones del Garbage Collector en .NET?
Respuesta
El GC de .NET utiliza tres generaciones: Gen0 (objetos jóvenes y efímeros, recolectados con frecuencia), Gen1 (objetos de vida media, zona de búfer entre Gen0 y Gen2) y Gen2 (objetos de larga vida, recolectados rara vez porque es costoso). Este sistema generacional optimiza el rendimiento recolectando primero los objetos efímeros (Gen0), que representan el 80-90% de los objetos, evitando escanear con frecuencia los objetos persistentes (Gen2).
3¿Qué es el Large Object Heap (LOH) en .NET?
¿Qué es el Large Object Heap (LOH) en .NET?
Respuesta
El Large Object Heap es un espacio de memoria separado para objetos de 85 KB o más, que pertenece lógicamente a Gen2. A diferencia del heap estándar, que se compacta regularmente, el LOH NO se compacta de forma predeterminada para evitar el coste de copiar objetos grandes. Esto puede provocar fragmentación de memoria. Desde .NET 4.5.1, la compactación del LOH puede activarse manualmente con GCSettings.LargeObjectHeapCompactionMode.
¿Cuál es el rol del patrón IDisposable en .NET?
¿Qué hace la sentencia using en C#?
+19 preguntas de entrevista
Otros temas de entrevista .NET
Fundamentos de C#
LINQ & Delegates
Fundamentos del lenguaje C#
Fundamentos de ASP.NET Core
Ciclo de vida de las solicitudes en ASP.NET Core
Configuration & Settings
Ciclo de vida de la aplicación
Dependency Injection
Entity Framework Core
Minimal APIs
Desarrollo de Web API
Async en ASP.NET Core
Authentication & Authorization
HttpClient & Networking
Serialización JSON
Entity Framework Core avanzado
Características avanzadas de C#
Clean Architecture
Logging, Monitoring & Observability
Pruebas unitarias y xUnit
Pruebas de integración
Docker & Containerization
NuGet Package Management
Programación reactiva
Async/await & Patterns
.NET Design Patterns
Optimización del rendimiento
Seguridad y Best Practices
SignalR y tiempo real
Arquitectura de Microservicios
Domina .NET para tu próxima entrevista
Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.
Empieza gratis