Interviewfragen zu Angular mit Antworten
Komponenten, Templates und Control Flow, Signals, DI, RxJS, Routing, Formulare, Change Detection, SSR und NgRx.
225 Fragen fürs Vorstellungsgespräch zu Angular mit Antworten und Erklärungen: Level Junior, Middle und Senior. Beispielfragen, Online-Tests und Programmieraufgaben.
- Signals
- RxJS
- DI
- Router
- Forms
- NgRx
Fragen nach Level
Junior
Grundbegriffe und Syntax · 50 Fragen
Middle
Praxis, Feinheiten und Optimierung · 50 Fragen
Senior
Architektur, Interna, Randfälle · 50 Fragen
Beispielfragen
Ein paar Fragen aus jedem Level mit richtiger Antwort und Erklärung.
Angular · Junior
- Was ist Angular?
Antwort zeigen
Richtige Antwort: Ein komplettes TypeScript-Framework von Google mit Komponenten, DI, Routing, Formularen und HTTP ab Werk
Angular ist ein meinungsstarkes Framework mit allem Nötigen: Router, Formulare, HTTP-Client, DI, Testwerkzeuge und CLI werden alle vom Angular-Team gepflegt. React dagegen ist eine Rendering-Bibliothek, um die herum man sich seinen Stack selbst zusammenstellt.
- Welcher Befehl erstellt ein neues Angular-Projekt?
Antwort zeigen
Richtige Antwort:
ng new my-appDie Angular CLI (
npm install -g @angular/cli) legt das Projekt mitng newan, startet den Dev-Server mitng serve, erzeugt Code mitng generate component nameund baut mitng build. - Was bedeutet
standalonebei einer Angular-Komponente?Antwort zeigen
Richtige Antwort: Sie listet ihre Abhängigkeiten selbst in
importsstatt in einem NgModuleStandalone-Komponenten listen die verwendeten Komponenten, Direktiven und Pipes in
imports. Seit Angular 19 sind Komponenten standardmäßig standalone; NgModules werden weiter unterstützt, sind aber nicht mehr nötig. - Wie wird eine Standalone-Angular-Anwendung gestartet?
Antwort zeigen
Richtige Antwort:
bootstrapApplication(App, appConfig)inmain.tsbootstrapApplicationrendert die Wurzelkomponente und nimmt eineApplicationConfigmitproviderswieprovideRouter(routes)undprovideHttpClient().bootstrapModuleist der ältere, NgModule-basierte Weg.
Angular · Middle
- Was ändert sich, wenn eine Komponente
ChangeDetectionStrategy.OnPushnutzt?Antwort zeigen
Richtige Antwort: Sie wird nur geprüft, wenn sie als dirty markiert ist, etwa durch eine neue Input-Referenz
Mit der Standardstrategie wird jede Komponente bei jedem Lauf der Change Detection geprüft. OnPush überspringt ganze Teilbäume, die nicht markiert wurden, und ist die wichtigste Laufzeitoptimierung in Zone-basierten Apps.
- Wann braucht man
ChangeDetectorRef.markForCheck()?Antwort zeigen
Richtige Antwort: Bei OnPush, wenn ein manuelles
subscribeein einfaches Feld setztmarkForCheckmarkiert die Komponente und ihre Vorfahren, damit sie im nächsten Lauf geprüft werden. Dieasync-Pipe und Signals erledigen das automatisch, deshalb werden sie manuellen Abos vorgezogen. - Was bedeutet
ExpressionChangedAfterItHasBeenCheckedError?Antwort zeigen
Richtige Antwort: Ein gebundener Wert hat sich im selben Prüfdurchlauf erneut geändert
In der Entwicklung führt Angular eine zweite Prüfung aus, um sicherzustellen, dass Daten in eine Richtung fließen. Ursache ist meist eine Änderung am Elternzustand im
ngAfterViewIniteines Kindes oder ein Getter, der jedes Mal neue Werte liefert. Repariere den Datenfluss, statt ihn mitsetTimeoutzu verstecken. - Wie verbessern Signals die Change Detection gegenüber einfachen Feldern?
Antwort zeigen
Richtige Antwort: Angular markiert nur Komponenten, deren Templates das Signal lesen
Ein im Template gelesenes Signal registriert die View als Konsument. Ändert sich das Signal, wird diese View als dirty markiert - auch in einer OnPush-Komponente - ohne dass Zone.js raten muss, ob sich etwas geändert haben könnte.
Angular · Senior
- Wie erfährt Angular durch Zone.js, wann die Change Detection laufen soll?
Antwort zeigen
Richtige Antwort: Es patcht asynchrone Browser-APIs und meldet Angular, wenn ein Task endet
Zone.js weiß nicht, *was* sich geändert hat, nur dass asynchrone Arbeit fertig ist, daher prüft Angular den Baum ab der Wurzel (und überspringt nicht markierte OnPush-Teilbäume). Das ist einfach, kann aber viele unnötige Prüfungen auslösen.
- Wie aktiviert man zonenlose Change Detection?
Antwort zeigen
Richtige Antwort:
provideZonelessChangeDetection()hinzufügen undzone.jsentfernenNeuere Angular-Versionen erzeugen neue Projekte standardmäßig zonenlos. Ohne Zone.js wird das Bundle kleiner, Stacktraces sauberer, und unnötige Prüfungen entfallen.
- Was davon plant in einer zonenlosen App KEINE Change Detection ein?
Antwort zeigen
Richtige Antwort: Ein
setTimeout-Callback, der in ein einfaches Feld schreibtOhne Zone.js verlässt sich Angular auf explizite Benachrichtigungen: Signal-Updates,
markForCheck()(das auchasyncnutzt),ComponentRef.setInput, Template- und Host-Listener sowie das Anhängen von dirty Views. Eine einfache Feldänderung in einem Timer bleibt unsichtbar. - Welcher Komponentenstil ist bereits mit zonenloser Change Detection kompatibel?
Antwort zeigen
Richtige Antwort: OnPush-Komponenten, deren Zustand in Signals liegt oder über
async/markForCheckläuftFunktioniert eine Komponente korrekt mit OnPush, ist sie sehr wahrscheinlich bereit für zonenlos. APIs wie
NgZone.onStable/onMicrotaskEmptysenden ohne Zone.js nichts und sollten durchafterNextRenderoder Signals ersetzt werden.
Kombinierte Tests mit diesem Thema
Fragen aus mehreren Themen auf einmal, wie im Vorstellungsgespräch für eine konkrete Stelle.
Programmieraufgaben
Schreib die Lösung direkt im Browser, und Tests prüfen sie sofort. Klassiker aus Vorstellungsgesprächen zu JavaScript (debounce, deepClone, Promise.all, LRU-Cache), zu TypeScript (Generics, Narrowing und Utility Types, geprüft von einem echten Compiler), Backend-Logik in Node.js (Middleware, Rate Limits, Job-Queues), SQL-Abfragen in echtem PostgreSQL und zu React: Komponenten und Hooks wie eine Aufgabenliste, Tabs, useDebounce und useInterval.
Aufgaben öffnen →