← Alle Themen

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.

Fragen nach Level

Beispielfragen

Ein paar Fragen aus jedem Level mit richtiger Antwort und Erklärung.

Angular · Junior

  1. 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.

  2. Welcher Befehl erstellt ein neues Angular-Projekt?
    Antwort zeigen

    Richtige Antwort: ng new my-app

    Die Angular CLI (npm install -g @angular/cli) legt das Projekt mit ng new an, startet den Dev-Server mit ng serve, erzeugt Code mit ng generate component name und baut mit ng build.

  3. Was bedeutet standalone bei einer Angular-Komponente?
    Antwort zeigen

    Richtige Antwort: Sie listet ihre Abhängigkeiten selbst in imports statt in einem NgModule

    Standalone-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.

  4. Wie wird eine Standalone-Angular-Anwendung gestartet?
    Antwort zeigen

    Richtige Antwort: bootstrapApplication(App, appConfig) in main.ts

    bootstrapApplication rendert die Wurzelkomponente und nimmt eine ApplicationConfig mit providers wie provideRouter(routes) und provideHttpClient(). bootstrapModule ist der ältere, NgModule-basierte Weg.

Alle 75 Fragen mit Antworten →

Angular · Middle

  1. Was ändert sich, wenn eine Komponente ChangeDetectionStrategy.OnPush nutzt?
    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.

  2. Wann braucht man ChangeDetectorRef.markForCheck()?
    Antwort zeigen

    Richtige Antwort: Bei OnPush, wenn ein manuelles subscribe ein einfaches Feld setzt

    markForCheck markiert die Komponente und ihre Vorfahren, damit sie im nächsten Lauf geprüft werden. Die async-Pipe und Signals erledigen das automatisch, deshalb werden sie manuellen Abos vorgezogen.

  3. 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 ngAfterViewInit eines Kindes oder ein Getter, der jedes Mal neue Werte liefert. Repariere den Datenfluss, statt ihn mit setTimeout zu verstecken.

  4. 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.

Alle 75 Fragen mit Antworten →

Angular · Senior

  1. 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.

  2. Wie aktiviert man zonenlose Change Detection?
    Antwort zeigen

    Richtige Antwort: provideZonelessChangeDetection() hinzufügen und zone.js entfernen

    Neuere Angular-Versionen erzeugen neue Projekte standardmäßig zonenlos. Ohne Zone.js wird das Bundle kleiner, Stacktraces sauberer, und unnötige Prüfungen entfallen.

  3. Was davon plant in einer zonenlosen App KEINE Change Detection ein?
    Antwort zeigen

    Richtige Antwort: Ein setTimeout-Callback, der in ein einfaches Feld schreibt

    Ohne Zone.js verlässt sich Angular auf explizite Benachrichtigungen: Signal-Updates, markForCheck() (das auch async nutzt), ComponentRef.setInput, Template- und Host-Listener sowie das Anhängen von dirty Views. Eine einfache Feldänderung in einem Timer bleibt unsichtbar.

  4. Welcher Komponentenstil ist bereits mit zonenloser Change Detection kompatibel?
    Antwort zeigen

    Richtige Antwort: OnPush-Komponenten, deren Zustand in Signals liegt oder über async/markForCheck läuft

    Funktioniert eine Komponente korrekt mit OnPush, ist sie sehr wahrscheinlich bereit für zonenlos. APIs wie NgZone.onStable/onMicrotaskEmpty senden ohne Zone.js nichts und sollten durch afterNextRender oder Signals ersetzt werden.

Alle 75 Fragen mit Antworten →

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 →