
Performans Optimizasyonu
Profiling, BenchmarkDotNet, memory allocation, boxing/unboxing, Span<T>, performans en iyi uygulamaları
1Performansı ölçmek için basit bir Stopwatch'a kıyasla BenchmarkDotNet'in temel avantajı nedir?
Performansı ölçmek için basit bir Stopwatch'a kıyasla BenchmarkDotNet'in temel avantajı nedir?
Cevap
BenchmarkDotNet warm-up yapar, istatistiksel stabilizasyonla birden fazla iterasyonu ölçer ve JIT ile GC sapmalarını önler. Basit bir Stopwatch bu faktörleri kontrol etmediği için temsil edici olmayan sonuçlar verebilir. BenchmarkDotNet ayrıca işlem başına bellek tahsisi gibi ayrıntılı metrikler de sağlar.
2Üretimde bellek tahsislerini analiz etmek ve bellek sızıntılarını belirlemek için hangi Microsoft aracı önerilir?
Üretimde bellek tahsislerini analiz etmek ve bellek sızıntılarını belirlemek için hangi Microsoft aracı önerilir?
Cevap
JetBrains'in dotMemory'si ve Microsoft'un PerfView'i .NET'te belleği profillemek için önerilen araçlardır. PerfView ücretsiz, açık kaynaklıdır ve heap allocations, stack trace'leri ve GC olaylarını analiz edebilir. Özellikle önemli bir overhead olmadan üretimde bellek sızıntılarını teşhis etmeye uygundur.
3FirstOrDefault() gibi bir LINQ metodundaki gizli bellek tahsisleri nasıl belirlenir?
FirstOrDefault() gibi bir LINQ metodundaki gizli bellek tahsisleri nasıl belirlenir?
Cevap
MemoryDiagnoser özniteliğiyle BenchmarkDotNet kullanmak, işlem başına tahsisleri gösterir. LINQ lambda'ları delegate'ler aracılığıyla gizli tahsisler oluşturur. Basit bir foreach döngüsüyle değiştirmek bu tahsisleri ortadan kaldırır. PerfView ayrıca kaynakları belirlemek için tahsis stack trace'lerini yakalayabilir.
BenchmarkDotNet'te CPU performansını ölçmek ve kod hotspot'larını belirlemek için hangi öznitelik kullanılır?
Mean: 125.3 ns, StdDev: 45.2 ns gösteren bir BenchmarkDotNet sonucu nasıl yorumlanır?
+19 mülakat soruları
Diğer .NET mülakat konuları
C# Temelleri
LINQ & Delegates
C# Dil Temelleri
ASP.NET Core Temelleri
ASP.NET Core İstek Yaşam Döngüsü
Configuration & Settings
Uygulama Yaşam Döngüsü
Dependency Injection
Entity Framework Core
Minimal APIs
Web API Geliştirme
ASP.NET Core'da Async
Authentication & Authorization
HttpClient & Networking
JSON Serileştirme
Entity Framework Core İleri Düzey
C# Gelişmiş Özellikleri
Clean Architecture
Logging, Monitoring & Observability
Birim Testleri & xUnit
Entegrasyon Testleri
Docker & Containerization
NuGet Paket Yönetimi
Memory Management & GC
Reaktif programlama
Async/await & Desenler
.NET Tasarım Desenleri
Güvenlik ve Best Practices
SignalR ve Gerçek Zamanlı
Microservices Mimarisi
Bir sonraki mülakatın için .NET'de uzmanlaş
Tüm sorulara, flashcards'a, teknik testlere, code review alıştırmalarına ve mülakat simülatörlerine eriş.
Ücretsiz başla