# Optymalizacja wydajności (.NET) > Profiling, BenchmarkDotNet, memory allocation, boxing/unboxing, Span, najlepsze praktyki wydajnościowe - 22 pytań z rozmów - Senior - [Pytania z rozmów: .NET](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne.md) ## 1. Jaka jest główna zaleta BenchmarkDotNet w porównaniu z prostym Stopwatch przy pomiarze wydajności? **Odpowiedź** BenchmarkDotNet wykonuje warm-upy, mierzy wiele iteracji ze stabilizacją statystyczną i unika błędów JIT oraz GC. Prosty Stopwatch może dawać niereprezentatywne wyniki, ponieważ nie kontroluje tych czynników. BenchmarkDotNet dostarcza też szczegółowe metryki, takie jak alokacje pamięci na operację. ## 2. Które narzędzie Microsoft jest zalecane do analizy alokacji pamięci i identyfikacji wycieków pamięci na produkcji? **Odpowiedź** dotMemory od JetBrains i PerfView od Microsoftu to zalecane narzędzia do profilowania pamięci w .NET. PerfView jest darmowy, open-source i potrafi analizować alokacje na stercie, stack trace'y oraz zdarzenia GC. Jest szczególnie odpowiedni do diagnozowania wycieków pamięci na produkcji bez znaczącego narzutu. ## 3. Jak zidentyfikować ukryte alokacje pamięci w metodzie LINQ takiej jak FirstOrDefault()? **Odpowiedź** Użycie BenchmarkDotNet z atrybutem MemoryDiagnoser pokazuje alokacje na operację. Lambdy LINQ tworzą ukryte alokacje poprzez delegaty. Zastąpienie ich prostą pętlą foreach eliminuje te alokacje. PerfView może też przechwytywać stack trace'y alokacji, aby zidentyfikować źródła. ## Jeszcze 19 dostępnych pytań - W BenchmarkDotNet, którego atrybutu użyć do pomiaru wydajności CPU i identyfikacji hotspotów kodu? - Jak interpretować wynik BenchmarkDotNet pokazujący Mean: 125.3 ns, StdDev: 45.2 ns? Zarejestruj się za darmo: https://sharpskill.dev/pl/login ## Inne tematy rekrutacyjne .NET - [Podstawy C#](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/csharp-basics.md): 25 pytań, Junior - [LINQ & Delegates](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/csharp-linq-delegates.md): 20 pytań, Junior - [Podstawy języka C#](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/csharp-language-essentials.md): 15 pytań, Junior - [Podstawy ASP.NET Core](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/aspnet-core-fundamentals.md): 18 pytań, Junior - [Cykl życia żądania w ASP.NET Core](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/aspnet-core-request-lifecycle.md): 20 pytań, Junior - [Configuration & Settings](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/configuration-settings.md): 20 pytań, Junior - [Cykl życia aplikacji](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/application-lifecycle.md): 20 pytań, Junior - [Dependency Injection](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/dependency-injection.md): 24 pytań, Mid-Level - [Entity Framework Core](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/entity-framework-core.md): 25 pytań, Mid-Level - [Minimal APIs](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/minimal-apis.md): 18 pytań, Mid-Level - [Tworzenie Web API](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/web-api-development.md): 22 pytań, Mid-Level - [Async w ASP.NET Core](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/async-aspnet-core.md): 20 pytań, Mid-Level - [Authentication & Authorization](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/authentication-authorization.md): 18 pytań, Mid-Level - [HttpClient & Networking](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/httpclient-networking.md): 20 pytań, Mid-Level - [Serializacja JSON](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/json-serialization.md): 20 pytań, Mid-Level - [Entity Framework Core zaawansowany](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/ef-core-advanced.md): 25 pytań, Mid-Level - [Zaawansowane funkcje C#](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/csharp-advanced-features.md): 20 pytań, Mid-Level - [Clean Architecture](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/clean-architecture.md): 20 pytań, Mid-Level - [Logging, Monitoring & Observability](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/logging-monitoring.md): 22 pytań, Mid-Level - [Testy jednostkowe & xUnit](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/unit-testing-xunit.md): 20 pytań, Mid-Level - [Testy integracyjne](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/integration-testing.md): 18 pytań, Mid-Level - [Docker & Containerization](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/docker-containerization.md): 16 pytań, Mid-Level - [Zarządzanie pakietami NuGet](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/nuget-package-management.md): 16 pytań, Mid-Level - [Memory Management & GC](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/memory-management-gc.md): 22 pytań, Senior - [Programowanie reaktywne](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/reactive-programming.md): 24 pytań, Senior - [Async/await i wzorce](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/async-await-patterns.md): 26 pytań, Senior - [.NET Design Patterns](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/dotnet-design-patterns.md): 24 pytań, Senior - [Bezpieczeństwo i Best Practices](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/security-best-practices.md): 24 pytań, Senior - [SignalR i czas rzeczywisty](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/signalr-realtime.md): 22 pytań, Senior - [Architektura Mikroserwisów](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/microservices-architecture.md): 25 pytań, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/performance-optimization