Interviewfragen zu Entwurfsmustern (Senior) mit Antworten
75 Fragen fürs Vorstellungsgespräch zu Entwurfsmustern (Senior) mit richtigen Antworten, Erklärungen und Links zur Dokumentation.
Diesen Test machen- 1.Wie unterscheidet sich das Modell der „Signals“ (Solid, Preact Signals, Angular Signals) vom Modell von React?
- 2.Was ist der Hauptkompromiss von Micro-Frontends?
- 3.Warum wird React in Module Federation als
sharedSingleton deklariert? - 4.Wie funktioniert das Strangler-Fig-Muster bei der Migration eines Legacy-Frontends?
- 5.Was bedeutet CQRS?
- 6.Was ist Event Sourcing?
- 7.Was ist ein Bounded Context in DDD?
- 8.Was ist die Idee der hexagonalen Architektur (Ports & Adapters)?
- 9.Wann wird Clean Architecture im Frontend schädlich?
- 10.Wie erzwingt man architektonische Importregeln (z. B. FSD-Schichten) automatisch?
- 11.Was ist ein Anti-Corruption Layer?
- 12.Wie unterscheidet sich ein RxJS-Observable von einem Promise?
- 13.Was bieten Statecharts (XState) gegenüber einem flachen endlichen Automaten?
- 14.Was ist das Backend-for-Frontend-Muster (BFF)?
- 15.Was ist das Expression Problem, und wie zeigt es sich in TS?
- 16.Was bedeutet „Functional Core, Imperative Shell“?
- 17.Was ist das „Hollywood-Prinzip“, und wie zeigt es sich in React?
- 18.Was ist eine Composition Root?
- 19.Warum gilt Service Locator gegenüber DI oft als Anti-Pattern?
- 20.Was ist an einem „God Context“ - einem React Context mit dem ganzen State der App - falsch?
- 21.Was ist zeitliche Kopplung (Temporal Coupling)?
- 22.Was besagt Conways Gesetz?
- 23.Wie unterscheidet sich der Ansatz von MobX architektonisch von Redux?
- 24.Warum gilt die Trennung von „Server“- und „Client“-State als wichtige Architekturentscheidung?
- 25.Was ist Islands Architecture?
- 26.Wie entwickelt man die öffentliche API einer geteilten Komponentenbibliothek richtig weiter?
- 27.Was ist ein ADR (Architecture Decision Record)?
- 28.Warum ist die Reihenfolge von Middleware oder Interceptors in einer Chain of Responsibility riskant?
- 29.Was zeichnet ein Value Object aus?
- 30.Was ist ein Aggregate in DDD?
- 31.Was verlangt das Prinzip Command-Query Separation (CQS)?
- 32.Was bedeutet das Prinzip „Tell, Don't Ask“?
- 33.Was bedeutet das Prinzip Fail Fast?
- 34.Was ist das Risiko von Postels Gesetz („sei großzügig bei dem, was du annimmst“)?
- 35.Wie sollte die UI in einem ereignisgetriebenen System Eventual Consistency berücksichtigen?
- 36.Wie unterscheidet sich redux-saga von Listener-Middleware und Thunks?
- 37.Warum ist die Normalisierung von Daten in einem Frontend-Store ein Architekturmuster und keine Mikro-Optimierung?
- 38.Wie nutzt man Strategy für A/B-Tests, ohne Komponenten mit Bedingungen zu überladen?
- 39.Was sind afferente und efferente Kopplung eines Moduls?
- 40.Wie unterscheidet sich ein modularer Monolith von Microservices (Micro-Frontends)?
- 41.Was sind Domänenereignisse im Frontend, und warum sind sie nützlich?
- 42.Wie hilft das Circuit-Breaker-Muster dem Client, wenn eine API ausfällt?
- 43.Wann ist das Visitor-Muster in einem TypeScript-Projekt gerechtfertigt?
- 44.Wie setzt man zuverlässiges Undo in einem kollaborativen Editor um, in dem mehrere Nutzer bearbeiten?
- 45.Was bringt eine Facade über einer fremden UI-Bibliothek (z. B. ein eigener
<Button>über MUI)? - 46.Was ist der Unterschied zwischen „Implementierungsvererbung“ und „Schnittstellenvererbung“?
- 47.Warum ist das Saga-Muster (Orchestrierung) in verteilten Prozessen für das Frontend relevant?
- 48.Wie verändern Server Components die Architektur gegenüber einer SPA?
- 49.Was ist eine „interne Plattform“ (Designsystem + geteilte Pakete), und wann sollte man sie herauslösen?
- 50.Was ist der „Second-System-Effekt“ bei Architekturentscheidungen?
- 51.Welches Problem löst das Transactional-Outbox-Muster?
- 52.Wie unterscheidet sich ein API Gateway von einem Backend for Frontend?
- 53.Was ist die Kernidee des Aktorenmodells?
- 54.Warum unterscheidet man Release-, Experiment-, Ops- und Permission-Toggles?
- 55.Wie unterscheidet sich eine „Event Notification“ von „Event-Carried State Transfer“?
- 56.Was kennzeichnet eine Microkernel-(Plugin-)Architektur wie in VS Code?
- 57.Was bedeutet „Parse, don't validate“?
- 58.Zwei Pakete:
checkoutmuss E-Mails senden, undnotificationsimplementiert den E-Mail-Versand. Wem gehört laut DIP die Schnittstelle? - 59.Was besagt das Stable Dependencies Principle?
- 60.Warum ist das Acyclic Dependencies Principle in einem Monorepo wichtig?
- 61.Was ist Connascence?
- 62.Was besagt das Law of Leaky Abstractions?
- 63.Was folgt aus Hyrums Gesetz für eine viel genutzte Komponentenbibliothek?
- 64.Wie gilt Chestertons Zaun beim Refactoring von Legacy-Code?
- 65.Was ist das Bulkhead-Muster?
- 66.Wie funktioniert das Cache-Aside-Muster?
- 67.Was ist ein Retry Storm, und wie verhindert man ihn?
- 68.Was bringen Consumer-Driven Contract Tests (z. B. Pact) Frontend und Backend?
- 69.Was ist eine architektonische Fitness Function?
- 70.Wie hängt Trunk-Based Development mit Feature Flags zusammen?
- 71.Was ist ein zentraler Kompromiss eines Monorepos gegenüber vielen Repositories?
- 72.Wie unterscheidet sich Saga-Orchestrierung von Choreografie?
- 73.Was ist ein „verteilter Monolith“?
- 74.Warum sind Value Objects für Geldbeträge im Frontend nützlich?
- 75.Warum entkoppelt man eine langsame Operation (z. B. das Erzeugen eines PDF-Berichts) per Warteschlange von einer Nutzeranfrage?