Angular-Interviewfragen, die zu erwarten sind

Von Aaron Cao · Aktualisiert am

Angular-Interviewfragen, die zu erwarten sind
Erwarte zuerst Change Detection: was eine Prüfung auslöst, was OnPush ändert, und wie Signals dazu passen. Danach Dependency Injection, die Wahl des RxJS-Operators, und das Aufräumen von Subscriptions. Die meisten Prozesse fügen eine Live-Übung hinzu, meist eine Typeahead-Suche, gebaut mit einem Service, debounceTime, und switchMap.

Erwarte zuerst Change Detection: was eine Prüfung auslöst, was OnPush ändert, und wie Signals dazu passen. Danach Dependency Injection, die Wahl des RxJS-Operators, und das Aufräumen von Subscriptions. Die meisten Prozesse fügen eine Live-Übung hinzu, meist eine Typeahead-Suche, gebaut mit einem Service, debounceTime, und switchMap.

Welche Angular-Konzepte werden am häufigsten gefragt?

Angulars API-Oberfläche ist groß, und veröffentlichte Fragenlisten behandeln jeden Decorator, als käme er mit gleicher Wahrscheinlichkeit vor. Das stimmt nicht. Dieser Abschnitt behandelt die Bereiche, die tatsächlich über die meisten Runden entscheiden, damit deine Übung der echten Verteilung entspricht. Vier Bereiche dominieren:

  • Change Detection: was eine Prüfung auslöst, wie Zone.js asynchrone APIs patcht, was OnPush ändert, und wie Signals Angular Arbeit ersparen.
  • Dependency Injection: hierarchische Injectors, providedIn, Injection Tokens, und die Funktion inject() gegenüber Konstruktorparametern.
  • RxJS: Observables gegenüber Promises, die Wahl des richtigen Operators, und das Aufräumen von Subscriptions, bevor eine Komponente zerstört wird.
  • Komponentenarchitektur: Standalone Components, Inputs und Outputs, Content Projection, und Lifecycle Hooks.

Versionsbewusstsein zählt hier mehr als in den meisten Framework-Runden, weil Angular die Richtung geändert hat. Standalone Components, die eingebauten Control-Flow-Blöcke @if und @for, aufschiebbare Views, und Signals kamen alle in jüngeren Hauptversionen dazu, daher fragen Interviewer oft, was du heute schreiben würdest, im Vergleich zu dem, was eine ältere Codebasis nutzt. Beides zu kennen, und zu erklären, warum sich das Framework verändert hat, wirkt besser, als Partei zu ergreifen.

Wie tief gehen Fragen zu RxJS und Signals?

Tiefer als Operatornamen. Die RxJS-Frage, die Levels trennt, ist, welcher Flattening-Operator passt: switchMap bricht die vorherige innere Anfrage ab und passt zu einem Typeahead, mergeMap führt alles parallel aus, concatMap bewahrt die Reihenfolge, und exhaustMap ignoriert neue Events, solange einer noch läuft, weshalb er zu einem Submit-Button passt. Danach stellen Interviewer die Leck-Frage: was passiert mit einer manuellen Subscription, wenn die Komponente zerstört wird, und warum die Async Pipe oder takeUntilDestroyed das Problem beseitigen.

Fragen zu Signals sind neuer und beginnen meist bei der Motivation statt bei der API. Erwarte, zu erklären, was ein Signal ist, wie computed eines daraus ableitet, wofür ein effect da ist, und warum Signals Angular eine feinkörnigere Möglichkeit geben, zu wissen, was sich geändert hat, statt einen Komponentenbaum erneut zu prüfen. Eine starke Antwort verknüpft beide Themen: Signals und OnPush reduzieren beide die Arbeit der Change Detection, aber Signals tun dies, indem sie Lesevorgänge verfolgen, statt einzuschränken, wann eine Prüfung läuft.

Interviewer erwarten nicht, dass du jede neue Funktion bereits produktiv eingesetzt hast. Sie erwarten, dass du sagst, in welcher Version du zuletzt gearbeitet hast, und über den Rest klar nachdenkst.

Welche Live-Coding-Übungen sollte man erwarten?

