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

Junior .NET Backend Developer.NET-Interviewfragen

Junior · keine Erfahrung / unter 1 Jahr

.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. Junior: Grundlagentheorie, Definitionen und einfache Praxisfälle.

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

6 Fragen auf Junior-Niveau mit Antworten

1

Was ist der Unterschied zwischen Value Types und Reference Types in C#?

Antwort

Ein Value Type (struct, int, bool, enum) hält seine Daten direkt und wird bei Zuweisung kopiert; ein Reference Type (class, string, Arrays) hält einen Zeiger auf den Heap, und bei Zuweisung wird der Zeiger kopiert, nicht die Daten. Eine Struct an eine Methode zu übergeben und sie darin zu verändern, ändert nur die Kopie, außer du übergibst sie per ref.

2

Was sind Boxing und Unboxing?

Antwort

Boxing verpackt einen Value Type in ein Heap-Objekt, damit er als object verwendet werden kann — etwa ein int in eine nicht-generische Collection wie ArrayList zu geben. Unboxing castet ihn zurück zum Value Type. Jede Box ist eine Heap-Allokation, weshalb generische Collections wie List<int> vorzuziehen sind — sie boxen nie.

3

Welches Problem lösen Nullable Reference Types?

Antwort

Sie lassen den Compiler string („niemals null") von string? („kann null sein") unterscheiden und warnen, wenn du einen nullable Wert dereferenzierst, ohne ihn vorher zu prüfen. Das ist ein Compile-Zeit-Hinweis, keine Laufzeitgarantie, fängt aber einen großen Teil der NullReferenceException-Bugs ab, bevor der Code überhaupt läuft.

4

Was ist der Unterschied zwischen `try/catch/finally` und der `using`-Anweisung?

Antwort

finally läuft immer, egal ob eine Exception geworfen wurde oder nicht, deshalb kommt dorthin manuell geschriebener Aufräumcode. using ist eine Kurzform für ein try/finally, das Dispose() auf einem IDisposable-Objekt aufruft — einem Datei-Handle, einer Datenbankverbindung —, und garantiert dessen Freigabe, selbst wenn der Code darin eine Exception wirft.

5

Was machen `Where`, `Select` und `OrderBy` in LINQ?

Antwort

Where filtert eine Sequenz nach einem Prädikat, Select projiziert jedes Element in eine neue Form, und OrderBy sortiert sie. Sie lassen sich verketten — list.Where(x => x.Active).Select(x => x.Name).OrderBy(n => n) —, und keins davon läuft, bevor das Ergebnis enumeriert wird, was das Deferred-Execution-Verhalten ist, auf dem LINQ aufbaut.

6

Was ist Dependency Injection, und wie stellt ASP.NET Core es bereit?

Antwort

Statt dass eine Klasse ihre Abhängigkeiten selbst mit new erzeugt, werden sie von außen bereitgestellt — meist über den Konstruktor —, was die Klasse testbar und austauschbar macht. ASP.NET Core bringt einen eingebauten Container mit: Services werden in Program.cs mit AddScoped, AddTransient oder AddSingleton registriert, und das Framework löst sie auf und injiziert sie überall dort, wo sie angefordert werden.

🦎

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.

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

Weitere Level — .NET Backend Developer

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

Weitere Spezialisierungen

🔍Junior QA Manual🤖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