
Memory Management & GC
Garbage Collection, gerações, finalização, IDisposable, using statement, vazamentos de memória, profiling
1O que é o Garbage Collector (GC) no .NET?
O que é o Garbage Collector (GC) no .NET?
Resposta
O Garbage Collector é um mecanismo automático de gerenciamento de memória que libera os objetos não utilizados no managed heap. Ele é executado automaticamente em segundo plano para evitar vazamentos de memória, diferentemente de C/C++ onde a memória precisa ser liberada manualmente. O GC analisa as referências dos objetos e coleta aqueles que não estão mais acessíveis a partir das roots da aplicação.
2Quais são as três gerações do Garbage Collector no .NET?
Quais são as três gerações do Garbage Collector no .NET?
Resposta
O GC do .NET utiliza três gerações: Gen0 (objetos jovens e efêmeros, coletados com frequência), Gen1 (objetos de vida média, zona de buffer entre Gen0 e Gen2) e Gen2 (objetos de vida longa, coletados raramente por ser custoso). Esse sistema geracional otimiza o desempenho coletando primeiro os objetos efêmeros (Gen0), que representam 80-90% dos objetos, evitando escanear com frequência os objetos persistentes (Gen2).
3O que é o Large Object Heap (LOH) no .NET?
O que é o Large Object Heap (LOH) no .NET?
Resposta
O Large Object Heap é um espaço de memória separado para objetos de 85 KB ou mais, pertencente logicamente à Gen2. Diferentemente do heap padrão, que é compactado regularmente, o LOH NÃO é compactado por padrão para evitar o custo de copiar objetos grandes. Isso pode causar fragmentação de memória. Desde o .NET 4.5.1, a compactação do LOH pode ser ativada manualmente com GCSettings.LargeObjectHeapCompactionMode.
Qual é o papel do padrão IDisposable no .NET?
O que a instrução using faz em C#?
+19 perguntas de entrevista
Outros temas de entrevista .NET
Fundamentos de C#
LINQ & Delegates
Fundamentos da linguagem C#
Fundamentos do ASP.NET Core
Ciclo de vida das requisições no ASP.NET Core
Configuration & Settings
Ciclo de vida da aplicação
Dependency Injection
Entity Framework Core
Minimal APIs
Desenvolvimento de Web API
Async no ASP.NET Core
Authentication & Authorization
HttpClient & Networking
Serialização JSON
Entity Framework Core avançado
Recursos avançados do C#
Clean Architecture
Logging, Monitoring & Observability
Testes unitários e xUnit
Testes de integração
Docker & Containerization
NuGet Package Management
Programação reativa
Async/await & Patterns
.NET Design Patterns
Otimização de desempenho
Segurança e Best Practices
SignalR e tempo real
Arquitetura de Microsserviços
Domine .NET para sua proxima entrevista
Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.
Comece gratis