P
prepair.app
Start interview →
EnglishУкраїнськаРусскийDeutsch
🟣

Junior .NET Backend Developer.NET interview questions

Junior · no experience / under 1 year

.NET interviews move between C# the language and the runtime underneath it — the CLR, the GC, how async/await actually works — before landing on ASP.NET Core and Entity Framework Core, where most real-world questions live. Below are the questions asked most often, each with a model answer. Junior: core theory, definitions, and simple practical cases.

Try it — no account needed
Preparing your question…

Topics to prepare

C# types, LINQ and nullable reference types
Async/await and the Task-based model
CLR, JIT and garbage collection
ASP.NET Core: middleware and dependency injection
Entity Framework Core and query performance
Testing with xUnit/Moq, Docker and cloud deployment

6 Junior-level questions with answers

1

What is the difference between value types and reference types in C#?

Answer

A value type (struct, int, bool, enum) holds its data directly and is copied on assignment; a reference type (class, string, arrays) holds a pointer to the heap, and assignment copies the pointer, not the data. Passing a struct to a method and mutating it inside only changes the copy unless you pass it by ref.

2

What is boxing and unboxing?

Answer

Boxing wraps a value type in a heap object so it can be used as object — for example passing an int into a non-generic collection like ArrayList. Unboxing casts it back to the value type. Each box is a heap allocation, which is why generic collections like List<int> are preferred — they never box.

3

What problem do nullable reference types solve?

Answer

They let the compiler distinguish string ("never null") from string? ("can be null") and warn you when you dereference a nullable value without checking it first. It is a compile-time hint, not a runtime guarantee, but it catches a large share of NullReferenceException bugs before the code ever runs.

4

What is the difference between `try/catch/finally` and the `using` statement?

Answer

finally always runs, whether an exception was thrown or not, so it is where you put cleanup code manually. using is shorthand for a try/finally that calls Dispose() on an IDisposable object — a file handle, a database connection — guaranteeing it is released even if the code inside throws.

5

What do `Where`, `Select` and `OrderBy` do in LINQ?

Answer

Where filters a sequence by a predicate, Select projects each element into a new shape, and OrderBy sorts it. They can be chained — list.Where(x => x.Active).Select(x => x.Name).OrderBy(n => n) — and none of them run until the result is enumerated, which is the deferred-execution behavior LINQ is built on.

6

What is dependency injection, and how does ASP.NET Core provide it?

Answer

Instead of a class creating its own dependencies with new, they are provided from the outside — usually through the constructor — which makes the class testable and swappable. ASP.NET Core ships a built-in container: services are registered in Program.cs with AddScoped, AddTransient or AddSingleton, and the framework resolves and injects them wherever they are requested.

🦎

Reading answers is not enough

In a real interview you speak under pressure. Cam asks these same questions, scores every answer, and shows exactly what to fix.

Practice a Junior .NET Backend Developer interview →
Free · 3 interviews per month

Other levels — .NET Backend Developer

Middle .NET Backend DeveloperSenior .NET Backend DeveloperAll .NET Backend Developer questions

Other specializations

🔍Junior Manual QA🤖Junior QA AutomationJunior Java Backend🐍Junior Python Backend🐘Junior PHP Backend🦫Junior Go Backend🟢Junior Node.js Backend💎Junior Ruby on Rails🔷Junior C++🟨Junior JavaScript