
Memory Management & GC
Garbage Collection, generacje, finalizacja, IDisposable, instrukcja using, wycieki pamięci, profilowanie
1Czym jest Garbage Collector (GC) w .NET?
Czym jest Garbage Collector (GC) w .NET?
Odpowiedź
Garbage Collector to automatyczny mechanizm zarządzania pamięcią, który zwalnia nieużywane obiekty na managed heap. Działa automatycznie w tle, aby zapobiegać wyciekom pamięci, w przeciwieństwie do C/C++, gdzie pamięć trzeba zwalniać ręcznie. GC analizuje referencje obiektów i zbiera te, które nie są już dostępne z roots aplikacji.
2Jakie są trzy generacje Garbage Collectora w .NET?
Jakie są trzy generacje Garbage Collectora w .NET?
Odpowiedź
GC .NET używa trzech generacji: Gen0 (młode, krótko żyjące obiekty, zbierane często), Gen1 (obiekty o średnim czasie życia, strefa buforowa między Gen0 a Gen2) oraz Gen2 (długo żyjące obiekty, zbierane rzadko, ponieważ jest to kosztowne). Ten system generacyjny optymalizuje wydajność, zbierając najpierw efemeryczne obiekty (Gen0) stanowiące 80-90% obiektów i unikając częstego skanowania trwałych obiektów (Gen2).
3Czym jest Large Object Heap (LOH) w .NET?
Czym jest Large Object Heap (LOH) w .NET?
Odpowiedź
Large Object Heap to oddzielna przestrzeń pamięci dla obiektów o rozmiarze 85 KB lub większych, logicznie należąca do Gen2. W przeciwieństwie do standardowego heapa, który jest regularnie kompaktowany, LOH domyślnie NIE jest kompaktowany, aby uniknąć kosztu kopiowania dużych obiektów. Może to powodować fragmentację pamięci. Od .NET 4.5.1 kompaktowanie LOH można włączyć ręcznie za pomocą GCSettings.LargeObjectHeapCompactionMode.
Jaka jest rola wzorca IDisposable w .NET?
Co robi instrukcja using w C#?
+19 pytań z rozmów
Inne tematy rekrutacyjne .NET
Podstawy C#
LINQ & Delegates
Podstawy języka C#
Podstawy ASP.NET Core
Cykl życia żądania w ASP.NET Core
Configuration & Settings
Cykl życia aplikacji
Dependency Injection
Entity Framework Core
Minimal APIs
Tworzenie Web API
Async w ASP.NET Core
Authentication & Authorization
HttpClient & Networking
Serializacja JSON
Entity Framework Core zaawansowany
Zaawansowane funkcje C#
Clean Architecture
Logging, Monitoring & Observability
Testy jednostkowe & xUnit
Testy integracyjne
Docker & Containerization
Zarządzanie pakietami NuGet
Programowanie reaktywne
Async/await i wzorce
.NET Design Patterns
Optymalizacja wydajności
Bezpieczeństwo i Best Practices
SignalR i czas rzeczywisty
Architektura Mikroserwisów
Opanuj .NET na następną rozmowę
Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.
Zacznij za darmo