377 questions for senior .NET engineer interviews, each with a 30-second answer, the full answer, a deep dive, the follow-ups interviewers ask next, and real-world production problems.
Compares Visual Studio, VS Code with C# Dev Kit and JetBrains Rider for .NET 10 work: platforms, language engines, debugging, licensing and when to choose each.
Setting up VS Code for .NET 10: the SDK, the C# extension's Roslyn language server and debugger, C# Dev Kit's Solution Explorer and Test Explorer, launch configuration and licensing.
Visual Studio 2026 editions (Community, Professional, Enterprise), workloads and components, and using a .vsconfig file to give every developer the same installation.
Diagnosing mismatches between IDE diagnostics and the real build: design-time builds, SDK resolution and global.json, stale caches, restore problems, source generators and multi-targeting.
Using a hierarchical .editorconfig for formatting, code style and analyser severities that every IDE honours, and enforcing it with EnforceCodeStyleInBuild and dotnet format in CI.
JetBrains Rider for .NET 10: its ReSharper and IntelliJ architecture, refactoring and inspections, shared settings layers, built-in tools, licensing, and where Visual Studio still leads.
A senior plan for a reproducible multi-IDE, multi-OS .NET 10 environment: CLI and CI as the source of truth, global.json, .editorconfig, Directory.Build.props, shared IDE files, Dev Containers and secrets hygiene.
A code review of an ASP.NET Core launchSettings.json: how launch profiles are used by Visual Studio, Rider, VS Code and dotnet run, and fixing committed secrets, the wrong environment and unsafe URLs.
Hot Reload in Visual Studio, Rider, VS Code and dotnet watch: Roslyn deltas applied through the runtime's metadata update API, Edit and Continue, rude edits, cache invalidation with MetadataUpdateHandler, and limits.
The basics of interactive debugging in Visual Studio, VS Code and Rider: setting breakpoints, stepping commands, Run to Cursor and Set Next Statement, and why Debug builds and symbols matter.
Advanced breakpoint types in Visual Studio, VS Code and Rider: conditions, hit counts, filters, tracepoints/logpoints, function, dependent, temporary and data breakpoints, with their performance cost.
Inspecting and changing state at a breakpoint with Locals, Autos, Watch, QuickWatch, DataTips and the Immediate window (Debug Console in VS Code), format specifiers, Object IDs, and the side effects of function evaluation.
Reading the debugger's Call Stack: frames, switching context, Just My Code and external code, async logical stacks and Parallel Stacks, inlining, and exception stack traces (throw vs throw ex).
Diagnosing a deadlock with Break All, the Threads window, Parallel Stacks and Parallel Watch, then confirming it in production with dotnet-dump, and fixing it with consistent lock ordering or async-friendly design.
Using the Visual Studio Memory window to read raw bytes for buffers, interop structs, encodings and unsafe code, and contrasting it with heap snapshots, allocation tracking and dotnet-gcdump for memory leaks.
A measured approach to a slow ASP.NET Core endpoint: confirming with Application Insights, profiling CPU, allocations, database and async behaviour in the Visual Studio Performance Profiler, and dotnet-counters and dotnet-trace in production.
How the debugger finds source for code you did not write: portable PDBs, symbol servers and .snupkg packages, Just My Code, Source Link and embedded sources, with settings for Visual Studio, VS Code and Rider.
Production diagnosis with dumps: when to take one, capturing with dotnet-dump, createdump settings, App Service and Kubernetes options, analysing in dotnet-dump or Visual Studio, and handling dumps as sensitive data.
A code review of debugger customisation in C#: cheap, side-effect-free DebuggerDisplay, hiding noise with DebuggerBrowsable, collection proxies, step-through attributes, and removing leftover Debugger calls and personal data from debug views.
The dotnet driver and its everyday commands: creating projects and solutions from templates, building, running and cleaning, and how the CLI relates to the SDK, MSBuild and the IDEs.