Warum ist ein modularer Ansatz im evolutionären Design von Vorteil? A) Er reduziert die Komplexität, indem alle Änderungen in einem Modul vorgenommen werden. B) Er verhindert, dass Services unabhängig voneinander bereitgestellt werden. C) Er zwingt alle Services, dieselbe Datenbank zu verwenden. D) Er reduziert die Notwendigkeit für explizite Remote-Call Mechanismen. ANSWER: A Warum ist Modularität im evolutionären Design von Microservices wichtig? A) Weil alle Funktionen in einem Modul bleiben sollen, das selten geändert wird. B) Weil alle Services dieselbe Programmiersprache verwenden müssen. C) Weil Änderungen an einem Service andere Services nicht beeinflussen sollten. D) Weil alle Services zentral verwaltet werden müssen. ANSWER: C Warum können Änderungen von Zuständigkeiten zwischen Komponenten in einer Microservice-Architektur komplexer sein? A) Wegen der zentralisierten Datenhaltung. B) Wegen der Notwendigkeit, Prozessgrenzen zu überschreiten. C) Wegen der geringen Modularität der Komponenten. D) Wegen der Verwendung einheitlicher Programmiersprachen. ANSWER: B Warum sind Microservices unabhängig voneinander bereitstellbar? A) Sie verwenden immer dieselbe Programmiersprache. B) Sie sind stark gekoppelt. C) Sie werden in einem einzigen Prozess ausgeführt. D) Sie sind um Geschäftsfunktionen herum aufgebaut. ANSWER: D Warum sind out-of-process Kommunikationen typischerweise teurer als in-memory Funktionsaufrufe? A) Weil sie eine zentrale Verwaltung benötigen. B) Weil sie komplexere und langsamere Mechanismen wie HTTP-Requests oder Remote-Procedure-Calls erfordern. C) Weil sie keine expliziten Schnittstellen haben. D) Weil sie in der gleichen Programmiersprache geschrieben sein müssen. ANSWER: B Warum sind Services in einer Microservice-Architektur disziplinierend? A) Weil sie keine expliziten Schnittstellen benötigen. B) Weil sie prozessinterne Aufrufe verwenden. C) Weil sie explizite Remote-Call Mechanismen erfordern. D) Weil sie stark gekoppelt sind. ANSWER: C Warum werden Bibliotheken in einer Microservice-Architektur als in-process Komponenten betrachtet? A) Weil sie keine expliziten Schnittstellen benötigen. B) Weil sie in einem separaten Prozess laufen. C) Weil sie innerhalb desselben Prozesses durch in-memory Funktionsaufrufe aufgerufen werden. D) Weil sie Remote-Procedure-Calls nutzen. ANSWER: C Was bedeutet „Polyglotte Persistenz“ in einer Microservice-Architektur? A) Verwendung einer einheitlichen Datenbanktechnologie. B) Jeder Service hat seine eigene Datenbank. C) Alle Services teilen sich eine gemeinsame Datenbank. D) Services kommunizieren nicht miteinander. ANSWER: B Was bedeutet es, dass Microservice-Architekturen einer evolutionären Design-Philosophie folgen? A) Die gesamte Anwendung wird auf einmal erstellt und bereitgestellt. B) Komponenten können unabhängig voneinander ausgetauscht und erweitert werden. C) Alle Services müssen gleichzeitig aktualisiert werden. D) Änderungen an einem Service erfordern keine Tests. ANSWER: B Was bedeutet es, wenn eine Komponente out-of-process ist? A) Sie läuft im gleichen Prozess wie andere Komponenten. B) Sie läuft in einem separaten Prozess und kommuniziert über Mechanismen wie HTTP-Requests. C) Sie nutzt in-memory Funktionsaufrufe zur Kommunikation. D) Sie ist immer in der gleichen Programmiersprache wie andere Komponenten geschrieben. ANSWER: B Was ist ein Beispiel für eine architektonische Sicherheitsmaßnahme in Microservices? A) Continuous Integration. B) Circuit Breaker. C) Monolithische Replikation. D) Single Sign-On. ANSWER: B Was ist ein Hauptprinzip des evolutionären Designs in einer Microservice-Architektur? A) Einmalige Entwicklung und Bereitstellung der gesamten Anwendung. B) Unabhängige Austauschbarkeit und Erweiterbarkeit der Komponenten. C) Zentrale Verwaltung aller Services. D) Verwendung einer einzigen Programmiersprache. ANSWER: B Was ist ein Hauptvorteil von in-memory Funktionsaufrufen im Vergleich zu out-of-process Kommunikationen? A) Höhere Latenzzeiten B) Niedrigere Kosten und höhere Geschwindigkeit C) Größere Flexibilität bei der Programmiersprache D) Bessere Skalierbarkeit ANSWER: B Was ist ein Nachteil der Dekomposition mittels Diensten? A) Es gibt explizite Remote-Call Mechanismen. B) Remote-Calls sind teurer als prozessinterne Aufrufe. C) Services können in verschiedenen Programmiersprachen geschrieben werden. D) Services erfordern keine expliziten Schnittstellen. ANSWER: B Was ist ein Vorteil der Verwendung von Services als Komponenten in einer Microservice-Architektur? A) Remote-Calls sind günstiger als prozessinterne Aufrufe. B) Services führen zu expliziteren Komponentenschnittstellen. C) Es gibt keine Notwendigkeit für explizite Remote-Call Mechanismen. D) Die Kapselung von Komponenten wird oft durch Dokumentation und Disziplin erreicht. ANSWER: B Was ist ein Vorteil des evolutionären Designs in einer Microservice-Architektur? A) Hohe Kopplung zwischen Komponenten. B) Schnellere und einfachere Bereitstellung von Änderungen. C) Notwendigkeit, alle Services gleichzeitig zu aktualisieren. D) Zentralisierte Verwaltung aller Services. ANSWER: B Was ist eine Hauptcharakteristik von Microservices? A) Sie laufen in einem einzigen Prozess. B) Sie kommunizieren oft über HTTP Resource APIs. C) Sie sind stark zentralisiert verwaltet. D) Sie verwenden immer die gleiche Programmiersprache. ANSWER: B Welche Aussage trifft auf Bibliotheken in einer Microservice-Architektur zu? A) Sie kommunizieren out-of-process. B) Sie nutzen in-memory Funktionsaufrufe. C) Sie sind unabhängig von der Programmiersprache. D) Sie benötigen HTTP-Requests zur Kommunikation. ANSWER: B Welche der folgenden Aussagen beschreibt einen Nachteil des evolutionären Designs in Microservices? A) Erfordert die vollständige Erstellung und Bereitstellung der gesamten Anwendung. B) Änderungen an einem Service können andere Services beeinträchtigen. C) Reduziert die Notwendigkeit für explizite Schnittstellen. D) Verhindert die unabhängige Bereitstellung von Services. ANSWER: B Welche der folgenden Aussagen beschreibt einen Nachteil von Microservices? A) Sie führen zu expliziteren Komponentenschnittstellen. B) Remote-Calls sind „teurer“ als prozessinterne Aufrufe. C) Sie erfordern explizite Remote-Call Mechanismen. D) Sie nutzen Polyglotte Programmierung. ANSWER: B Welche der folgenden Aussagen beschreibt in-memory Funktionsaufrufe? A) Sie sind API-Aufrufe zwischen verschiedenen Prozessen. B) Sie sind Funktionsaufrufe innerhalb desselben Prozesses. C) Sie nutzen HTTP-Requests zur Kommunikation. D) Sie sind Remote-Procedure-Calls zwischen verschiedenen Systemen. ANSWER: B Welche der folgenden Aussagen ist ein Merkmal von Services in einer Microservice-Architektur? A) Sie nutzen in-memory Funktionsaufrufe zur Kommunikation. B) Sie sind immer im selben Prozess wie andere Services. C) Sie sind out-of-process Komponenten und nutzen Mechanismen wie HTTP-Requests zur Kommunikation. D) Sie können nicht unabhängig voneinander bereitgestellt werden. ANSWER: C Welche der folgenden ist KEIN Vorteil von Microservices? A) Explizite Remote-Call Mechanismen. B) Polyglotte Programmierung. C) Geringe Granularität der APIs. D) Explizitere Komponentenschnittstellen. ANSWER: C Welche der folgenden Komponenten in einer Microservice-Architektur kommuniziert typischerweise out-of-process? A) Bibliotheken B) Services C) Klassen D) Methoden ANSWER: B Welche Eigenschaft ist typisch für eine Microservice-Architektur? A) Monolithische Struktur. B) Dezentrale Datenhaltung. C) Starke Kopplung zwischen Komponenten. D) Zentrale Verwaltung aller Services. ANSWER: B Welche Eigenschaft macht eine Komponente in einer Microservice-Architektur gut geeignet für das evolutionäre Design? A) Sie ist stark gekoppelt mit anderen Komponenten. B) Sie ist unabhängig austauschbar und erweiterbar. C) Sie erfordert eine vollständige Neuimplementierung bei jeder Änderung. D) Sie nutzt immer in-memory Funktionsaufrufe zur Kommunikation. ANSWER: B Welche Herausforderung besteht bei Änderungen in einer Microservice-Architektur? A) Änderungen erfordern eine vollständige Neuimplementierung aller Services. B) Änderungen können die Nutzer (Consuming Services) des geänderten Service beeinträchtigen. C) Änderungen sind immer rückwärtskompatibel. D) Änderungen benötigen keine zusätzlichen Tests. ANSWER: B Welche Herausforderung entsteht durch die Verwendung von out-of-process Komponenten in einer Microservice-Architektur? A) Geringere Modularität B) Erhöhte Komplexität durch Prozessgrenzen C) Unnötige Zentralisierung D) Eingeschränkte Polyglotte Persistenz ANSWER: B Welche Komponente nutzt in-memory Funktionsaufrufe in einer Microservice-Architektur? A) Services B) Bibliotheken C) API-Gateways D) Datenbanken ANSWER: B Welcher der folgenden Punkte ist KEIN Vorteil der Dekomposition mittels Diensten? A) Services führen zu expliziteren Komponentenschnittstellen. B) Remote-Calls sind „teurer“ als prozessinterne Aufrufe. C) Programmiersprachen bieten oft keinen Mechanismus zur Definition explizit veröffentlichter Schnittstellen. D) Services erfordern explizite Remote-Call Mechanismen. ANSWER: B Welches Muster wird oft bei der Skalierung von Microservices verwendet? A) Command Query Responsibility Segregation (CQRS) B) Model View Controller (MVC) C) Single Page Application (SPA) D) Waterfall Model ANSWER: A Welches Problem kann durch die expliziten Remote-Call Mechanismen von Services verhindert werden? A) Teure API-Aufrufe. B) Hohe Kopplung zwischen Komponenten. C) Polyglotte Programmierung. D) Dezentrale Datenhaltung. ANSWER: B Wie fördert das evolutionäre Design die Anpassungsfähigkeit von Software? A) Durch die feste Definition von Service-Schnittstellen. B) Durch die Möglichkeit, Komponenten unabhängig voneinander zu ändern und zu erweitern. C) Durch die einmalige Entwicklung und Bereitstellung der gesamten Anwendung. D) Durch die Verwendung einer einzigen Datenbank für alle Services. ANSWER: B Wie kann die Komplexität der Interaktionen zwischen Komponenten in einer Microservice-Architektur erhöht werden? A) Durch die Verwendung von prozessinternen Funktionsaufrufen. B) Durch die Notwendigkeit, Remote-Calls zu verwenden. C) Durch die Verwendung einer einzigen Datenbank. D) Durch die Eliminierung expliziter Schnittstellen. ANSWER: B Wie unterscheiden sich Services von Bibliotheken in einer Microservice-Architektur? A) Bibliotheken kommunizieren über HTTP-Requests, Services über in-memory Funktionsaufrufe. B) Services kommunizieren über in-memory Funktionsaufrufe, Bibliotheken über HTTP-Requests. C) Bibliotheken sind in-process Komponenten, Services sind out-of-process Komponenten. D) Bibliotheken sind out-of-process Komponenten, Services sind in-process Komponenten. ANSWER: C Wie unterscheidet sich das evolutionäre Design in Microservices von monolithischen Systemen? A) Bei Microservices erfordert jede Änderung eine vollständige Erstellung der gesamten Anwendung. B) Bei Microservices muss nur der geänderte Service neu bereitgestellt werden. C) Bei Monolithen muss nur der geänderte Teil der Anwendung neu bereitgestellt werden. D) Bei Monolithen und Microservices ist die Bereitstellung identisch. ANSWER: B