Die meisten Angular-Prozesse beinhalten, etwas Kleines zu bauen, während der Interviewer zusieht. Die wiederkehrenden Übungen sind über Firmen hinweg stabil:

  • Eine API aus einem Service aufrufen und das Ergebnis mit der Async Pipe rendern.
  • Eine Typeahead-Suche mit debounceTime, distinctUntilChanged, und switchMap bauen.
  • Ein Reactive Form mit einem Custom Validator und sichtbaren Fehlerzuständen schreiben.
  • Daten zwischen einer Eltern- und einer Kindkomponente weitergeben, und sie dann in einen Service heben.
  • Eine Route mit einer lazy geladenen Komponente und einem Guard hinzufügen.

Ein Frontend-Engineer, der sich für eine Produktrolle auf mittlerer Ebene bewirbt, könnte zum Beispiel den Typeahead bauen und dann dazu gedrängt werden, zu erklären, was passiert, wenn Antworten außer der Reihe eintreffen, wie man einen Ladezustand zeigt, und was passieren sollte, wenn der Nutzer die Eingabe löscht. Diese Erweiterungen entscheiden über die Runde, also übe die Nachfragen statt nur den reibungslosen Pfad. Angrenzende Themensets, mit denen Angular-Runden noch immer beginnen, darunter reine JavaScript- und TypeScript-Grundlagen, findest du im Fragenbanken-Hub.

Wie übt man so, dass es in der echten Runde ankommt?

Eine Fragenliste zu lesen, baut Wiedererkennung auf, kein Erinnern, und die Runde testet Erinnern, während jemand zusieht. Die Lösung sind Wiederholungen in der echten Form der Runde: die Standardübungen aus einem leeren Projekt bauen, deine Entscheidungen zu Change Detection und Subscriptions beim Tippen laut erzählen, und Unterbrechungen aufnehmen, ohne den Faden zu verlieren. Das Set als gesprochene Probe durchzuführen, eine Frage nach der anderen mit Nachfragen, dafür ist Mock-Interview-Übung da.

Eine Grenze, die man klar benennen sollte: Angular-Live-Runden laufen fast immer in einem geteilten Editor oder mit sichtbarem Bildschirm ab, und alles auf diesem Bildschirm ist für den Interviewer sichtbar. Ein Assistent gehört in die Vorbereitung und in gesprächsgeführte Runden, nicht auf einen geteilten Bildschirm. Welche Formate was erlauben, steht in Interviewarten.

FAQ

Muss ich NgModules noch kennen?

Auf Leseniveau ja. Viel produktives Angular läuft immer noch auf NgModules, erwarte also Fragen dazu, was ein Modul deklariert hat und wie providedIn die meisten Provider-Arrays ersetzt hat. Fragen zu neuem Code werden in Standalone Components gestellt, die in aktuellen Versionen der Standard sind.

Ist AngularJS dasselbe wie Angular?

Nein, und Interviewer prüfen das manchmal nach. AngularJS ist die 1.x-Linie mit Scopes, Digest-Zyklen, und Controllers. Angular ab Version 2 ist ein separates Framework, aufgebaut auf TypeScript und Komponenten. Wenn eine Stellenbeschreibung AngularJS sagt, bestätige, welches gemeint ist, bevor du dich vorbereitest.

Wie viel RxJS brauche ich, wenn das Team Signals nutzt?

Immer noch viel. Signals decken den Komponentenzustand gut ab, aber HTTP-Aufrufe, Router-Events, und Formularwert-Streams sind Observables, daher kommen Operatorwahl und Cleanup weiterhin vor. Teams mischen beides, und zu erklären, wo jedes hinpasst, ist eine übliche Senior-Frage.

Fragen Interviewer nach Tests?

Meist als Strategie statt als API-Auswendiglernen. Erwarte, was du auf Komponentenebene gegenüber end to end testen würdest, wie TestBed eine Komponente aufsetzt, und wie du einen Service faken würdest. Den Trade-off zu benennen, zählt mehr als einen Matcher aufzusagen.

Über wie viele Angular-Versionen sollte ich sprechen können?

Über die, in der du gearbeitet hast, plus was sich seitdem geändert hat. Interviewer fragen nach Standalone Components, den Control-Flow-Blöcken, und Signals, weil diese Antworten Aktualität zeigen. Zu sagen, in welcher Version du zuletzt live gegangen bist, und über den Rest zu argumentieren, ist eine vollständige Antwort.

Verwandte Fragen

← Mehr zu Interviewfragen nach Rolle & Thema