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