Interviewfragen zu Entwurfsmustern (Middle) mit Antworten
75 Fragen fürs Vorstellungsgespräch zu Entwurfsmustern (Middle) mit richtigen Antworten, Erklärungen und Links zur Dokumentation.
Diesen Test machen- 1.Welches Muster wurde bei diesem Refactoring angewendet?
- 2.Warum liefert
subscribein einer Observer-Implementierung meist eine Funktion zum Abbestellen? - 3.Wie unterscheidet sich Decorator von Proxy, wenn ihre Struktur ähnlich ist?
- 4.Wie unterscheidet sich Adapter von Facade?
- 5.Wann passt eine Abstract Factory statt einer einfachen Factory?
- 6.Was ist an einem Singleton auf Modulebene (
export const cache = new Map()) in einer SSR-App gefährlich? - 7.Wie implementiert man Undo/Redo mit dem Command-Muster?
- 8.Warum sind die Flags
isLoading,isError,isSuccessschlechter als ein expliziter Zustand? - 9.Was ist das Risiko eines globalen Event-Bus als Umsetzung eines Mediators?
- 10.Welches Muster setzen axios-Interceptors oder
fetch-Wrapper um? - 11.Wie rendert man einen Kommentarbaum beliebiger Tiefe?
- 12.Wie hilft ein Generator, einen Iterator für eine paginierte API umzusetzen?
- 13.Wie unterscheidet sich Template Method von Strategy?
- 14.Warum vereinfacht unveränderlicher State das Memento-Muster?
- 15.Welches Muster nutzt ein Babel- oder ESLint-Plugin, das den AST mit Methoden
Identifier()undCallExpression()durchläuft? - 16.Benachrichtigungen gibt es in drei Typen, gesendet über drei Kanäle (E-Mail, Push, SMS). Welches Muster erspart 9 Klassen?
- 17.Warum braucht das Frontend eine Schicht aus „Repositories“ oder API-Services, statt
fetchdirekt in Komponenten aufzurufen? - 18.Wie injiziert man eine Abhängigkeit in React-Komponenten, damit man den API-Client in Tests tauschen kann?
- 19.Welche dieser Situationen verletzt das Liskov Substitution Principle?
- 20.Eine Komponente
UserCardnimmtuser: User(30 Felder), nutzt aber nur Name und Avatar. Welches Prinzip wird verletzt? - 21.Was sagt das Gesetz von Demeter über
order.customer.address.city.name? - 22.Was ist der unidirektionale Datenfluss in der Flux-Architektur?
- 23.Wie unterscheidet sich MVVM vom Ansatz von React?
- 24.Welche Muster erkennt man in Redux?
- 25.In welcher Reihenfolge stehen die Schichten von Feature-Sliced Design von oben nach unten?
- 26.Warum hat jeder Slice in FSD eine öffentliche API (
index.ts)? - 27.Wie können Barrel-Dateien (
index.ts, das alles re-exportiert) schaden? - 28.Was ist die Hauptregel der Clean Architecture?
- 29.Wo sollten Geschäftsregeln (z. B. eine Rabattberechnung) in einer Frontend-App liegen?
- 30.Was beschreibt Atomic Design?
- 31.Was ist Shotgun Surgery?
- 32.Was ist Feature Envy?
- 33.Was ist Primitive Obsession, und wie behandelt man sie?
- 34.Warum sagt man „Duplizierung ist billiger als die falsche Abstraktion“?
- 35.Was ist das Null-Object-Muster?
- 36.Wie setzt man die Lazy-Initialisierung eines schweren Objekts um?
- 37.Was ist an Mixins (
Object.assign(Class.prototype, mixin)) problematisch? - 38.Was ist das Registry-Muster am Beispiel von Plugins?
- 39.Wie unterscheidet sich ein Mock von einem Stub in Tests?
- 40.Was ist die „Testpyramide“?
- 41.Was ist eine Headless-Komponente im Sinne der Muster?
- 42.Welches Muster steckt in „Slots“ von Komponenten (
<Card header={...} footer={...}>)? - 43.Was ist eine Funktion höherer Ordnung im Sinne der Muster?
- 44.Wie hängen Event Delegation und das Flyweight-Muster zusammen?
- 45.Inwiefern ähnelt
useReducerdem State-Muster? - 46.Welches Muster setzt
React.memooder eine Funktionmemoize(fn)um? - 47.Wann sollte man laut „Dreierregel“ eine Abstraktion herauslösen?
- 48.Welches Muster setzt das Proxy-Objekt in Vue 3 oder MobX für Reaktivität um?
- 49.Was ist ein „anämisches Modell“, und warum wird es kritisiert?
- 50.Wie unterscheidet sich ein DI-Container (Angular, InversifyJS) von der Übergabe von Abhängigkeiten per Hand?
- 51.Wie hilft Parallel Change (Expand/Contract), die Signatur einer viel genutzten Funktion zu ändern?
- 52.Was ist Branch by Abstraction?
- 53.Was ist das Humble-Object-Muster?
- 54.Warum packt man ein externes Zahlungs-SDK in ein eigenes Gateway?
- 55.Welches Problem löst Unit of Work, z. B. in einer bearbeitbaren, tabellenartigen Ansicht?
- 56.Was bringt das Specification-Muster für komplexe Filter?
- 57.Warum ergänzt man exponentielles Backoff bei wiederholten Anfragen um Jitter?
- 58.Wie verhindert man, dass zwei Nutzer still gegenseitig ihre Änderungen am selben Datensatz überschreiben?
- 59.Was ist das Result-(Either-)Muster für die Fehlerbehandlung?
- 60.Wie vermeidet Komposition Prop Drilling ohne Context?
- 61.Warum haben Hooks die meisten Render Props und HOCs abgelöst?
- 62.Wie setzt man Compound Components in React meist um?
- 63.Was ist ein polymorphes Prop
as? - 64.Was ist das State-Reducer-Muster?
- 65.Was sind Prop Getters?
- 66.Was ist der Smell „Divergent Change“?
- 67.Was ist „Speculative Generality“?
- 68.Was sind Data Clumps, und wie behebt man sie?
- 69.Wie refaktoriert man Legacy-Code ohne Tests sicher?
- 70.Warum werden alte Feature Flags zu technischen Schulden?
- 71.Was ist eine Collection Pipeline?
- 72.Wofür ist Currying bzw. partielle Anwendung nützlich?
- 73.Warum ist ein „Adapter“ beim Austausch einer Datumsbibliothek nützlich?
- 74.Warum passt das Chain-of-Responsibility-Muster gut zu Validierungsregeln?
- 75.Warum nutzt man das Facade-Muster für ein komplexes Feature wie Video-Upload (Chunks, Wiederholungen, Fortschritt)?