Async/Await in C#: A Deep Dive
Async/await in C# explained in depth: the compiler state machine, SynchronizationContext, ConfigureAwait, ValueTask, async streams, cancellation and deadlocks.
34 articles about .NET Runtime & CLR: in-depth .NET and AI guides, senior interview questions and AI news on DotNet AI Hub.
Async/await in C# explained in depth: the compiler state machine, SynchronizationContext, ConfigureAwait, ValueTask, async streams, cancellation and deadlocks.
C# generics in depth: constraints up to allows ref struct, covariance and contravariance, how the CLR implements generics, and generic math with INumber.
A deep dive into CLR internals: IL and metadata, the type loader, MethodTables, precode and JIT, interface dispatch, object layout, AssemblyLoadContext and SOS.
A practical tour of .NET 10 LTS: JIT de-abstraction, stack allocation, post-quantum crypto, strict JSON, file-based apps, C# 14 and the .NET 11 outlook.
How the .NET garbage collector works: generations, LOH and POH, regions, workstation vs server GC, DATAS, container limits, finalization and tuning.
How RyuJIT, tier 0/tier 1 compilation, On-Stack Replacement and Dynamic PGO trade startup time for throughput, and how to inspect and tune them.
A practical guide to Native AOT in .NET, PublishAot, trim warnings, AOT-friendly source generators for JSON, config and logging, and ASP.NET Core support.
Learn to benchmark .NET code correctly with BenchmarkDotNet: core attributes, memory diagnostics, parameters, baselines and CI regression checks.
A practical guide to dotnet-counters, dotnet-trace, dotnet-dump, dotnet-gcdump and dotnet-monitor for diagnosing .NET apps in production.
How memory leaks happen in a garbage-collected runtime, the most common causes, and a step-by-step workflow to find and fix them with gcdump and SOS.
A practical guide to parallel programming in .NET with Parallel.For/ForEach, PLINQ, degree of parallelism, System.Threading.Lock and Channels pipelines.
Practical high-performance .NET techniques: measure first, cut allocations, pick fast collections, vectorize hot loops and tune the GC in .NET 8 to 11.
A deep dive into System.Text.Json covering JsonSerializerOptions, source generation, custom converters, polymorphism, streaming and security options.
A practical guide to cryptography in .NET, covering the Data Protection API, password hashing, AesGcm, RSA/ECDsa and post-quantum APIs.
Ten senior-level questions on C# async/await internals: the compiler state machine, awaiters, SynchronizationContext, ConfigureAwait and ExecutionContext.
Senior .NET interview questions on ValueTask, IAsyncEnumerable and async streams: when ValueTask pays off, IValueTaskSource pooling, and cancellation.
Senior .NET interview questions on CancellationToken patterns, linked tokens, timeouts with WaitAsync, IHostApplicationLifetime, and graceful shutdown.
Senior .NET interview questions on System.Threading.Channels: bounded vs unbounded channels, BoundedChannelFullMode, backpressure, and graceful shutdown.
Senior .NET interview questions on ConcurrentDictionary, ConcurrentQueue, ImmutableInterlocked, compare-and-swap loops, the ABA problem, and false sharing.
Senior-level questions on sync-over-async deadlocks, lock ordering, TOCTOU races, dump analysis and avoiding shared mutable state.
Senior-level thread synchronization interview questions covering lock, Monitor, the .NET 9 Lock type, SemaphoreSlim, ReaderWriterLockSlim and the memory model.
Senior .NET interview questions on probing, deps.json, AssemblyLoadContext isolation and unloading, diamond dependencies, strong naming and roll-forward.
Senior .NET interview questions on CLR internals: IL and metadata, type loading, AssemblyLoadContext, CoreCLR vs Mono vs NativeAOT and method dispatch.
Ten senior .NET interview questions on exception cost, the two-pass model, filters, ExceptionDispatchInfo, IExceptionHandler and Result patterns.
Ten lead-level interview questions comparing .NET Framework and modern .NET: architecture, removed APIs, support and deployment models.
Senior .NET interview questions on GC internals: generations, card tables, LOH/POH and regions, server vs workstation GC, DATAS, latency modes and containers.
Senior .NET interview questions on tiered compilation, OSR, Dynamic PGO, ReadyToRun, inlining, devirtualization, bounds-check elimination and Native AOT.
Ten senior .NET interview questions on Native AOT compilation, trim warnings, AOT-compatible libraries and startup optimization.
Ten thread pool interview questions covering worker vs I/O threads, hill-climbing, starvation, SetMinThreads and the .NET 6 portable pool.
Senior .NET interview questions on the object header, boxing costs, struct design, StructLayout, readonly structs, ref returns, in parameters and equality.
Senior-level C# generics interview questions on constraints, variance, CLR specialization, static abstract members, generic math and reflection over open types.
Lead-level .NET interview questions on diagnosing memory leaks: counters, gcdump, SOS dumpheap and gcroot, unmanaged leaks, fixes and regression monitoring.
Senior .NET interview questions on performance profiling: sampling vs instrumentation, dotnet-trace, PerfView, flame graphs, lock contention and starvation.
Senior .NET interview questions on Span<T> and Memory<T>: ref struct rules, stackalloc safety, ArrayPool pooling, allocation-free parsing and review pitfalls.