"Was ist der Fokus der 9-Punkte-Transferaufgabe in der Klausur?"
"Der kulturelle und architektonische Wandel durch moderne IT-Prozesse (z. B. Cattle vs. Pets, Conway's Law, Bounded Context, Ubiquitous Language, 3 Amigos)."
"Erkläre das Paradigma ""PETS vs. Cattle"" im Cloud-native-Bereich."
"Pets (Haustiere) werden manuell gepflegt und bei Fehlern repariert. Cattle (Nutztiere) sind zustandslos und austauschbar bei Fehlern werden sie automatisiert gelöscht und neu aufgesetzt."
"Was versteht man unter ""Isolated State"" bei Cloud-native Applikationen?"
"Die strikte Zustandslosigkeit einzelner Instanzen. Daten werden in ausgelagerten Diensten (Datenbanken, Caches) gespeichert, um freie Skalierung zu ermöglichen."
"Wofür steht das 'D' im IDEAL-Modell cloud-nativer Applikationen?"
"Distribution (Verteilung): Systeme sind über mehrere Knoten und Standorte verteilt, um Ausfallsicherheit und Lastverteilung zu gewährleisten."
"Wofür steht das 'E' im IDEAL-Modell cloud-nativer Applikationen?"
"Elasticity (Elastizität): Die Fähigkeit, Ressourcen automatisch an den aktuellen Bedarf anzupassen (horizontale Skalierung / Scale-Out)."
"Wofür steht das 'A' im IDEAL-Modell cloud-nativer Applikationen?"
"Automated (Automatisierung): Steuerung, Deployment, Skalierung und Reparatur erfolgen vollständig über automatisierte Skripte und Plattformen."
"Wofür steht das 'L' im IDEAL-Modell cloud-nativer Applikationen?"
"Loose Coupling (Lose Kopplung): Komponenten interagieren über minimale, stabile Schnittstellen und sind unabhängig voneinander änderbar."
"Nenne die 3 technologischen Säulen von Cloud-native nach CNCF."
"1. Containerisierung (z.B. Docker), 2. Dynamische Orchestrierung (z.B. Kubernetes), 3. Microservices-Architekturen."
"Was charakterisiert Level 0 (Cloud ready) im Cloud Maturity Model?"
"Traditionelle Anwendungen werden unverändert in virtuelle Maschinen in der Cloud verschoben (Lift-and-Shift), ohne Cloud-Vorteile aktiv zu nutzen."
"Was charakterisiert Level 3 (Cloud native) im Cloud Maturity Model?"
"Volle Cloud-Native-Nutzung: Zustandslosigkeit, automatische Skalierung zur Laufzeit und dynamische Ressourcenallokation."
"Was bedeutet IaaS (Infrastructure as Code) ausgeschrieben und was bietet es?"
"Infrastructure as a Service. Es bietet grundlegende IT-Ressourcen wie virtuelle Server, Speicher und Netzwerke (z.B. AWS EC2)."
"Was unterscheidet PaaS von SaaS?"
"PaaS (Platform as a Service) stellt eine Entwicklungsumgebung für eigene Software bereit. SaaS (Software as a Service) bietet fertige Endanwendungen über den Browser (z.B. Microsoft 365)."
"Was ist der Kern von FaaS / Serverless Computing?"
"Entwickler schreiben nur reinen Funktionscode. Die Infrastruktur wird erst beim Event-Aufruf instanziiert, exakt für die Laufzeit berechnet und danach sofort wieder gelöscht."
"Was ist der Kern von DevOps nach dem Prinzip ""You build it, you run it""?"
"Eine Kultur der Automatisierung und gemeinsamen Eigenverantwortung, die die Zusammenarbeit zwischen Entwicklung (Dev), Betrieb (Ops) und QA optimiert."
"Was besagt das Prinzip des ""Flow"" bei DevOps?"
"Die Optimierung des Wertstroms von links nach rechts. Arbeit wird sichtbar gemacht (Kanban), das Work in Process (WIP) limitiert und manuelle Übergaben eliminiert."
"Was besagt das Prinzip des ""Feedback"" bei DevOps?"
"Die Etablierung schneller Rückmeldeschleifen von rechts nach links. Fehler werden per Telemetrie sofort sichtbar gemacht und die Pipeline bei Fehlern gestoppt (Andon-Kordel)."
"Nenne ein Beispiel für das DevOps-Feedback-Prinzip zur proaktiven Fehlererkennung."
"Chaos Engineering (z.B. gezieltes Abschalten von Servern im Live-Betrieb, um die Resilienz zu testen)."
"Was unterscheidet Continuous Integration (CI) von Continuous Delivery (CD)?"
"Bei CI wird Code mehrmals täglich in ein Repository gepusht und automatisch gebaut/getestet. Bei Continuous Delivery liegt am Ende ein deploybares Artefakt bereit, die Live-Freigabe erfolgt aber manuell."
"Was unterscheidet Continuous Delivery von Continuous Deployment?"
"Bei Continuous Delivery erfolgt die Freigabe in die Produktion manuell auf Knopfdruck. Bei Continuous Deployment wird jede stabile Änderung vollautomatisch ohne Zwischenstopp live eingespielt."
"Was bedeutet das ""Shift-Left""-Prinzip beim Testen?"
"Qualitätssicherung und Tests werden im Lebenszyklus so früh wie möglich nach vorne (""links"") verlagert, um Defekte kostengünstig vor dem Release zu finden."
"Nenne die Stufen der klassischen Testpyramide von unten nach oben."
"Unit-Tests -> Integrations-Tests -> System-Tests -> UI- / Akzeptanz-Tests."
"Warum nimmt die Anzahl der Tests nach oben hin in der Testpyramide ab?"
"Weil Tests weiter oben (z.B. UI-Tests) langsamer in der Ausführung, komplexer im Aufbau und deutlich teurer in der Wartung sind."
"Was versteht man unter Regressionstests?"
"Das wiederholte Testen bereits funktionierender Softwareteile nach einer Änderung, um sicherzustellen, dass keine neuen Fehler eingebaut wurden."
"Was versteht man unter ""Everything as Code"" (EaC)?"
"Die Praxis, nicht nur Applikationscode, sondern auch Infrastruktur (IaC), Testskripte und Pipeline-Konfigurationen als versionierten Text-Code zu verwalten."
"Was versteht man unter ""Idempotenz"" im Konfigurationsmanagement?"
"Dass die mehrfache Ausführung eines Skripts oder Befehls unter identischen Bedingungen immer zum exakt selben System-Zielzustand führt."
"Was ist das Ziel der hypothesenbasierten Entwicklung?"
"Die kontinuierliche Produktverbesserung im Live-Betrieb anhand von Metriken, datengetriebenen Experimenten und z.B. A/B-Tests."
"Was besagt Conway's Law?"
"""Die Architektur eines Softwaresystems spiegelt die Kommunikationsstrukturen der Organisation wider, die es erschafft."" (Organization follows Architecture)."
"Was sind Two-Pizza-Teams und welche Verantwortung tragen sie?"
"Kleine, interdisziplinäre und autonome Einheiten (5-9 Personen), die die vollständige Ende-zu-Ende-Verantwortung für einen fachlichen Service tragen."
"Was versteht man unter einer Microservices-Architektur?"
"Die Aufteilung einer Anwendung in kleine, lose gekoppelte, unabhängig voneinander deploybare Dienste, die um fachliche Fähigkeiten herum gebaut sind."
"Was ist polyglotte Persistenz?"
"Das Prinzip, dass jeder Microservice die Datenbanktechnologie nutzt, die am besten zu seinen fachlichen Anforderungen passt (z.B. NoSQL für Graphen, SQL für Finanzen)."
"Definiere ""Kopplung"" im Softwareentwurf."
"Das Maß der Abhängigkeit zwischen verschiedenen Software-Komponenten oder Services. Angestrebt wird eine lose Kopplung."
"Definiere ""Kohäsion"" im Softwareentwurf."
"Das Maß für den inneren Zusammenhalt der Aufgaben innerhalb einer Komponente. Angestrebt wird eine hohe Kohäsion (Single Responsibility)."
"Definiere die ""Core Subdomain"" im strategischen DDD."
"Das strategische Herzstück des Unternehmens. Sie ist hochkomplex, liefert den eigentlichen Wettbewerbsvorteil und muss zwingend intern entwickelt werden (Make)."
"Was zeichnet eine ""Supporting Subdomain"" aus?"
"Sie unterstützt das Kerngeschäft, bietet aber keinen direkten Wettbewerbsvorteil. Sie ist mäßig komplex und ein Kandidat für Outsourcing."
"Was zeichnet eine ""Generic Subdomain"" aus?"
"Ein Standard-Geschäftsproblem ohne Differenzierungspotenzial (z. B. Buchhaltung). Hier gilt die Devise: Standardsoftware am Markt einkaufen (Buy)."
"Was ist ein ""Bounded Context"" im DDD?"
"Eine explizite Grenze innerhalb einer Domänenarchitektur, innerhalb derer alle Modelle und Begriffe eine absolut eindeutige, widerspruchsfreie Bedeutung haben."
"Was ist die ""Ubiquitous Language""?"
"Eine gemeinsame, präzise und allgegenwärtige Fachsprache, die von Fachexperten und Entwicklern innerhalb eines bestimmten Bounded Contexts gleichermaßen genutzt wird."
"Warum scheitert ein einziges, globales Unternehmens-Datenmodell meist?"
"Weil Begriffe in unterschiedlichen Abteilungen verschiedene Bedeutungen haben (z.B. ""Kunde"" im Marketing = Lead im Versand = Lieferadresse). DDD löst dies durch Bounded Contexts."
"Was beschreibt das Machtgefälle Upstream/Downstream im Context Mapping?"
"Der Upstream ist der Zulieferer, dessen Änderungen an Datenstrukturen sich direkt auf das nachgelagerte System (Downstream) auswirken."
"Was bedeutet das Muster ""Conformist""?"
"Das nachgelagerte Team (Downstream) passt sich dem Datenmodell des Zulieferers (Upstream) bedingungslos und ohne Übersetzung an."
"Was ist ein ""Anti-Corruption Layer"" (ACL)?"
"Eine Übersetzungsschicht (Korruptionsschutzschicht), die fremde Datenstrukturen in das eigene Domänenmodell übersetzt, um dieses sauber zu halten."
"Was versteht man unter einem ""Open-Host Service"" (OHS)?"
"Ein Upstream-System bietet eine standardisierte, stabile und offen dokumentierte Schnittstelle (z. B. OpenAPI) für viele Consumer an."
"Was ist eine ""Published Language"" im Context Mapping?"
"Ein standardisiertes, dokumentiertes Datenformat (z.B. JSON-Schema), das ein OHS zur Kommunikation nutzt."
"Was zeichnet das Muster ""Shared Kernel"" aus?"
"Zwei Teams teilen sich eine gemeinsame Datenbasis oder Code-Bibliothek (Kern). Änderungen müssen strikt synchronisiert werden."
"Was zeichnet das Muster ""Partnership"" aus?"
"Zwei Teams sind wechselseitig voneinander abhängig. Eines kann ohne das andere kein Release durchführen Kooperation ist zwingend synchron."
"Was unterscheidet eine Entität (Entity) von einem Wertobjekt (Value Object)?"
"Eine Entität besitzt eine eindeutige, dauerhafte Identität (ID) über ihren Lebenszyklus hinweg. Ein Wertobjekt hat keine Identität, ist unveränderlich und wird rein durch seine Attribute definiert."
"Nenne ein typisches Beispiel für ein Wertobjekt (Value Object)."
"Ein Geldbetrag (Wert: 50, Währung: EUR) oder eine Adresse. Ändert sich ein Wert, wird das Objekt komplett ersetzt."
"Was ist ein Aggregat (Aggregate) im taktischen DDD?"
"Eine logische Zusammenfassung von Entitäten und Wertobjekten, die eine gemeinsame Transaktionsgrenze bildet, um die Datenkonsistenz zu sichern."
"Über welches Element erfolgt der Zugriff auf ein Aggregat von außen?"
"Ausschließlich über die Aggregatwurzel (Aggregate Root). Externe Objekte referenzieren das Aggregat nur über die ID der Wurzel."
"Welche Aufgabe hat eine Factory im taktischen DDD?"
"Sie kapselt die komplexe Logik bei der Erzeugung neuer, valider Aggregate, um die Geschäftslogik zu entlasten."
"Welche Aufgabe hat ein Repository im taktischen DDD?"
"Es kapselt den tatsächlichen Datenbankzugriff und simuliert für die Geschäftslogik eine reine In-Memory-Sammlung von Aggregaten."
"Wie funktioniert das Prinzip der Hexagonalen Architektur (Ports & Adapters)?"
"Die Geschäftslogik steht technologieunabhängig im Zentrum. Sie definiert abstrakte Schnittstellen (Ports). Die technische Außenwelt dockt über konkrete Adapter an."
"Was ist der Unterschied zwischen einem Inbound-Port und einem Outbound-Port?"
"Ein Inbound-Port nimmt Anfragen von außen entgegen (z.B. API-Aufruf). Ein Outbound-Port wird von der Domäne aufgerufen, um Daten nach außen zu geben (z.B. Datenbank-Persistierung)."
"Was ist Behavior-Driven Development (BDD)?"
"Eine agile Methode zur Beschreibung des Systemverhaltens durch konkrete Beispiele in natürlicher Sprache, um ein gemeinsames Verständnis aller Beteiligten zu sichern."
"Welche Syntax nutzt BDD für die Szenarienbeschreibung?"
"Die Gherkin-Syntax: Given (Ausgangssituation) -> When (Aktion) -> Then (Erwartetes Ergebnis)."
"Wer arbeitet im ""3-Amigos-Prinzip"" zusammen?"
"Business/Product Owner (fachliche Sicht), Developer (technische Sicht) und Tester (Qualitätssicht)."
"Was versteht man bei BDD unter einer ""lebenden Dokumentation""?"
"Da die verhaltensbasierten Akzeptanztests in natürlicher Sprache geschrieben sind und kontinuierlich ausgeführt werden, spiegeln sie immer den exakten Ist-Zustand des Systems wider."
"Nenne ein Kernprinzip der ""Continuous Architecture""."
"Architekturentscheidungen so spät wie möglich (wenn zwingend notwendig anhand von Fakten) treffen und Systeme explizit für stetige Veränderung designen."
"Was versteht man unter Kaskadenfehlern (Cascading Failures)?"
"Ein Domino-Effekt in verteilten Systemen, bei dem der Ausfall eines einzelnen Services durch Überlastung oder Timeouts nachfolgend weitere Services mit in den Absturz reißt."
"Wie funktioniert das Resilienz-Muster ""Circuit Breaker""?"
"Er überwacht Service-Aufrufe. Bei zu vielen Fehlern öffnet sich der Schalter (Open) und blockiert Folgeanfragen sofort mit einem schnellen Fallback, um Kaskadenfehler zu verhindern."
"Nenne die 3 Zustände eines Circuit Breakers."
"1. Closed (Normalbetrieb), 2. Open (Fehlerzustand, blockiert Anfragen), 3. Half-Open (Testphase nach Wartezeit)."
"Was passiert im Zustand ""Half-Open"" eines Circuit Breakers?"
"Es werden vereinzelte Testanfragen durchgelassen. Funktionieren sie fehlerfrei, schließt sich der Schalter (Closed). Treten Fehler auf, öffnet er sich wieder (Open)."
"Erkläre das ""Bulkhead""-Muster (Schottwände)."
"Die strikte Partitionierung von Ressourcen (z. B. Threads, CPUs) für verschiedene Systemkomponenten. Fällt ein Bereich aus, bleibt das restliche System geschützt."
Zuletzt geändertvor 13 Tagen