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

Middle .NET Backend Developer.NET-Interviewfragen

Middle · 2–4 Jahre Erfahrung

.NET-Interviews bewegen sich zwischen C# als Sprache und der Runtime darunter — der CLR, dem GC, wie async/await tatsächlich funktioniert — bevor sie bei ASP.NET Core und Entity Framework Core landen, wo die meisten praxisnahen Fragen liegen. Hier sind die am häufigsten gestellten Fragen, jeweils mit einer Musterantwort. Middle: tieferes Verständnis, Optimierung und reale Arbeitssituationen.

Probier es aus — kein Konto nötig
Deine Frage wird vorbereitet…

Themen zur Vorbereitung

C#-Typen, LINQ und nullable reference types
Async/await und das Task-Modell
CLR, JIT und Garbage Collection
ASP.NET Core: Middleware und Dependency Injection
Entity Framework Core und Query-Performance
Testing mit xUnit/Moq, Docker und Cloud-Deployment

5 Fragen auf Middle-Niveau mit Antworten

1

Was passiert tatsächlich, wenn du einen `Task` mit `await` erwartest?

Antwort

Der Compiler baut die Methode in eine State Machine um: Code vor dem await läuft synchron, und wenn der Task noch nicht fertig ist, gibt die Methode die Kontrolle sofort an den Aufrufer zurück und gibt den Thread frei, statt zu blockieren. Die Fortsetzung läuft weiter, sobald der Task fertig ist, standardmäßig im erfassten SynchronizationContext, weshalb Library-Code ConfigureAwait(false) aufruft, um Deadlocks und unnötige Kontextwechsel zu vermeiden.

2

Wie hängen GC-Generationen mit dem `IDisposable`-Pattern zusammen?

Antwort

Die CLR befördert überlebende Objekte von Generation 0 nach 1, dann nach 2, wobei Gen-0-Collections billig und häufig sind, Gen-2-Collections selten, aber teuer. Der GC gibt nur verwalteten Speicher frei — nicht verwaltete Ressourcen wie Datei-Handles oder Datenbankverbindungen brauchen explizites Aufräumen, wofür IDisposable und ein Finalizer als Sicherheitsnetz da sind: Dispose() gibt sie deterministisch frei, und der Finalizer fängt den Fall ab, dass ein Aufrufer vergessen hat, ihn aufzurufen.

3

Wie verursacht Change Tracking in EF Core Performance-Probleme, und wie vermeidest du sie?

Antwort

Standardmäßig wird jede über einen DbContext geladene Entity getrackt — EF Core hält einen Snapshot, um bei SaveChanges() zu erkennen, was sich geändert hat. Für eine reine Leseliste ist das purer Overhead, weshalb Lesepfade .AsNoTracking() nutzen sollten. Die andere klassische Kostenstelle ist das N+1-Problem — der Zugriff auf eine Navigation Property innerhalb einer Schleife ohne Include() feuert eine Query pro Zeile ab.

4

Wann würdest du Minimal APIs statt MVC-Controllern in ASP.NET Core wählen?

Antwort

Minimal APIs sparen sich die Controller-Zeremonie — eine einzelne app.MapGet(...)-Lambda mit Parametern, die aus Route, Query oder Body gebunden werden —, was für einen kleinen Service reicht und dank weniger Reflection schneller startet. Controller machen sich bezahlt, sobald du Model-Binding-Konventionen, [ApiController]-Validierung, Filter oder eine große Oberfläche brauchst, bei der die Gruppierung von Actions nach Ressource die Codebase navigierbar hält.

5

Wie unit-testest du eine Klasse, die von anderen Services abhängt, in .NET?

Antwort

xUnit ist das Standard-Framework — [Fact] für einen einzelnen Fall, [Theory] mit [InlineData] für parametrisierte. Abhängigkeiten werden durch Moq-Mocks ersetzt: Mock<IRepository> lässt dich mit .Setup() Rückgabewerte festlegen und mit .Verify() Aufrufe prüfen, sodass der Test die Klasse isoliert testet statt eine echte Datenbank. Die Falle ist Over-Mocking — ein Test, der nur prüft, dass fünf Kollaboratoren in der richtigen Reihenfolge aufgerufen wurden, testet das Mock-Setup, nicht das Verhalten.

🦎

Antworten lesen reicht nicht

Im echten Interview sprichst du unter Druck. Cam stellt genau diese Fragen, bewertet jede Antwort und zeigt dir genau, was du verbessern musst.

Middle .NET Backend Developer-Interview üben →
Kostenlos · 3 Interviews im Monat

Weitere Level — .NET Backend Developer

Junior .NET Backend DeveloperSenior .NET Backend DeveloperAlle .NET Backend Developer-Fragen

Weitere Spezialisierungen

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