A hiring manager's question bank for C# and .NET engineers. Use these to tell apart candidates who can wire up an ASP.NET Core API from those who actually understand the runtime underneath it.
A good C# developer is comfortable across a wide stack: the language itself, the CLR that runs it, the ASP.NET Core request pipeline, and the data layer that EF Core sits on top of. The risk in a .NET interview is staying on the surface — asking what a delegate is, or what `using` does — and never finding out whether the candidate has shipped and maintained a real service. The questions below go deeper. They probe how the garbage collector's generational model affects allocation-heavy code, why `async`/`await` exists and how it differs from raw threads, how `IEnumerable` deferred execution can quietly turn one query into N, and how dependency injection lifetimes (transient, scoped, singleton) cause subtle bugs when mixed wrong. For full-stack .NET roles, mix one CLR question, one async question, one EF Core question and one ASP.NET Core middleware or design question — that spread reveals both breadth and the depth that separates a senior from someone who has only followed tutorials. Strong candidates talk about trade-offs: when to use `record` over `class`, when `ConfigureAwait(false)` matters, when to drop to raw SQL instead of LINQ. Watch for people who reason about the runtime, not just the syntax, and who can explain a bug they chased through async stack traces in production.
Pick six to eight questions spanning two or three categories rather than running the whole list. Treat each as a conversation starter — when a candidate gives a textbook answer, follow with "and when would that break in production?" to test depth.
JuggleHire goes beyond simple job posting. Leverage custom forms, powerful screening filters, and automated social media previews to find the perfect fit for your team.