(function() {
  var extra = [
    {
      id: 'az104-222',
      type: 'multiple',
      domain: { en: 'Manage Azure Identities and Governance', de: 'Azure-Identitäten und Governance verwalten' },
      difficulty: 'easy',
      scenario: null,
      question: {
        en: 'Which scopes can directly contain an Azure RBAC role assignment? Choose all that apply.',
        de: 'Welche Bereiche können direkt eine Azure-RBAC-Rollenzuweisung enthalten? Wählen Sie alle zutreffenden Antworten aus.'
      },
      options: [
        { id: 'A', text: { en: 'Management group', de: 'Verwaltungsgruppe' } },
        { id: 'B', text: { en: 'Subscription', de: 'Abonnement' } },
        { id: 'C', text: { en: 'Resource group', de: 'Ressourcengruppe' } },
        { id: 'D', text: { en: 'Administrative unit', de: 'Administrative Einheit' } }
      ],
      correct: ['A', 'B', 'C'],
      explanation: {
        en: 'RBAC assignments can be created at management group, subscription, resource group, and resource scope. Administrative units are for Entra ID delegation, not Azure resource authorization scope.',
        de: 'RBAC-Zuweisungen können auf Ebene von Verwaltungsgruppe, Abonnement, Ressourcengruppe und Ressource erstellt werden. Administrative Einheiten dienen der Entra-ID-Delegation und nicht als Azure-Ressourcenautorisierungsbereich.'
      },
      hint: {
        en: 'Think about the Azure resource hierarchy, not directory objects.',
        de: 'Denken Sie an die Azure-Ressourcenhierarchie und nicht an Verzeichnisobjekte.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/role-based-access-control/overview'
    },
    {
      id: 'az104-223',
      type: 'single',
      domain: { en: 'Manage Azure Identities and Governance', de: 'Azure-Identitäten und Governance verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'You work for Contoso, Ltd. Your team needs the property that subtracts permissions.',
        de: 'Sie arbeiten für Contoso, Ltd. Ihr Team sucht nach der Eigenschaft, die Berechtigungen abzieht.'
      },
      question: {
        en: 'In the role definition, where should the excluded permission be listed?',
        de: 'Wo sollte die ausgeschlossene Berechtigung in der Rollendefinition aufgeführt werden?'
      },
      options: [
        { id: 'A', text: { en: 'AssignableScopes', de: 'AssignableScopes' } },
        { id: 'B', text: { en: 'DataActions', de: 'DataActions' } },
        { id: 'C', text: { en: 'NotActions', de: 'NotActions' } },
        { id: 'D', text: { en: 'ConditionVersion', de: 'ConditionVersion' } }
      ],
      correct: ['C'],
      explanation: {
        en: 'NotActions removes specific management operations from the broader set allowed by Actions.',
        de: 'NotActions entfernt bestimmte Verwaltungsoperationen aus der größeren Menge, die durch Actions erlaubt wird.'
      },
      hint: {
        en: 'Look for the property that subtracts permissions.',
        de: 'Suchen Sie nach der Eigenschaft, die Berechtigungen abzieht.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/role-based-access-control/custom-roles'
    },
    {
      id: 'az104-224',
      type: 'single',
      domain: { en: 'Manage Azure Identities and Governance', de: 'Azure-Identitäten und Governance verwalten' },
      difficulty: 'easy',
      scenario: {
        en: 'At Contoso, Ltd., production administrators must be able to update resources in a resource group, but no one should be able to delete them by mistake.',
        de: 'Bei Contoso, Ltd.: produktionsadministratoren sollen Ressourcen in einer Ressourcengruppe aktualisieren können, aber niemand soll sie versehentlich löschen können.'
      },
      question: {
        en: 'Which resource lock should you apply?',
        de: 'Welche Ressourcensperre sollten Sie anwenden?'
      },
      options: [
        { id: 'A', text: { en: 'ReadOnly', de: 'ReadOnly' } },
        { id: 'B', text: { en: 'CanNotDelete', de: 'CanNotDelete' } },
        { id: 'C', text: { en: 'DeleteProtected', de: 'DeleteProtected' } },
        { id: 'D', text: { en: 'NoUpdate', de: 'NoUpdate' } }
      ],
      correct: ['B'],
      explanation: {
        en: 'CanNotDelete blocks delete operations while still allowing permitted update actions.',
        de: 'CanNotDelete blockiert Löschvorgänge und erlaubt gleichzeitig weiterhin zulässige Aktualisierungsaktionen.'
      },
      hint: {
        en: 'You must stop deletion, not all changes.',
        de: 'Sie müssen das Löschen stoppen, nicht alle Änderungen.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/lock-resources'
    },
    {
      id: 'az104-225',
      type: 'single',
      domain: { en: 'Manage Azure Identities and Governance', de: 'Azure-Identitäten und Governance verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'At Fabrikam, Inc., a platform engineer must create RBAC assignments in a subscription but should not automatically receive broad rights to manage the resources themselves.',
        de: 'Bei Fabrikam, Inc.: ein Plattformingenieur muss RBAC-Zuweisungen in einem Abonnement erstellen können, soll aber nicht automatisch weitreichende Rechte zur Verwaltung der Ressourcen selbst erhalten.'
      },
      question: {
        en: 'Which built-in role is the best fit?',
        de: 'Welche integrierte Rolle passt am besten?'
      },
      options: [
        { id: 'A', text: { en: 'Reader', de: 'Leser' } },
        { id: 'B', text: { en: 'Contributor', de: 'Mitwirkender' } },
        { id: 'C', text: { en: 'User Access Administrator', de: 'Benutzerzugriffsadministrator' } },
        { id: 'D', text: { en: 'Security Reader', de: 'Sicherheitsleser' } }
      ],
      correct: ['C'],
      explanation: {
        en: 'User Access Administrator is designed for managing access assignments without granting broad resource management permissions.',
        de: 'Der Benutzerzugriffsadministrator dient der Verwaltung von Zugriffszuweisungen, ohne umfassende Berechtigungen zur Ressourcenverwaltung zu vergeben.'
      },
      hint: {
        en: 'Separate access management from resource administration.',
        de: 'Trennen Sie Zugriffsverwaltung von Ressourcenadministration.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles'
    },
    {
      id: 'az104-226',
      type: 'single',
      domain: { en: 'Manage Azure Identities and Governance', de: 'Azure-Identitäten und Governance verwalten' },
      difficulty: 'easy',
      scenario: null,
      question: {
        en: 'What is the Azure Policy object called that groups multiple policy definitions into one assignment unit?',
        de: 'Wie heißt das Azure-Policy-Objekt, das mehrere Richtliniendefinitionen zu einer Zuweisungseinheit zusammenfasst?'
      },
      options: [
        { id: 'A', text: { en: 'Policy initiative', de: 'Policy-Initiative' } },
        { id: 'B', text: { en: 'Role assignment', de: 'Rollenzuweisung' } },
        { id: 'C', text: { en: 'Blueprint artifact', de: 'Blueprint-Artefakt' } },
        { id: 'D', text: { en: 'Administrative unit', de: 'Administrative Einheit' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'A policy initiative, also called a policy set definition, groups related policies so they can be assigned together.',
        de: 'Eine Policy-Initiative, auch Policy-Set-Definition genannt, gruppiert zusammengehörige Richtlinien, damit sie gemeinsam zugewiesen werden können.'
      },
      hint: {
        en: 'It is the bundle of policy definitions.',
        de: 'Es ist das Bündel aus Richtliniendefinitionen.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/governance/policy/concepts/initiative-definition-structure'
    },
    {
      id: 'az104-227',
      type: 'single',
      domain: { en: 'Manage Azure Identities and Governance', de: 'Azure-Identitäten und Governance verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'At Northwind Traders, a tag policy is inherited from a management group. One child subscription is temporarily exempt because of a merger project, but the policy must remain assigned everywhere else.',
        de: 'Bei Northwind Traders: eine Tag-Richtlinie wird von einer Verwaltungsgruppe geerbt. Ein untergeordnetes Abonnement soll wegen eines Migrationsprojekts vorübergehend ausgenommen werden, die Richtlinie muss aber überall sonst zugewiesen bleiben.'
      },
      question: {
        en: 'What should you create?',
        de: 'Was sollten Sie erstellen?'
      },
      options: [
        { id: 'A', text: { en: 'A policy exemption', de: 'Eine Richtlinienausnahme' } },
        { id: 'B', text: { en: 'A resource lock', de: 'Eine Ressourcensperre' } },
        { id: 'C', text: { en: 'A custom role', de: 'Eine benutzerdefinierte Rolle' } },
        { id: 'D', text: { en: 'A deployment slot', de: 'Einen Bereitstellungsslot' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'A policy exemption excludes a scope from compliance evaluation for an assigned policy or initiative without removing the assignment itself.',
        de: 'Eine Richtlinienausnahme schließt einen Bereich für eine zugewiesene Richtlinie oder Initiative von der Konformitätsbewertung aus, ohne die Zuweisung selbst zu entfernen.'
      },
      hint: {
        en: 'You need a scoped exception, not a removal of the policy.',
        de: 'Sie benötigen eine bereichsbezogene Ausnahme und keine Entfernung der Richtlinie.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/governance/policy/concepts/exemption-structure'
    },
    {
      id: 'az104-228',
      type: 'single',
      domain: { en: 'Manage Azure Identities and Governance', de: 'Azure-Identitäten und Governance verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'At Contoso, Ltd., all resources must have an Environment tag. Missing tags should be added automatically during remediation.',
        de: 'Bei Contoso, Ltd.: alle Ressourcen müssen einen Environment-Tag besitzen. Fehlende Tags sollen während der Behebung automatisch hinzugefügt werden.'
      },
      question: {
        en: 'Which Azure Policy effect should you use?',
        de: 'Welchen Azure-Policy-Effekt sollten Sie verwenden?'
      },
      options: [
        { id: 'A', text: { en: 'Audit', de: 'Audit' } },
        { id: 'B', text: { en: 'Deny', de: 'Deny' } },
        { id: 'C', text: { en: 'Modify', de: 'Modify' } },
        { id: 'D', text: { en: 'Disabled', de: 'Disabled' } }
      ],
      correct: ['C'],
      explanation: {
        en: 'Modify can add or replace properties such as tags and supports remediation tasks for existing resources.',
        de: 'Modify kann Eigenschaften wie Tags hinzufügen oder ersetzen und unterstützt Behebungsaufgaben für vorhandene Ressourcen.'
      },
      hint: {
        en: 'Choose the effect that can change the resource metadata.',
        de: 'Wählen Sie den Effekt, der die Ressourcenmetadaten ändern kann.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/tag-policies'
    },
    {
      id: 'az104-229',
      type: 'single',
      domain: { en: 'Manage Azure Identities and Governance', de: 'Azure-Identitäten und Governance verwalten' },
      difficulty: 'easy',
      scenario: null,
      question: {
        en: 'What happens to a system-assigned managed identity when its Azure resource is deleted?',
        de: 'Was passiert mit einer systemseitig zugewiesenen verwalteten Identität, wenn ihre Azure-Ressource gelöscht wird?'
      },
      options: [
        { id: 'A', text: { en: 'It remains as a separate reusable identity', de: 'Sie bleibt als separate wiederverwendbare Identität bestehen' } },
        { id: 'B', text: { en: 'It is deleted with the resource', de: 'Sie wird mit der Ressource gelöscht' } },
        { id: 'C', text: { en: 'It converts to a user-assigned identity', de: 'Sie wird in eine benutzerseitig zugewiesene Identität umgewandelt' } },
        { id: 'D', text: { en: 'It moves automatically to the subscription root', de: 'Sie wird automatisch an die Abonnementwurzel verschoben' } }
      ],
      correct: ['B'],
      explanation: {
        en: 'A system-assigned managed identity is tied to the lifecycle of the resource that owns it.',
        de: 'Eine systemseitig zugewiesene verwaltete Identität ist an den Lebenszyklus der Ressource gebunden, der sie gehört.'
      },
      hint: {
        en: 'System-assigned means bound to one resource.',
        de: 'Systemseitig zugewiesen bedeutet an eine Ressource gebunden.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/overview'
    },
    {
      id: 'az104-230',
      type: 'single',
      domain: { en: 'Manage Azure Identities and Governance', de: 'Azure-Identitäten und Governance verwalten' },
      difficulty: 'easy',
      scenario: {
        en: 'At Fabrikam, Inc., an external consultant must access Azure resources in your tenant by using their existing company identity.',
        de: 'Bei Fabrikam, Inc.: ein externer Berater muss mit seiner vorhandenen Firmenidentität auf Azure-Ressourcen in Ihrem Mandanten zugreifen.'
      },
      question: {
        en: 'Which user type should you invite?',
        de: 'Welchen Benutzertyp sollten Sie einladen?'
      },
      options: [
        { id: 'A', text: { en: 'Guest user', de: 'Gastbenutzer' } },
        { id: 'B', text: { en: 'Managed identity', de: 'Verwaltete Identität' } },
        { id: 'C', text: { en: 'Device object', de: 'Geräteobjekt' } },
        { id: 'D', text: { en: 'Administrative unit member', de: 'Mitglied einer administrativen Einheit' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Azure B2B collaboration uses guest users so external people can sign in with their own identities.',
        de: 'Azure-B2B-Zusammenarbeit verwendet Gastbenutzer, damit externe Personen sich mit ihren eigenen Identitäten anmelden können.'
      },
      hint: {
        en: 'This is the external collaboration account type.',
        de: 'Dies ist der Kontotyp für externe Zusammenarbeit.'
      },
      reference: 'https://learn.microsoft.com/en-us/entra/external-id/what-is-b2b'
    },
    {
      id: 'az104-231',
      type: 'multiple',
      domain: { en: 'Manage Azure Identities and Governance', de: 'Azure-Identitäten und Governance verwalten' },
      difficulty: 'easy',
      scenario: null,
      question: {
        en: 'Which tasks are common uses of Azure tags? Choose all that apply.',
        de: 'Welche Aufgaben sind typische Verwendungszwecke von Azure-Tags? Wählen Sie alle zutreffenden Antworten aus.'
      },
      options: [
        { id: 'A', text: { en: 'Support cost reporting', de: 'Kostenberichte unterstützen' } },
        { id: 'B', text: { en: 'Filter resources for automation', de: 'Ressourcen für Automatisierung filtern' } },
        { id: 'C', text: { en: 'Organize resources by environment', de: 'Ressourcen nach Umgebung organisieren' } },
        { id: 'D', text: { en: 'Grant RBAC permissions by themselves', de: 'Allein RBAC-Berechtigungen vergeben' } }
      ],
      correct: ['A', 'B', 'C'],
      explanation: {
        en: 'Tags are metadata for organization, reporting, and automation. They do not create permissions by themselves.',
        de: 'Tags sind Metadaten für Organisation, Berichterstellung und Automatisierung. Sie erzeugen selbst keine Berechtigungen.'
      },
      hint: {
        en: 'Tags describe resources. They are not a security boundary.',
        de: 'Tags beschreiben Ressourcen. Sie sind keine Sicherheitsgrenze.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/tag-resources'
    },
    {
      id: 'az104-232',
      type: 'single',
      domain: { en: 'Manage Azure Identities and Governance', de: 'Azure-Identitäten und Governance verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'At Northwind Traders, regional helpdesk staff must reset passwords only for users in the Europe business unit and not for the rest of the tenant.',
        de: 'Bei Northwind Traders: regionale Helpdesk-Mitarbeiter sollen Kennwörter nur für Benutzer der Geschäftseinheit Europa zurücksetzen können und nicht für den Rest des Mandanten.'
      },
      question: {
        en: 'Which Microsoft Entra feature should you configure?',
        de: 'Welche Microsoft-Entra-Funktion sollten Sie konfigurieren?'
      },
      options: [
        { id: 'A', text: { en: 'Administrative unit', de: 'Administrative Einheit' } },
        { id: 'B', text: { en: 'Resource lock', de: 'Ressourcensperre' } },
        { id: 'C', text: { en: 'VPN Gateway', de: 'VPN-Gateway' } },
        { id: 'D', text: { en: 'Azure Bastion', de: 'Azure Bastion' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Administrative units let you scope delegated directory administration to a subset of users, groups, or devices.',
        de: 'Administrative Einheiten ermöglichen es, delegierte Verzeichnisverwaltung auf eine Teilmenge von Benutzern, Gruppen oder Geräten zu beschränken.'
      },
      hint: {
        en: 'You need scoped administration inside the directory.',
        de: 'Sie benötigen eine bereichsbezogene Verwaltung innerhalb des Verzeichnisses.'
      },
      reference: 'https://learn.microsoft.com/en-us/entra/identity/role-based-access-control/administrative-units'
    },
    {
      id: 'az104-233',
      type: 'single',
      domain: { en: 'Manage Azure Identities and Governance', de: 'Azure-Identitäten und Governance verwalten' },
      difficulty: 'easy',
      scenario: null,
      question: {
        en: 'How many parent management groups can a subscription belong to at the same time?',
        de: 'Zu wie vielen übergeordneten Verwaltungsgruppen kann ein Abonnement gleichzeitig gehören?'
      },
      options: [
        { id: 'A', text: { en: 'One', de: 'Einer' } },
        { id: 'B', text: { en: 'Two', de: 'Zwei' } },
        { id: 'C', text: { en: 'Ten', de: 'Zehn' } },
        { id: 'D', text: { en: 'Unlimited', de: 'Unbegrenzt' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'The management group hierarchy is a single-parent tree, so a subscription has only one direct parent at a time.',
        de: 'Die Verwaltungsgruppenhierarchie ist ein Baum mit genau einem Elternknoten, daher hat ein Abonnement jeweils nur einen direkten übergeordneten Knoten.'
      },
      hint: {
        en: 'Think tree structure, not mesh.',
        de: 'Denken Sie an eine Baumstruktur und nicht an ein Netz.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/governance/management-groups/overview'
    },
    {
      id: 'az104-234',
      type: 'single',
      domain: { en: 'Manage Azure Identities and Governance', de: 'Azure-Identitäten und Governance verwalten' },
      difficulty: 'easy',
      scenario: {
        en: 'Fabrikam, Inc. allows deployments only in West Europe and North Europe and wants all other regions blocked during deployment.',
        de: 'Fabrikam, Inc. erlaubt Bereitstellungen nur in West Europe und North Europe und möchte alle anderen Regionen während der Bereitstellung blockieren.'
      },
      question: {
        en: 'Which Azure Policy effect should you use?',
        de: 'Welchen Azure-Policy-Effekt sollten Sie verwenden?'
      },
      options: [
        { id: 'A', text: { en: 'Audit', de: 'Audit' } },
        { id: 'B', text: { en: 'Deny', de: 'Deny' } },
        { id: 'C', text: { en: 'Append', de: 'Append' } },
        { id: 'D', text: { en: 'Modify', de: 'Modify' } }
      ],
      correct: ['B'],
      explanation: {
        en: 'Deny stops create or update requests that do not comply with the policy condition.',
        de: 'Deny stoppt Erstellungs- oder Aktualisierungsanforderungen, die nicht mit der Richtlinienbedingung übereinstimmen.'
      },
      hint: {
        en: 'The request must be blocked, not only recorded.',
        de: 'Die Anforderung muss blockiert und nicht nur protokolliert werden.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/governance/policy/concepts/effect-basics'
    },
    {
      id: 'az104-235',
      type: 'single',
      domain: { en: 'Manage Azure Identities and Governance', de: 'Azure-Identitäten und Governance verwalten' },
      difficulty: 'easy',
      scenario: null,
      question: {
        en: 'Which file format is used by the Microsoft Entra bulk user creation process in the Azure portal?',
        de: 'Welches Dateiformat wird vom Prozess zur Massenerstellung von Microsoft-Entra-Benutzern im Azure-Portal verwendet?'
      },
      options: [
        { id: 'A', text: { en: 'CSV', de: 'CSV' } },
        { id: 'B', text: { en: 'ZIP', de: 'ZIP' } },
        { id: 'C', text: { en: 'Bicep', de: 'Bicep' } },
        { id: 'D', text: { en: 'VHD', de: 'VHD' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Bulk import and validation for Entra users uses CSV templates.',
        de: 'Massenimport und Validierung für Entra-Benutzer verwenden CSV-Vorlagen.'
      },
      hint: {
        en: 'It is the spreadsheet-style text format.',
        de: 'Es ist das tabellenartige Textformat.'
      },
      reference: 'https://learn.microsoft.com/en-us/entra/identity/users/users-bulk-add'
    },
    {
      id: 'az104-236',
      type: 'multiple',
      domain: { en: 'Manage Azure Identities and Governance', de: 'Azure-Identitäten und Governance verwalten' },
      difficulty: 'easy',
      scenario: null,
      question: {
        en: 'Which Azure resource lock types are valid? Choose all that apply.',
        de: 'Welche Azure-Ressourcensperrentypen sind gültig? Wählen Sie alle zutreffenden Antworten aus.'
      },
      options: [
        { id: 'A', text: { en: 'CanNotDelete', de: 'CanNotDelete' } },
        { id: 'B', text: { en: 'ReadOnly', de: 'ReadOnly' } },
        { id: 'C', text: { en: 'RestartProtected', de: 'RestartProtected' } },
        { id: 'D', text: { en: 'StopOnly', de: 'StopOnly' } }
      ],
      correct: ['A', 'B'],
      explanation: {
        en: 'Azure supports only CanNotDelete and ReadOnly as built-in lock levels.',
        de: 'Azure unterstützt nur CanNotDelete und ReadOnly als integrierte Sperrebenen.'
      },
      hint: {
        en: 'There are two built-in lock modes.',
        de: 'Es gibt zwei integrierte Sperrmodi.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/lock-resources'
    },
    {
      id: 'az104-237',
      type: 'single',
      domain: { en: 'Manage Azure Identities and Governance', de: 'Azure-Identitäten und Governance verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'The support team at Northwind Traders must start, stop, and restart virtual machines in one resource group by using least privilege.',
        de: 'Northwind Traders – Ein Supportteam muss virtuelle Computer in einer Ressourcengruppe mit minimalen Rechten starten, beenden und neu starten können.'
      },
      question: {
        en: 'Which built-in role should you assign?',
        de: 'Welche integrierte Rolle sollten Sie zuweisen?'
      },
      options: [
        { id: 'A', text: { en: 'Reader', de: 'Leser' } },
        { id: 'B', text: { en: 'Virtual Machine Contributor', de: 'Mitwirkender für virtuelle Computer' } },
        { id: 'C', text: { en: 'Owner', de: 'Besitzer' } },
        { id: 'D', text: { en: 'Billing Reader', de: 'Abrechnungsleser' } }
      ],
      correct: ['B'],
      explanation: {
        en: 'Virtual Machine Contributor is the least-privilege built-in role for common VM management operations.',
        de: 'Mitwirkender für virtuelle Computer ist die integrierte Rolle mit den geringsten Rechten für gängige VM-Verwaltungsaufgaben.'
      },
      hint: {
        en: 'Use the built-in role focused on VM operations.',
        de: 'Verwenden Sie die integrierte Rolle, die auf VM-Vorgänge ausgerichtet ist.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles'
    },
    {
      id: 'az104-238',
      type: 'single',
      domain: { en: 'Manage Azure Identities and Governance', de: 'Azure-Identitäten und Governance verwalten' },
      difficulty: 'easy',
      scenario: null,
      question: {
        en: 'Which built-in role includes full resource management permissions and the ability to delegate access?',
        de: 'Welche integrierte Rolle enthält vollständige Berechtigungen zur Ressourcenverwaltung und die Möglichkeit, Zugriff zu delegieren?'
      },
      options: [
        { id: 'A', text: { en: 'Owner', de: 'Besitzer' } },
        { id: 'B', text: { en: 'Reader', de: 'Leser' } },
        { id: 'C', text: { en: 'Security Reader', de: 'Sicherheitsleser' } },
        { id: 'D', text: { en: 'Monitoring Reader', de: 'Monitoring-Leser' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Owner can manage all resources and create role assignments for others.',
        de: 'Besitzer kann alle Ressourcen verwalten und Rollenzuweisungen für andere erstellen.'
      },
      hint: {
        en: 'Think of the highest standard built-in RBAC role.',
        de: 'Denken Sie an die höchste standardmäßige integrierte RBAC-Rolle.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles'
    },
    {
      id: 'az104-239',
      type: 'single',
      domain: { en: 'Manage Azure Identities and Governance', de: 'Azure-Identitäten und Governance verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'At Contoso, Ltd., a Reader role assignment is created at the subscription scope for a group.',
        de: 'Bei Contoso, Ltd.: eine Reader-Rollenzuweisung wird auf Abonnementebene für eine Gruppe erstellt.'
      },
      question: {
        en: 'Which scopes inherit that assignment?',
        de: 'Welche Bereiche erben diese Zuweisung?'
      },
      options: [
        { id: 'A', text: { en: 'Only the subscription root object', de: 'Nur das Stammobjekt des Abonnements' } },
        { id: 'B', text: { en: 'Resource groups and resources within the subscription', de: 'Ressourcengruppen und Ressourcen innerhalb des Abonnements' } },
        { id: 'C', text: { en: 'Only management groups above the subscription', de: 'Nur Verwaltungsgruppen oberhalb des Abonnements' } },
        { id: 'D', text: { en: 'Only Azure AD users', de: 'Nur Azure-AD-Benutzer' } }
      ],
      correct: ['B'],
      explanation: {
        en: 'RBAC assignments inherit downward from parent scope to child scopes.',
        de: 'RBAC-Zuweisungen werden von übergeordneten Bereichen nach unten an untergeordnete Bereiche vererbt.'
      },
      hint: {
        en: 'Assignments flow down the resource hierarchy.',
        de: 'Zuweisungen fließen in der Ressourcenhierarchie nach unten.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/role-based-access-control/overview'
    },
    {
      id: 'az104-240',
      type: 'single',
      domain: { en: 'Manage Azure Identities and Governance', de: 'Azure-Identitäten und Governance verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'At Contoso, Ltd., an application that runs outside Azure must authenticate to Azure resources by using an identity object in Microsoft Entra ID.',
        de: 'Contoso, Ltd. – Eine Anwendung, die außerhalb von Azure ausgeführt wird, muss sich mit einem Identitätsobjekt in Microsoft Entra ID bei Azure-Ressourcen authentifizieren.'
      },
      question: {
        en: 'Which identity object is designed for this purpose?',
        de: 'Welches Identitätsobjekt ist für diesen Zweck vorgesehen?'
      },
      options: [
        { id: 'A', text: { en: 'Service principal', de: 'Dienstprinzipal' } },
        { id: 'B', text: { en: 'Administrative unit', de: 'Administrative Einheit' } },
        { id: 'C', text: { en: 'Resource lock', de: 'Ressourcensperre' } },
        { id: 'D', text: { en: 'Availability set', de: 'Verfügbarkeitsgruppe' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Applications use service principals in Entra ID to sign in and receive tokens for Azure resources.',
        de: 'Anwendungen verwenden Dienstprinzipale in Entra ID, um sich anzumelden und Token für Azure-Ressourcen zu erhalten.'
      },
      hint: {
        en: 'This is the app identity object, not a human user.',
        de: 'Dies ist das Identitätsobjekt für Apps und kein menschlicher Benutzer.'
      },
      reference: 'https://learn.microsoft.com/en-us/entra/identity-platform/app-objects-and-service-principals'
    },
    {
      id: 'az104-241',
      type: 'multiple',
      domain: { en: 'Manage Azure Identities and Governance', de: 'Azure-Identitäten und Governance verwalten' },
      difficulty: 'medium',
      scenario: null,
      question: {
        en: 'Which Azure Policy effects are valid? Choose all that apply.',
        de: 'Welche Azure-Policy-Effekte sind gültig? Wählen Sie alle zutreffenden Antworten aus.'
      },
      options: [
        { id: 'A', text: { en: 'Audit', de: 'Audit' } },
        { id: 'B', text: { en: 'Deny', de: 'Deny' } },
        { id: 'C', text: { en: 'DeployIfNotExists', de: 'DeployIfNotExists' } },
        { id: 'D', text: { en: 'SyncResources', de: 'SyncResources' } }
      ],
      correct: ['A', 'B', 'C'],
      explanation: {
        en: 'Audit, Deny, and DeployIfNotExists are standard Azure Policy effects. SyncResources is not.',
        de: 'Audit, Deny und DeployIfNotExists sind Standardeffekte von Azure Policy. SyncResources ist keiner davon.'
      },
      hint: {
        en: 'Choose the governance effects that Azure Policy really supports.',
        de: 'Wählen Sie die Governance-Effekte aus, die Azure Policy tatsächlich unterstützt.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/governance/policy/concepts/effect-basics'
    },
    {
      id: 'az104-242',
      type: 'single',
      domain: { en: 'Implement and Manage Storage', de: 'Speicher implementieren und verwalten' },
      difficulty: 'easy',
      scenario: {
        en: 'You work for Fabrikam, Inc. You need zone resilience inside one region.',
        de: 'Sie arbeiten für Fabrikam, Inc. Sie benötigen Zonenresilienz innerhalb einer Region.'
      },
      question: {
        en: 'Which redundancy option should you choose?',
        de: 'Welche Redundanzoption sollten Sie wählen?'
      },
      options: [
        { id: 'A', text: { en: 'LRS', de: 'LRS' } },
        { id: 'B', text: { en: 'ZRS', de: 'ZRS' } },
        { id: 'C', text: { en: 'GRS', de: 'GRS' } },
        { id: 'D', text: { en: 'RA-GRS', de: 'RA-GRS' } }
      ],
      correct: ['B'],
      explanation: {
        en: 'ZRS stores data synchronously across availability zones within one region.',
        de: 'ZRS speichert Daten synchron über Verfügbarkeitszonen innerhalb einer Region.'
      },
      hint: {
        en: 'You need zone resilience inside one region.',
        de: 'Sie benötigen Zonenresilienz innerhalb einer Region.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/common/storage-redundancy'
    },
    {
      id: 'az104-243',
      type: 'single',
      domain: { en: 'Implement and Manage Storage', de: 'Speicher implementieren und verwalten' },
      difficulty: 'easy',
      scenario: null,
      question: {
        en: 'Which replication option provides a readable secondary endpoint in another region?',
        de: 'Welche Replikationsoption stellt einen lesbaren sekundären Endpunkt in einer anderen Region bereit?'
      },
      options: [
        { id: 'A', text: { en: 'LRS', de: 'LRS' } },
        { id: 'B', text: { en: 'ZRS', de: 'ZRS' } },
        { id: 'C', text: { en: 'RA-GRS', de: 'RA-GRS' } },
        { id: 'D', text: { en: 'Premium SSD', de: 'Premium SSD' } }
      ],
      correct: ['C'],
      explanation: {
        en: 'Read-access geo-redundant storage adds read access to the secondary region endpoint.',
        de: 'Read-Access Geo-Redundant Storage fügt Lesezugriff auf den Endpunkt der Sekundärregion hinzu.'
      },
      hint: {
        en: 'The name includes read-access.',
        de: 'Der Name enthält Read-Access.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/common/storage-redundancy'
    },
    {
      id: 'az104-244',
      type: 'multiple',
      domain: { en: 'Implement and Manage Storage', de: 'Speicher implementieren und verwalten' },
      difficulty: 'easy',
      scenario: null,
      question: {
        en: 'Which services can a general-purpose v2 storage account provide? Choose all that apply.',
        de: 'Welche Dienste kann ein Storage-Account vom Typ General Purpose v2 bereitstellen? Wählen Sie alle zutreffenden Antworten aus.'
      },
      options: [
        { id: 'A', text: { en: 'Blob', de: 'Blob' } },
        { id: 'B', text: { en: 'Files', de: 'Files' } },
        { id: 'C', text: { en: 'Table', de: 'Table' } },
        { id: 'D', text: { en: 'Managed disks', de: 'Verwaltete Datenträger' } }
      ],
      correct: ['A', 'B', 'C'],
      explanation: {
        en: 'General-purpose v2 accounts support Blob, Files, Queue, and Table services. Managed disks are a separate Azure resource type.',
        de: 'General-Purpose-v2-Konten unterstützen Blob-, Files-, Queue- und Table-Dienste. Verwaltete Datenträger sind ein separater Azure-Ressourcentyp.'
      },
      hint: {
        en: 'Choose storage services, not compute disks.',
        de: 'Wählen Sie Speicherdienste und keine Compute-Datenträger.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/common/storage-account-overview'
    },
    {
      id: 'az104-245',
      type: 'single',
      domain: { en: 'Implement and Manage Storage', de: 'Speicher implementieren und verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'At Fabrikam, Inc., a developer must upload blobs for a few hours without receiving the storage account key. Access should be based on Microsoft Entra authentication.',
        de: 'Bei Fabrikam, Inc.: ein Entwickler muss für einige Stunden Blobs hochladen können, ohne den Speicherkontoschlüssel zu erhalten. Der Zugriff soll auf Microsoft-Entra-Authentifizierung basieren.'
      },
      question: {
        en: 'Which SAS type should you generate?',
        de: 'Welchen SAS-Typ sollten Sie erzeugen?'
      },
      options: [
        { id: 'A', text: { en: 'User delegation SAS', de: 'User Delegation SAS' } },
        { id: 'B', text: { en: 'Account SAS', de: 'Account SAS' } },
        { id: 'C', text: { en: 'Service SAS signed by account key', de: 'Service SAS, signiert mit Kontoschlüssel' } },
        { id: 'D', text: { en: 'Stored access key', de: 'Gespeicherter Zugriffsschlüssel' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'A user delegation SAS is secured with Entra credentials and is recommended for Azure Blob Storage when possible.',
        de: 'Ein User-Delegation-SAS wird mit Entra-Anmeldeinformationen gesichert und wird nach Möglichkeit für Azure Blob Storage empfohlen.'
      },
      hint: {
        en: 'Choose the SAS that does not rely on the account key.',
        de: 'Wählen Sie den SAS, der nicht auf dem Kontoschlüssel basiert.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/common/storage-sas-overview'
    },
    {
      id: 'az104-246',
      type: 'single',
      domain: { en: 'Implement and Manage Storage', de: 'Speicher implementieren und verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'At Northwind Traders, several temporary SAS tokens for one blob container must be revoked at once without rotating the whole storage account key.',
        de: 'Bei Northwind Traders: mehrere temporäre SAS-Token für einen Blobcontainer müssen auf einmal widerrufen werden, ohne den gesamten Speicherkontoschlüssel zu rotieren.'
      },
      question: {
        en: 'What should you use?',
        de: 'Was sollten Sie verwenden?'
      },
      options: [
        { id: 'A', text: { en: 'A stored access policy', de: 'Eine gespeicherte Zugriffsrichtlinie' } },
        { id: 'B', text: { en: 'An availability set', de: 'Eine Verfügbarkeitsgruppe' } },
        { id: 'C', text: { en: 'A management group', de: 'Eine Verwaltungsgruppe' } },
        { id: 'D', text: { en: 'Azure Bastion', de: 'Azure Bastion' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'A stored access policy lets you centrally control expiration and revocation for service SAS tokens associated with a container or share.',
        de: 'Eine gespeicherte Zugriffsrichtlinie ermöglicht die zentrale Steuerung von Ablauf und Widerruf für Service-SAS-Token, die einem Container oder einer Freigabe zugeordnet sind.'
      },
      hint: {
        en: 'Use the container-level policy that governs multiple SAS tokens.',
        de: 'Verwenden Sie die Richtlinie auf Containerebene, die mehrere SAS-Token steuert.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/common/storage-sas-overview'
    },
    {
      id: 'az104-247',
      type: 'single',
      domain: { en: 'Implement and Manage Storage', de: 'Speicher implementieren und verwalten' },
      difficulty: 'easy',
      scenario: {
        en: 'You work for Northwind Traders. Use the rule engine for blob tier transitions.',
        de: 'Sie arbeiten für Northwind Traders. Verwenden Sie die Regelengine für Blob-Tier-Übergänge.'
      },
      question: {
        en: 'Which Azure feature should you configure?',
        de: 'Welche Azure-Funktion sollten Sie konfigurieren?'
      },
      options: [
        { id: 'A', text: { en: 'Blob lifecycle management', de: 'Blob-Lebenszyklusverwaltung' } },
        { id: 'B', text: { en: 'Resource locks', de: 'Ressourcensperren' } },
        { id: 'C', text: { en: 'Availability zones', de: 'Verfügbarkeitszonen' } },
        { id: 'D', text: { en: 'Management groups', de: 'Verwaltungsgruppen' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Lifecycle management rules can tier or delete blobs automatically based on age and other conditions.',
        de: 'Lebenszyklusverwaltungsregeln können Blobs basierend auf Alter und anderen Bedingungen automatisch in andere Tiers verschieben oder löschen.'
      },
      hint: {
        en: 'Use the rule engine for blob tier transitions.',
        de: 'Verwenden Sie die Regelengine für Blob-Tier-Übergänge.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/blobs/lifecycle-management-overview'
    },
    {
      id: 'az104-248',
      type: 'single',
      domain: { en: 'Implement and Manage Storage', de: 'Speicher implementieren und verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'At Contoso, Ltd., several on-premises Windows servers need a local cache of an Azure file share, and cold files should stay mainly in Azure to save local disk space.',
        de: 'Bei Contoso, Ltd.: mehrere lokale Windows-Server benötigen einen lokalen Cache einer Azure-Dateifreigabe, und selten verwendete Dateien sollen zur Einsparung von lokalem Speicher hauptsächlich in Azure bleiben.'
      },
      question: {
        en: 'Which solution should you deploy?',
        de: 'Welche Lösung sollten Sie bereitstellen?'
      },
      options: [
        { id: 'A', text: { en: 'Azure File Sync', de: 'Azure File Sync' } },
        { id: 'B', text: { en: 'Traffic Manager', de: 'Traffic Manager' } },
        { id: 'C', text: { en: 'Azure Bastion', de: 'Azure Bastion' } },
        { id: 'D', text: { en: 'Application Gateway', de: 'Application Gateway' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Azure File Sync keeps an Azure file share as the cloud endpoint while Windows Servers cache active data and use cloud tiering for less-used files.',
        de: 'Azure File Sync behält eine Azure-Dateifreigabe als Cloudendpunkt bei, während Windows-Server aktive Daten zwischenspeichern und Cloud Tiering für weniger genutzte Dateien verwenden.'
      },
      hint: {
        en: 'Think hybrid file share with local cache and cloud tiering.',
        de: 'Denken Sie an eine hybride Dateifreigabe mit lokalem Cache und Cloud Tiering.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/file-sync/file-sync-cloud-tiering-overview'
    },
    {
      id: 'az104-249',
      type: 'single',
      domain: { en: 'Implement and Manage Storage', de: 'Speicher implementieren und verwalten' },
      difficulty: 'medium',
      scenario: null,
      question: {
        en: 'Which storage account kind is used for premium Azure file shares?',
        de: 'Welcher Speicherkontotyp wird für Premium-Azure-Dateifreigaben verwendet?'
      },
      options: [
        { id: 'A', text: { en: 'StorageV2', de: 'StorageV2' } },
        { id: 'B', text: { en: 'BlobStorage', de: 'BlobStorage' } },
        { id: 'C', text: { en: 'FileStorage', de: 'FileStorage' } },
        { id: 'D', text: { en: 'BlockBlobStorage', de: 'BlockBlobStorage' } }
      ],
      correct: ['C'],
      explanation: {
        en: 'Premium Azure Files uses the FileStorage account kind.',
        de: 'Premium Azure Files verwendet den Kontotyp FileStorage.'
      },
      hint: {
        en: 'The answer contains the word file.',
        de: 'Die Antwort enthält das Wort File.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/files/storage-files-planning'
    },
    {
      id: 'az104-250',
      type: 'multiple',
      domain: { en: 'Implement and Manage Storage', de: 'Speicher implementieren und verwalten' },
      difficulty: 'easy',
      scenario: null,
      question: {
        en: 'Which blob access tiers are valid? Choose all that apply.',
        de: 'Welche Blob-Zugriffsebenen sind gültig? Wählen Sie alle zutreffenden Antworten aus.'
      },
      options: [
        { id: 'A', text: { en: 'Hot', de: 'Hot' } },
        { id: 'B', text: { en: 'Cool', de: 'Cool' } },
        { id: 'C', text: { en: 'Archive', de: 'Archive' } },
        { id: 'D', text: { en: 'Standard', de: 'Standard' } }
      ],
      correct: ['A', 'B', 'C'],
      explanation: {
        en: 'Azure Blob Storage supports Hot, Cool, and Archive access tiers.',
        de: 'Azure Blob Storage unterstützt die Zugriffsebenen Hot, Cool und Archive.'
      },
      hint: {
        en: 'Choose the three well-known blob tiers.',
        de: 'Wählen Sie die drei bekannten Blob-Tiers.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/blobs/access-tiers-overview'
    },
    {
      id: 'az104-251',
      type: 'single',
      domain: { en: 'Implement and Manage Storage', de: 'Speicher implementieren und verwalten' },
      difficulty: 'easy',
      scenario: {
        en: 'At Fabrikam, Inc., a blob was deleted accidentally, and you want to restore it within the retention period.',
        de: 'Bei Fabrikam, Inc.: ein Blob wurde versehentlich gelöscht, und Sie möchten ihn innerhalb des Aufbewahrungszeitraums wiederherstellen.'
      },
      question: {
        en: 'Which feature should be enabled?',
        de: 'Welche Funktion sollte aktiviert sein?'
      },
      options: [
        { id: 'A', text: { en: 'Blob soft delete', de: 'Blob Soft Delete' } },
        { id: 'B', text: { en: 'NSG flow logs', de: 'NSG-Flowlogs' } },
        { id: 'C', text: { en: 'Azure Bastion', de: 'Azure Bastion' } },
        { id: 'D', text: { en: 'Management groups', de: 'Verwaltungsgruppen' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Blob soft delete retains deleted data for a configured period so it can be recovered.',
        de: 'Blob Soft Delete bewahrt gelöschte Daten für einen konfigurierten Zeitraum auf, sodass sie wiederhergestellt werden können.'
      },
      hint: {
        en: 'Use the delete-protection feature for blobs.',
        de: 'Verwenden Sie die Löschschutzfunktion für Blobs.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/blobs/soft-delete-blob-overview'
    },
    {
      id: 'az104-252',
      type: 'single',
      domain: { en: 'Implement and Manage Storage', de: 'Speicher implementieren und verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'At Contoso, Ltd., a storage account must remain available even if one availability zone in the region fails, but cross-region replication is not required.',
        de: 'Bei Contoso, Ltd. muss verfügbar bleiben, auch wenn eine Verfügbarkeitszone in der Region ausfällt, aber eine regionsübergreifende Replikation ist nicht erforderlich.'
      },
      question: {
        en: 'Which redundancy option meets the requirement?',
        de: 'Welche Redundanzoption erfüllt die Anforderung?'
      },
      options: [
        { id: 'A', text: { en: 'ZRS', de: 'ZRS' } },
        { id: 'B', text: { en: 'LRS', de: 'LRS' } },
        { id: 'C', text: { en: 'GRS', de: 'GRS' } },
        { id: 'D', text: { en: 'RA-GRS', de: 'RA-GRS' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'ZRS keeps synchronous copies across zones in one region and does not add cross-region replication.',
        de: 'ZRS hält synchrone Kopien über Zonen in einer Region und fügt keine regionsübergreifende Replikation hinzu.'
      },
      hint: {
        en: 'Zone protection matters more than a secondary region.',
        de: 'Zonenschutz ist wichtiger als eine Sekundärregion.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/common/storage-redundancy'
    },
    {
      id: 'az104-253',
      type: 'single',
      domain: { en: 'Implement and Manage Storage', de: 'Speicher implementieren und verwalten' },
      difficulty: 'hard',
      scenario: {
        en: 'You work for Fabrikam, Inc. This is the same foundational feature used by Data Lake Storage Gen2.',
        de: 'Sie arbeiten für Fabrikam, Inc. Dies ist dieselbe grundlegende Funktion, die auch von Data Lake Storage Gen2 verwendet wird.'
      },
      question: {
        en: 'Which feature must be enabled on the storage account?',
        de: 'Welche Funktion muss für das Speicherkonto aktiviert sein?'
      },
      options: [
        { id: 'A', text: { en: 'Hierarchical namespace', de: 'Hierarchischer Namespace' } },
        { id: 'B', text: { en: 'Read access geo redundancy', de: 'Read Access Geo Redundancy' } },
        { id: 'C', text: { en: 'Azure File Sync', de: 'Azure File Sync' } },
        { id: 'D', text: { en: 'DNS alias', de: 'DNS-Alias' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'SFTP for Azure Blob Storage requires a storage account with the hierarchical namespace feature enabled.',
        de: 'SFTP für Azure Blob Storage erfordert ein Speicherkonto mit aktiviertem hierarchischem Namespace.'
      },
      hint: {
        en: 'This is the same foundational feature used by Data Lake Storage Gen2.',
        de: 'Dies ist dieselbe grundlegende Funktion, die auch von Data Lake Storage Gen2 verwendet wird.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/blobs/secure-file-transfer-protocol-support'
    },
    {
      id: 'az104-254',
      type: 'single',
      domain: { en: 'Implement and Manage Storage', de: 'Speicher implementieren und verwalten' },
      difficulty: 'easy',
      scenario: {
        en: 'You work for Northwind Traders. Use the dedicated Azure Storage copy tool.',
        de: 'Sie arbeiten für Northwind Traders. Verwenden Sie das dedizierte Azure-Storage-Kopiertool.'
      },
      question: {
        en: 'Which tool should you use?',
        de: 'Welches Tool sollten Sie verwenden?'
      },
      options: [
        { id: 'A', text: { en: 'AzCopy', de: 'AzCopy' } },
        { id: 'B', text: { en: 'Sysprep', de: 'Sysprep' } },
        { id: 'C', text: { en: 'Msiexec', de: 'Msiexec' } },
        { id: 'D', text: { en: 'Route print', de: 'Route print' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'AzCopy is the optimized command-line utility for transferring data to and from Azure Storage.',
        de: 'AzCopy ist das optimierte Befehlszeilenprogramm zum Übertragen von Daten zu und von Azure Storage.'
      },
      hint: {
        en: 'Use the dedicated Azure Storage copy tool.',
        de: 'Verwenden Sie das dedizierte Azure-Storage-Kopiertool.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/common/storage-use-azcopy-v10'
    },
    {
      id: 'az104-255',
      type: 'multiple',
      domain: { en: 'Implement and Manage Storage', de: 'Speicher implementieren und verwalten' },
      difficulty: 'medium',
      scenario: null,
      question: {
        en: 'Which protocols are supported for Azure Files? Choose all that apply.',
        de: 'Welche Protokolle werden von Azure Files unterstützt? Wählen Sie alle zutreffenden Antworten aus.'
      },
      options: [
        { id: 'A', text: { en: 'SMB', de: 'SMB' } },
        { id: 'B', text: { en: 'NFS', de: 'NFS' } },
        { id: 'C', text: { en: 'SMTP', de: 'SMTP' } },
        { id: 'D', text: { en: 'POP3', de: 'POP3' } }
      ],
      correct: ['A', 'B'],
      explanation: {
        en: 'Azure Files supports SMB and NFS for file share access.',
        de: 'Azure Files unterstützt SMB und NFS für den Zugriff auf Dateifreigaben.'
      },
      hint: {
        en: 'Pick the file-sharing protocols.',
        de: 'Wählen Sie die Dateifreigabeprotokolle aus.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/files/storage-files-introduction'
    },
    {
      id: 'az104-256',
      type: 'single',
      domain: { en: 'Implement and Manage Storage', de: 'Speicher implementieren und verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'At Northwind Traders, a SAS token must cover multiple storage services in one account and is acceptable to sign with the account key.',
        de: 'Bei Northwind Traders: ein SAS-Token muss mehrere Speicherdienste in einem Konto abdecken und darf mit dem Kontoschlüssel signiert werden.'
      },
      question: {
        en: 'Which SAS type should you use?',
        de: 'Welchen SAS-Typ sollten Sie verwenden?'
      },
      options: [
        { id: 'A', text: { en: 'User delegation SAS', de: 'User Delegation SAS' } },
        { id: 'B', text: { en: 'Account SAS', de: 'Account SAS' } },
        { id: 'C', text: { en: 'Service SAS limited to one service', de: 'Service SAS, auf einen Dienst begrenzt' } },
        { id: 'D', text: { en: 'Managed identity SAS', de: 'Managed Identity SAS' } }
      ],
      correct: ['B'],
      explanation: {
        en: 'An account SAS can delegate access across multiple services in one storage account and is signed with the account key.',
        de: 'Ein Account SAS kann Zugriff auf mehrere Dienste innerhalb eines Speicherkontos delegieren und wird mit dem Kontoschlüssel signiert.'
      },
      hint: {
        en: 'Choose the broad SAS that spans services in one account.',
        de: 'Wählen Sie den breiten SAS, der Dienste in einem Konto abdeckt.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/common/storage-sas-overview'
    },
    {
      id: 'az104-257',
      type: 'single',
      domain: { en: 'Implement and Manage Storage', de: 'Speicher implementieren und verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'At Contoso, Ltd., finance records in blob storage must be protected from modification or deletion for a fixed retention period.',
        de: 'Bei Contoso, Ltd.: finanzunterlagen im Blob Storage müssen für einen festen Aufbewahrungszeitraum vor Änderung oder Löschung geschützt werden.'
      },
      question: {
        en: 'Which feature should you use?',
        de: 'Welche Funktion sollten Sie verwenden?'
      },
      options: [
        { id: 'A', text: { en: 'Immutable blob storage', de: 'Unveränderlicher Blob-Speicher' } },
        { id: 'B', text: { en: 'Traffic Manager', de: 'Traffic Manager' } },
        { id: 'C', text: { en: 'Application security group', de: 'Anwendungssicherheitsgruppe' } },
        { id: 'D', text: { en: 'CanNotDelete lock on the subscription', de: 'CanNotDelete-Sperre auf dem Abonnement' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Immutable blob storage supports time-based retention and legal hold to protect data from change or deletion.',
        de: 'Unveränderlicher Blob-Speicher unterstützt zeitbasierte Aufbewahrung und Legal Hold, um Daten vor Änderung oder Löschung zu schützen.'
      },
      hint: {
        en: 'Think WORM-style protection for blobs.',
        de: 'Denken Sie an WORM-ähnlichen Schutz für Blobs.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/blobs/immutable-storage-overview'
    },
    {
      id: 'az104-258',
      type: 'single',
      domain: { en: 'Implement and Manage Storage', de: 'Speicher implementieren und verwalten' },
      difficulty: 'medium',
      scenario: null,
      question: {
        en: 'In Azure File Sync, what does cloud tiering do?',
        de: 'Was bewirkt Cloud Tiering in Azure File Sync?'
      },
      options: [
        { id: 'A', text: { en: 'Moves cold files from the server while keeping namespace metadata local', de: 'Verschiebt selten genutzte Dateien vom Server und behält Namespace-Metadaten lokal' } },
        { id: 'B', text: { en: 'Converts blobs into managed disks', de: 'Wandelt Blobs in verwaltete Datenträger um' } },
        { id: 'C', text: { en: 'Creates VPN tunnels for file shares', de: 'Erstellt VPN-Tunnel für Dateifreigaben' } },
        { id: 'D', text: { en: 'Adds read access to a secondary region', de: 'Fügt Lesezugriff auf eine Sekundärregion hinzu' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Cloud tiering frees local disk space by keeping only hot files cached locally and storing cold data in Azure Files.',
        de: 'Cloud Tiering gibt lokalen Speicherplatz frei, indem nur häufig genutzte Dateien lokal zwischengespeichert und selten genutzte Daten in Azure Files gespeichert werden.'
      },
      hint: {
        en: 'It optimizes local server storage usage.',
        de: 'Es optimiert die Nutzung des lokalen Serverspeichers.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/file-sync/file-sync-cloud-tiering-overview'
    },
    {
      id: 'az104-259',
      type: 'multiple',
      domain: { en: 'Implement and Manage Storage', de: 'Speicher implementieren und verwalten' },
      difficulty: 'easy',
      scenario: null,
      question: {
        en: 'Which storage redundancy options are valid? Choose all that apply.',
        de: 'Welche Speicherredundanzoptionen sind gültig? Wählen Sie alle zutreffenden Antworten aus.'
      },
      options: [
        { id: 'A', text: { en: 'LRS', de: 'LRS' } },
        { id: 'B', text: { en: 'GRS', de: 'GRS' } },
        { id: 'C', text: { en: 'ZRS', de: 'ZRS' } },
        { id: 'D', text: { en: 'XRS', de: 'XRS' } }
      ],
      correct: ['A', 'B', 'C'],
      explanation: {
        en: 'LRS, GRS, and ZRS are supported redundancy options. XRS is not an Azure storage redundancy mode.',
        de: 'LRS, GRS und ZRS sind unterstützte Redundanzoptionen. XRS ist kein Azure-Speicherredundanzmodus.'
      },
      hint: {
        en: 'Pick the standard Azure redundancy acronyms.',
        de: 'Wählen Sie die standardmäßigen Azure-Redundanzkürzel aus.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/common/storage-redundancy'
    },
    {
      id: 'az104-260',
      type: 'single',
      domain: { en: 'Implement and Manage Storage', de: 'Speicher implementieren und verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'At Contoso, Ltd., a storage account must be accessed from a subnet by using a private IP address in the virtual network.',
        de: 'Contoso, Ltd. – Auf ein Speicherkonto soll von einem Subnetz aus über eine private IP-Adresse im virtuellen Netzwerk zugegriffen werden.'
      },
      question: {
        en: 'Which networking feature should you use?',
        de: 'Welche Netzwerkfunktion sollten Sie verwenden?'
      },
      options: [
        { id: 'A', text: { en: 'Private endpoint', de: 'Privater Endpunkt' } },
        { id: 'B', text: { en: 'Service tag', de: 'Diensttag' } },
        { id: 'C', text: { en: 'Management group', de: 'Verwaltungsgruppe' } },
        { id: 'D', text: { en: 'Availability set', de: 'Verfügbarkeitsgruppe' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'A private endpoint maps the storage service to a private IP in your subnet.',
        de: 'Ein privater Endpunkt ordnet den Speicherdienst einer privaten IP-Adresse in Ihrem Subnetz zu.'
      },
      hint: {
        en: 'The service must appear inside the VNet by private IP.',
        de: 'Der Dienst muss innerhalb des VNets mit privater IP erscheinen.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/private-link/private-endpoint-overview'
    },
    {
      id: 'az104-261',
      type: 'single',
      domain: { en: 'Implement and Manage Storage', de: 'Speicher implementieren und verwalten' },
      difficulty: 'hard',
      scenario: {
        en: 'You work for Fabrikam, Inc. You need both zones and read-access geo replication.',
        de: 'Sie arbeiten für Fabrikam, Inc. Sie benötigen sowohl Zonen als auch Read-Access-Georeplikation.'
      },
      question: {
        en: 'Which storage redundancy option should you choose?',
        de: 'Welche Speicherredundanzoption sollten Sie wählen?'
      },
      options: [
        { id: 'A', text: { en: 'GRS', de: 'GRS' } },
        { id: 'B', text: { en: 'RA-GZRS', de: 'RA-GZRS' } },
        { id: 'C', text: { en: 'LRS', de: 'LRS' } },
        { id: 'D', text: { en: 'ZRS', de: 'ZRS' } }
      ],
      correct: ['B'],
      explanation: {
        en: 'RA-GZRS combines zone redundancy in the primary region with geo-replication and read access to the secondary region.',
        de: 'RA-GZRS kombiniert Zonenredundanz in der Primärregion mit Georeplikation und Lesezugriff auf die Sekundärregion.'
      },
      hint: {
        en: 'You need both zones and read-access geo replication.',
        de: 'Sie benötigen sowohl Zonen als auch Read-Access-Georeplikation.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/common/storage-redundancy'
    },
    {
      id: 'az104-262',
      type: 'single',
      domain: { en: 'Deploy and Manage Azure Compute Resources', de: 'Azure-Compute-Ressourcen bereitstellen und verwalten' },
      difficulty: 'easy',
      scenario: {
        en: 'At Fabrikam, Inc., administrators need browser-based RDP and SSH access to Azure virtual machines without assigning public IP addresses to the VMs.',
        de: 'Bei Fabrikam, Inc.: administratoren benötigen browserbasierten RDP- und SSH-Zugriff auf Azure-VMs, ohne den VMs öffentliche IP-Adressen zuzuweisen.'
      },
      question: {
        en: 'Which Azure service should you deploy?',
        de: 'Welchen Azure-Dienst sollten Sie bereitstellen?'
      },
      options: [
        { id: 'A', text: { en: 'Azure Bastion', de: 'Azure Bastion' } },
        { id: 'B', text: { en: 'Azure Front Door', de: 'Azure Front Door' } },
        { id: 'C', text: { en: 'Traffic Manager', de: 'Traffic Manager' } },
        { id: 'D', text: { en: 'ExpressRoute', de: 'ExpressRoute' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Azure Bastion provides secure RDP and SSH connectivity through the Azure portal without public IPs on target VMs.',
        de: 'Azure Bastion stellt sichere RDP- und SSH-Konnektivität über das Azure-Portal bereit, ohne öffentliche IPs auf den Ziel-VMs.'
      },
      hint: {
        en: 'It is the managed jump service in Azure.',
        de: 'Dies ist der verwaltete Jump-Dienst in Azure.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/bastion/bastion-overview'
    },
    {
      id: 'az104-263',
      type: 'single',
      domain: { en: 'Deploy and Manage Azure Compute Resources', de: 'Azure-Compute-Ressourcen bereitstellen und verwalten' },
      difficulty: 'easy',
      scenario: {
        en: 'You work for Northwind Traders. It transpiles to ARM JSON.',
        de: 'Sie arbeiten für Northwind Traders. Sie wird in ARM-JSON transpiliert.'
      },
      question: {
        en: 'Which language should you use?',
        de: 'Welche Sprache sollten Sie verwenden?'
      },
      options: [
        { id: 'A', text: { en: 'Bicep', de: 'Bicep' } },
        { id: 'B', text: { en: 'KQL', de: 'KQL' } },
        { id: 'C', text: { en: 'T-SQL', de: 'T-SQL' } },
        { id: 'D', text: { en: 'Power Query', de: 'Power Query' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Bicep is the concise domain-specific language for deploying Azure resources through ARM.',
        de: 'Bicep ist die kompakte domänenspezifische Sprache zum Bereitstellen von Azure-Ressourcen über ARM.'
      },
      hint: {
        en: 'It transpiles to ARM JSON.',
        de: 'Sie wird in ARM-JSON transpiliert.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-resource-manager/bicep/overview'
    },
    {
      id: 'az104-264',
      type: 'multiple',
      domain: { en: 'Deploy and Manage Azure Compute Resources', de: 'Azure-Compute-Ressourcen bereitstellen und verwalten' },
      difficulty: 'medium',
      scenario: null,
      question: {
        en: 'Which capabilities are provided by Virtual Machine Scale Sets? Choose all that apply.',
        de: 'Welche Funktionen bieten Virtual Machine Scale Sets? Wählen Sie alle zutreffenden Antworten aus.'
      },
      options: [
        { id: 'A', text: { en: 'Scale out identical VM instances', de: 'Skalierung identischer VM-Instanzen' } },
        { id: 'B', text: { en: 'Automatic scaling based on demand', de: 'Automatische Skalierung basierend auf Bedarf' } },
        { id: 'C', text: { en: 'Integration with load balancing', de: 'Integration mit Lastverteilung' } },
        { id: 'D', text: { en: 'Hosting management groups', de: 'Hosting von Verwaltungsgruppen' } }
      ],
      correct: ['A', 'B', 'C'],
      explanation: {
        en: 'VM scale sets are designed for large numbers of similar VMs with scaling and load balancing support.',
        de: 'VM Scale Sets sind für große Mengen ähnlicher VMs mit Skalierungs- und Lastverteilungsunterstützung ausgelegt.'
      },
      hint: {
        en: 'Think elastic fleets of similar VMs.',
        de: 'Denken Sie an elastische Flotten ähnlicher VMs.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/virtual-machine-scale-sets/overview'
    },
    {
      id: 'az104-265',
      type: 'single',
      domain: { en: 'Deploy and Manage Azure Compute Resources', de: 'Azure-Compute-Ressourcen bereitstellen und verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'You work for Contoso, Ltd. Use the Windows image generalization tool.',
        de: 'Sie arbeiten für Contoso, Ltd. Verwenden Sie das Windows-Tool zur Image-Generalisation.'
      },
      question: {
        en: 'Which tool should you run inside the VM before generalizing it?',
        de: 'Welches Tool sollten Sie innerhalb der VM ausführen, bevor Sie sie generalisieren?'
      },
      options: [
        { id: 'A', text: { en: 'Sysprep', de: 'Sysprep' } },
        { id: 'B', text: { en: 'AzCopy', de: 'AzCopy' } },
        { id: 'C', text: { en: 'Kubelet', de: 'Kubelet' } },
        { id: 'D', text: { en: 'Dnsmasq', de: 'Dnsmasq' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'For Windows images, Sysprep removes machine-specific information before the VM is generalized and captured.',
        de: 'Für Windows-Images entfernt Sysprep computerspezifische Informationen, bevor die VM generalisiert und erfasst wird.'
      },
      hint: {
        en: 'Use the Windows image generalization tool.',
        de: 'Verwenden Sie das Windows-Tool zur Image-Generalisation.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/virtual-machines/generalize'
    },
    {
      id: 'az104-266',
      type: 'single',
      domain: { en: 'Deploy and Manage Azure Compute Resources', de: 'Azure-Compute-Ressourcen bereitstellen und verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'You work for Fabrikam, Inc. Use the central image publishing service.',
        de: 'Sie arbeiten für Fabrikam, Inc. Verwenden Sie den zentralen Dienst zum Veröffentlichen von Images.'
      },
      question: {
        en: 'Which Azure service is the best fit?',
        de: 'Welcher Azure-Dienst passt am besten?'
      },
      options: [
        { id: 'A', text: { en: 'Azure Compute Gallery', de: 'Azure Compute Gallery' } },
        { id: 'B', text: { en: 'Traffic Manager', de: 'Traffic Manager' } },
        { id: 'C', text: { en: 'Azure Policy', de: 'Azure Policy' } },
        { id: 'D', text: { en: 'Azure DNS', de: 'Azure DNS' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Azure Compute Gallery is designed to distribute and version custom VM images at scale across subscriptions and regions.',
        de: 'Azure Compute Gallery dient dazu, benutzerdefinierte VM-Images im großen Maßstab über Abonnements und Regionen hinweg zu verteilen und zu versionieren.'
      },
      hint: {
        en: 'Use the central image publishing service.',
        de: 'Verwenden Sie den zentralen Dienst zum Veröffentlichen von Images.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/virtual-machines/azure-compute-gallery'
    },
    {
      id: 'az104-267',
      type: 'single',
      domain: { en: 'Deploy and Manage Azure Compute Resources', de: 'Azure-Compute-Ressourcen bereitstellen und verwalten' },
      difficulty: 'easy',
      scenario: {
        en: 'At Northwind Traders, a web application in App Service needs zero-downtime deployment and quick rollback during updates.',
        de: 'Bei Northwind Traders in App Service benötigt Bereitstellungen ohne Ausfallzeit und schnelles Rollback während Updates.'
      },
      question: {
        en: 'Which App Service feature should you use?',
        de: 'Welche App-Service-Funktion sollten Sie verwenden?'
      },
      options: [
        { id: 'A', text: { en: 'Deployment slots', de: 'Bereitstellungsslots' } },
        { id: 'B', text: { en: 'Resource locks', de: 'Ressourcensperren' } },
        { id: 'C', text: { en: 'Azure Backup vault', de: 'Azure-Backup-Vault' } },
        { id: 'D', text: { en: 'Management groups', de: 'Verwaltungsgruppen' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Deployment slots let you warm up a new version and then swap it into production with minimal interruption.',
        de: 'Bereitstellungsslots ermöglichen es, eine neue Version aufzuwärmen und sie dann mit minimaler Unterbrechung in die Produktion zu tauschen.'
      },
      hint: {
        en: 'Think staging and swap.',
        de: 'Denken Sie an Staging und Swap.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/app-service/deploy-staging-slots'
    },
    {
      id: 'az104-268',
      type: 'single',
      domain: { en: 'Deploy and Manage Azure Compute Resources', de: 'Azure-Compute-Ressourcen bereitstellen und verwalten' },
      difficulty: 'easy',
      scenario: {
        en: 'You work for Contoso, Ltd. Your team needs the simplest managed container runtime in Azure.',
        de: 'Sie arbeiten für Contoso, Ltd. Ihr Team benötigt die einfachste verwaltete Containerlaufzeit in Azure.'
      },
      question: {
        en: 'Which service should you use?',
        de: 'Welchen Dienst sollten Sie verwenden?'
      },
      options: [
        { id: 'A', text: { en: 'Azure Container Instances', de: 'Azure Container Instances' } },
        { id: 'B', text: { en: 'Azure Compute Gallery', de: 'Azure Compute Gallery' } },
        { id: 'C', text: { en: 'Azure Firewall', de: 'Azure Firewall' } },
        { id: 'D', text: { en: 'Azure DNS Private Resolver', de: 'Azure DNS Private Resolver' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Azure Container Instances provides fast serverless container execution for simple workloads.',
        de: 'Azure Container Instances bietet eine schnelle serverlose Containerausführung für einfache Workloads.'
      },
      hint: {
        en: 'Choose the simplest managed container runtime in Azure.',
        de: 'Wählen Sie die einfachste verwaltete Containerlaufzeit in Azure.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/container-instances/container-instances-overview'
    },
    {
      id: 'az104-269',
      type: 'single',
      domain: { en: 'Deploy and Manage Azure Compute Resources', de: 'Azure-Compute-Ressourcen bereitstellen und verwalten' },
      difficulty: 'easy',
      scenario: null,
      question: {
        en: 'Which part of an AKS cluster is managed by Microsoft Azure as part of the service?',
        de: 'Welcher Teil eines AKS-Clusters wird als Teil des Dienstes von Microsoft Azure verwaltet?'
      },
      options: [
        { id: 'A', text: { en: 'The Kubernetes control plane', de: 'Die Kubernetes-Steuerungsebene' } },
        { id: 'B', text: { en: 'Every pod image in the cluster', de: 'Jedes Pod-Image im Cluster' } },
        { id: 'C', text: { en: 'All application code', de: 'Der gesamte Anwendungscode' } },
        { id: 'D', text: { en: 'All on-premises network devices', de: 'Alle lokalen Netzwerkgeräte' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'AKS is a managed Kubernetes service in which Azure operates the control plane.',
        de: 'AKS ist ein verwalteter Kubernetes-Dienst, bei dem Azure die Steuerungsebene betreibt.'
      },
      hint: {
        en: 'AKS reduces the operational burden of cluster management.',
        de: 'AKS reduziert den Betriebsaufwand der Clusterverwaltung.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/aks/what-is-aks'
    },
    {
      id: 'az104-270',
      type: 'single',
      domain: { en: 'Deploy and Manage Azure Compute Resources', de: 'Azure-Compute-Ressourcen bereitstellen und verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'At Northwind Traders, a new VM must run a bootstrap script right after deployment to install packages and configure the application.',
        de: 'Bei Northwind Traders: eine neue VM muss direkt nach der Bereitstellung ein Bootstrap-Skript ausführen, um Pakete zu installieren und die Anwendung zu konfigurieren.'
      },
      question: {
        en: 'Which VM feature should you use?',
        de: 'Welche VM-Funktion sollten Sie verwenden?'
      },
      options: [
        { id: 'A', text: { en: 'Custom Script Extension', de: 'Custom Script Extension' } },
        { id: 'B', text: { en: 'Route table', de: 'Routingtabelle' } },
        { id: 'C', text: { en: 'Administrative unit', de: 'Administrative Einheit' } },
        { id: 'D', text: { en: 'Traffic Manager', de: 'Traffic Manager' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'The Custom Script Extension downloads and runs scripts on Azure VMs after deployment.',
        de: 'Die Custom Script Extension lädt Skripte herunter und führt sie nach der Bereitstellung auf Azure-VMs aus.'
      },
      hint: {
        en: 'Use the extension made for post-deployment scripting.',
        de: 'Verwenden Sie die Erweiterung, die für Skriptausführung nach der Bereitstellung gedacht ist.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/virtual-machines/extensions/custom-script-linux'
    },
    {
      id: 'az104-271',
      type: 'multiple',
      domain: { en: 'Deploy and Manage Azure Compute Resources', de: 'Azure-Compute-Ressourcen bereitstellen und verwalten' },
      difficulty: 'easy',
      scenario: null,
      question: {
        en: 'Which Azure managed disk types are valid? Choose all that apply.',
        de: 'Welche Typen von verwalteten Azure-Datenträgern sind gültig? Wählen Sie alle zutreffenden Antworten aus.'
      },
      options: [
        { id: 'A', text: { en: 'Standard HDD', de: 'Standard HDD' } },
        { id: 'B', text: { en: 'Premium SSD', de: 'Premium SSD' } },
        { id: 'C', text: { en: 'Ultra Disk', de: 'Ultra Disk' } },
        { id: 'D', text: { en: 'Tape Archive', de: 'Tape Archive' } }
      ],
      correct: ['A', 'B', 'C'],
      explanation: {
        en: 'Azure managed disks include types such as Standard HDD, Standard SSD, Premium SSD, and Ultra Disk. Tape Archive is not one of them.',
        de: 'Zu den verwalteten Azure-Datenträgern gehören Typen wie Standard HDD, Standard SSD, Premium SSD und Ultra Disk. Tape Archive gehört nicht dazu.'
      },
      hint: {
        en: 'Choose the disk SKUs offered by Azure VMs.',
        de: 'Wählen Sie die Datenträger-SKUs, die von Azure-VMs angeboten werden.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/virtual-machines/disks-types'
    },
    {
      id: 'az104-272',
      type: 'single',
      domain: { en: 'Deploy and Manage Azure Compute Resources', de: 'Azure-Compute-Ressourcen bereitstellen und verwalten' },
      difficulty: 'medium',
      scenario: null,
      question: {
        en: 'What is the purpose of an availability set for Azure virtual machines?',
        de: 'Was ist der Zweck einer Verfügbarkeitsgruppe für Azure-VMs?'
      },
      options: [
        { id: 'A', text: { en: 'Distribute VMs across fault and update domains', de: 'VMs über Fehler- und Updatedomänen verteilen' } },
        { id: 'B', text: { en: 'Provide browser-based SSH only', de: 'Nur browserbasiertes SSH bereitstellen' } },
        { id: 'C', text: { en: 'Store VM backups', de: 'VM-Backups speichern' } },
        { id: 'D', text: { en: 'Translate Bicep to ARM', de: 'Bicep in ARM übersetzen' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Availability sets improve resilience by separating VMs across fault domains and update domains within a datacenter.',
        de: 'Verfügbarkeitsgruppen verbessern die Resilienz, indem VMs innerhalb eines Rechenzentrums auf Fehler- und Updatedomänen verteilt werden.'
      },
      hint: {
        en: 'Think planned maintenance and hardware failure separation.',
        de: 'Denken Sie an Trennung bei geplanter Wartung und Hardwareausfällen.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/virtual-machines/availability-set-overview'
    },
    {
      id: 'az104-273',
      type: 'single',
      domain: { en: 'Deploy and Manage Azure Compute Resources', de: 'Azure-Compute-Ressourcen bereitstellen und verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'At Contoso, Ltd., a critical application must survive the loss of one datacenter in an Azure region.',
        de: 'Bei Contoso, Ltd.: eine geschäftskritische Anwendung muss den Ausfall eines Rechenzentrums in einer Azure-Region überstehen.'
      },
      question: {
        en: 'Which deployment option should you use for the VMs?',
        de: 'Welche Bereitstellungsoption sollten Sie für die VMs verwenden?'
      },
      options: [
        { id: 'A', text: { en: 'Availability zones', de: 'Verfügbarkeitszonen' } },
        { id: 'B', text: { en: 'Resource tags', de: 'Ressourcentags' } },
        { id: 'C', text: { en: 'Administrative units', de: 'Administrative Einheiten' } },
        { id: 'D', text: { en: 'Stored access policies', de: 'Gespeicherte Zugriffsrichtlinien' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Availability zones place resources in separate physical locations within a region for datacenter-level resilience.',
        de: 'Verfügbarkeitszonen platzieren Ressourcen in getrennten physischen Standorten innerhalb einer Region für Resilienz auf Rechenzentrumsebene.'
      },
      hint: {
        en: 'You need protection against one datacenter outage.',
        de: 'Sie benötigen Schutz gegen den Ausfall eines Rechenzentrums.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/reliability/availability-zones-overview'
    },
    {
      id: 'az104-274',
      type: 'single',
      domain: { en: 'Deploy and Manage Azure Compute Resources', de: 'Azure-Compute-Ressourcen bereitstellen und verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'At Fabrikam, Inc., an App Service app must access Azure Key Vault without storing secrets in configuration files.',
        de: 'Bei Fabrikam, Inc.: eine App-Service-Anwendung muss auf Azure Key Vault zugreifen, ohne Geheimnisse in Konfigurationsdateien zu speichern.'
      },
      question: {
        en: 'What should you enable on the app?',
        de: 'Was sollten Sie für die App aktivieren?'
      },
      options: [
        { id: 'A', text: { en: 'A managed identity', de: 'Eine verwaltete Identität' } },
        { id: 'B', text: { en: 'A resource lock', de: 'Eine Ressourcensperre' } },
        { id: 'C', text: { en: 'A gateway subnet', de: 'Ein Gateway-Subnetz' } },
        { id: 'D', text: { en: 'Boot diagnostics', de: 'Bootdiagnose' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'A managed identity lets the app request tokens from Entra ID and access Key Vault without embedded credentials.',
        de: 'Eine verwaltete Identität ermöglicht es der App, Token von Entra ID anzufordern und ohne eingebettete Anmeldeinformationen auf Key Vault zuzugreifen.'
      },
      hint: {
        en: 'Use identity-based access instead of secrets.',
        de: 'Verwenden Sie identitätsbasierten Zugriff anstelle von Geheimnissen.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/overview'
    },
    {
      id: 'az104-275',
      type: 'multiple',
      domain: { en: 'Deploy and Manage Azure Compute Resources', de: 'Azure-Compute-Ressourcen bereitstellen und verwalten' },
      difficulty: 'easy',
      scenario: null,
      question: {
        en: 'What are common benefits of using Bicep or ARM templates? Choose all that apply.',
        de: 'Was sind typische Vorteile der Verwendung von Bicep oder ARM-Vorlagen? Wählen Sie alle zutreffenden Antworten aus.'
      },
      options: [
        { id: 'A', text: { en: 'Repeatable deployments', de: 'Wiederholbare Bereitstellungen' } },
        { id: 'B', text: { en: 'Version control of infrastructure definitions', de: 'Versionskontrolle von Infrastrukturdefinitionen' } },
        { id: 'C', text: { en: 'Idempotent deployment behavior', de: 'Idempotentes Bereitstellungsverhalten' } },
        { id: 'D', text: { en: 'Automatic replacement of all application code', de: 'Automatischer Ersatz des gesamten Anwendungscodes' } }
      ],
      correct: ['A', 'B', 'C'],
      explanation: {
        en: 'Infrastructure-as-code templates support repeatability, source control, and idempotent deployments.',
        de: 'Infrastructure-as-Code-Vorlagen unterstützen Wiederholbarkeit, Versionskontrolle und idempotente Bereitstellungen.'
      },
      hint: {
        en: 'Choose the infrastructure automation benefits.',
        de: 'Wählen Sie die Vorteile der Infrastrukturautomatisierung.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-resource-manager/bicep/overview'
    },
    {
      id: 'az104-276',
      type: 'single',
      domain: { en: 'Deploy and Manage Azure Compute Resources', de: 'Azure-Compute-Ressourcen bereitstellen und verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'At Northwind Traders, a short-lived batch container should run again only if the process fails, but not after a successful completion.',
        de: 'Bei Northwind Traders: ein kurzlebiger Batch-Container soll nur dann erneut ausgeführt werden, wenn der Prozess fehlschlägt, aber nicht nach erfolgreichem Abschluss.'
      },
      question: {
        en: 'Which Azure Container Instances restart policy should you select?',
        de: 'Welche Neustartrichtlinie für Azure Container Instances sollten Sie auswählen?'
      },
      options: [
        { id: 'A', text: { en: 'Always', de: 'Always' } },
        { id: 'B', text: { en: 'Never', de: 'Never' } },
        { id: 'C', text: { en: 'OnFailure', de: 'OnFailure' } },
        { id: 'D', text: { en: 'Delayed', de: 'Delayed' } }
      ],
      correct: ['C'],
      explanation: {
        en: 'OnFailure restarts the container group only when a container exits with a failure code.',
        de: 'OnFailure startet die Containergruppe nur neu, wenn ein Container mit einem Fehlercode beendet wird.'
      },
      hint: {
        en: 'Successful completion should not trigger another run.',
        de: 'Ein erfolgreicher Abschluss soll keinen weiteren Lauf auslösen.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/container-instances/container-instances-restart-policy'
    },
    {
      id: 'az104-277',
      type: 'single',
      domain: { en: 'Deploy and Manage Azure Compute Resources', de: 'Azure-Compute-Ressourcen bereitstellen und verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'You work for Fabrikam, Inc. All instances are meant to look the same.',
        de: 'Sie arbeiten für Fabrikam, Inc. Alle Instanzen sollen gleich aussehen.'
      },
      question: {
        en: 'Which VMSS orchestration mode is typically the best fit?',
        de: 'Welcher VMSS-Orchestrierungsmodus ist typischerweise am besten geeignet?'
      },
      options: [
        { id: 'A', text: { en: 'Uniform', de: 'Uniform' } },
        { id: 'B', text: { en: 'Flexible', de: 'Flexible' } },
        { id: 'C', text: { en: 'Manual', de: 'Manual' } },
        { id: 'D', text: { en: 'Archived', de: 'Archived' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Uniform orchestration is optimized for large sets of identical VM instances that share the same configuration.',
        de: 'Uniform-Orchestrierung ist für große Mengen identischer VM-Instanzen optimiert, die dieselbe Konfiguration gemeinsam nutzen.'
      },
      hint: {
        en: 'All instances are meant to look the same.',
        de: 'Alle Instanzen sollen gleich aussehen.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/virtual-machine-scale-sets/overview'
    },
    {
      id: 'az104-278',
      type: 'single',
      domain: { en: 'Deploy and Manage Azure Compute Resources', de: 'Azure-Compute-Ressourcen bereitstellen und verwalten' },
      difficulty: 'hard',
      scenario: {
        en: 'You work for Northwind Traders. Persistence of the OS disk is not required.',
        de: 'Sie arbeiten für Northwind Traders. Die Persistenz des Betriebssystemdatenträgers ist nicht erforderlich.'
      },
      question: {
        en: 'Which OS disk option should you use?',
        de: 'Welche Option für den Betriebssystemdatenträger sollten Sie verwenden?'
      },
      options: [
        { id: 'A', text: { en: 'Ephemeral OS disk', de: 'Ephemeral OS Disk' } },
        { id: 'B', text: { en: 'Archive blob', de: 'Archive Blob' } },
        { id: 'C', text: { en: 'Azure Files share', de: 'Azure Files Share' } },
        { id: 'D', text: { en: 'Recovery Services vault', de: 'Recovery Services Vault' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Ephemeral OS disks store the OS locally on the host for fast operations and suit stateless workloads.',
        de: 'Ephemeral OS Disks speichern das Betriebssystem lokal auf dem Host für schnelle Vorgänge und eignen sich für zustandslose Workloads.'
      },
      hint: {
        en: 'Persistence of the OS disk is not required.',
        de: 'Die Persistenz des Betriebssystemdatenträgers ist nicht erforderlich.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/virtual-machines/ephemeral-os-disks'
    },
    {
      id: 'az104-279',
      type: 'multiple',
      domain: { en: 'Deploy and Manage Azure Compute Resources', de: 'Azure-Compute-Ressourcen bereitstellen und verwalten' },
      difficulty: 'easy',
      scenario: null,
      question: {
        en: 'Which statements about Azure Bastion are correct? Choose all that apply.',
        de: 'Welche Aussagen zu Azure Bastion sind korrekt? Wählen Sie alle zutreffenden Antworten aus.'
      },
      options: [
        { id: 'A', text: { en: 'It enables RDP and SSH from the Azure portal', de: 'Es ermöglicht RDP und SSH über das Azure-Portal' } },
        { id: 'B', text: { en: 'Target VMs can remain without public IP addresses', de: 'Ziel-VMs können ohne öffentliche IP-Adressen bleiben' } },
        { id: 'C', text: { en: 'It removes the need to open RDP or SSH directly from the internet', de: 'Es beseitigt die Notwendigkeit, RDP oder SSH direkt aus dem Internet zu öffnen' } },
        { id: 'D', text: { en: 'It is a storage replication mode', de: 'Es ist ein Speicherreplikationsmodus' } }
      ],
      correct: ['A', 'B', 'C'],
      explanation: {
        en: 'Azure Bastion is a managed jump service for RDP and SSH connectivity over the portal without exposing those ports publicly on VMs.',
        de: 'Azure Bastion ist ein verwalteter Jump-Dienst für RDP- und SSH-Konnektivität über das Portal, ohne diese Ports öffentlich auf VMs freizugeben.'
      },
      hint: {
        en: 'Think secure portal-based VM access.',
        de: 'Denken Sie an sicheren portalbasierten VM-Zugriff.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/bastion/bastion-overview'
    },
    {
      id: 'az104-280',
      type: 'single',
      domain: { en: 'Deploy and Manage Azure Compute Resources', de: 'Azure-Compute-Ressourcen bereitstellen und verwalten' },
      difficulty: 'easy',
      scenario: {
        en: 'You work for Contoso, Ltd. Your team needs the managed web app platform.',
        de: 'Sie arbeiten für Contoso, Ltd. Ihr Team benötigt die verwaltete Web-App-Plattform.'
      },
      question: {
        en: 'Which Azure compute service should you use?',
        de: 'Welchen Azure-Compute-Dienst sollten Sie verwenden?'
      },
      options: [
        { id: 'A', text: { en: 'App Service', de: 'App Service' } },
        { id: 'B', text: { en: 'Availability set', de: 'Verfügbarkeitsgruppe' } },
        { id: 'C', text: { en: 'Virtual WAN', de: 'Virtual WAN' } },
        { id: 'D', text: { en: 'Traffic Manager', de: 'Traffic Manager' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'App Service is the managed PaaS offering for hosting web apps with scaling and deployment slots.',
        de: 'App Service ist das verwaltete PaaS-Angebot zum Hosten von Web-Apps mit Skalierung und Bereitstellungsslots.'
      },
      hint: {
        en: 'Choose the managed web app platform.',
        de: 'Wählen Sie die verwaltete Web-App-Plattform.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/app-service/overview'
    },
    {
      id: 'az104-281',
      type: 'multiple',
      domain: { en: 'Deploy and Manage Azure Compute Resources', de: 'Azure-Compute-Ressourcen bereitstellen und verwalten' },
      difficulty: 'hard',
      scenario: {
        en: 'You work for Fabrikam, Inc. Think preparation, generalization, and safe capture state.',
        de: 'Sie arbeiten für Fabrikam, Inc. Ihr Team evaluiert Vorbereitung, Generalisierung und einen sicheren Erfassungszustand.'
      },
      question: {
        en: 'Which actions are typically required before capture? Choose all that apply.',
        de: 'Welche Aktionen sind vor dem Erfassen typischerweise erforderlich? Wählen Sie alle zutreffenden Antworten aus.'
      },
      options: [
        { id: 'A', text: { en: 'Generalize the VM', de: 'Die VM generalisieren' } },
        { id: 'B', text: { en: 'Stop and deallocate the VM', de: 'Die VM beenden und freigeben' } },
        { id: 'C', text: { en: 'Run Sysprep on Windows or waagent deprovision on Linux', de: 'Sysprep unter Windows oder waagent deprovision unter Linux ausführen' } },
        { id: 'D', text: { en: 'Join the VM to a new load balancer first', de: 'Die VM zuerst einem neuen Load Balancer hinzufügen' } }
      ],
      correct: ['A', 'B', 'C'],
      explanation: {
        en: 'Reusable image capture normally involves deprovisioning or Sysprep, marking the VM generalized, and stopping or deallocating it before capture.',
        de: 'Das Erfassen eines wiederverwendbaren Images umfasst normalerweise Deprovisionierung oder Sysprep, das Markieren der VM als generalisiert sowie das Beenden oder Freigeben vor dem Erfassen.'
      },
      hint: {
        en: 'Think preparation, generalization, and safe capture state.',
        de: 'Denken Sie an Vorbereitung, Generalisierung und einen sicheren Erfassungszustand.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/virtual-machines/generalize'
    },
    {
      id: 'az104-282',
      type: 'single',
      domain: { en: 'Implement and Manage Virtual Networking', de: 'Virtuelle Netzwerke implementieren und verwalten' },
      difficulty: 'easy',
      scenario: {
        en: 'At Contoso, Ltd., two virtual networks in the same Azure region are peered together.',
        de: 'Bei Contoso, Ltd.: zwei virtuelle Netzwerke in derselben Azure-Region werden miteinander per Peering verbunden.'
      },
      question: {
        en: 'Over which network does the traffic travel?',
        de: 'Über welches Netzwerk läuft der Datenverkehr?'
      },
      options: [
        { id: 'A', text: { en: 'The public internet only', de: 'Nur über das öffentliche Internet' } },
        { id: 'B', text: { en: 'The Microsoft backbone network', de: 'Das Microsoft-Backbone-Netzwerk' } },
        { id: 'C', text: { en: 'An Azure VPN Gateway by default', de: 'Standardmäßig über ein Azure-VPN-Gateway' } },
        { id: 'D', text: { en: 'ExpressRoute is always required', de: 'ExpressRoute ist immer erforderlich' } }
      ],
      correct: ['B'],
      explanation: {
        en: 'VNet peering uses the private Microsoft backbone network rather than the public internet.',
        de: 'VNet-Peering verwendet das private Microsoft-Backbone-Netzwerk und nicht das öffentliche Internet.'
      },
      hint: {
        en: 'Peering keeps traffic on the Azure backbone.',
        de: 'Peering hält den Datenverkehr auf dem Azure-Backbone.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/virtual-network/virtual-network-peering-overview'
    },
    {
      id: 'az104-283',
      type: 'single',
      domain: { en: 'Implement and Manage Virtual Networking', de: 'Virtuelle Netzwerke implementieren und verwalten' },
      difficulty: 'easy',
      scenario: null,
      question: {
        en: 'In an NSG, which rule priority is processed first?',
        de: 'Welche Regelpriorität wird in einer NSG zuerst verarbeitet?'
      },
      options: [
        { id: 'A', text: { en: 'The lowest number', de: 'Die niedrigste Zahl' } },
        { id: 'B', text: { en: 'The highest number', de: 'Die höchste Zahl' } },
        { id: 'C', text: { en: 'The newest rule', de: 'Die neueste Regel' } },
        { id: 'D', text: { en: 'The longest description', de: 'Die längste Beschreibung' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'NSG rules are evaluated by ascending priority, so lower numbers win.',
        de: 'NSG-Regeln werden nach aufsteigender Priorität ausgewertet, daher gewinnen niedrigere Zahlen.'
      },
      hint: {
        en: 'A smaller number means higher precedence.',
        de: 'Eine kleinere Zahl bedeutet höhere Vorrangigkeit.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/virtual-network/network-security-groups-overview'
    },
    {
      id: 'az104-284',
      type: 'multiple',
      domain: { en: 'Implement and Manage Virtual Networking', de: 'Virtuelle Netzwerke implementieren und verwalten' },
      difficulty: 'easy',
      scenario: null,
      question: {
        en: 'To which Azure resources can you associate a network security group? Choose all that apply.',
        de: 'Mit welchen Azure-Ressourcen können Sie eine Netzwerksicherheitsgruppe verknüpfen? Wählen Sie alle zutreffenden Antworten aus.'
      },
      options: [
        { id: 'A', text: { en: 'Subnet', de: 'Subnetz' } },
        { id: 'B', text: { en: 'Network interface', de: 'Netzwerkschnittstelle' } },
        { id: 'C', text: { en: 'Management group', de: 'Verwaltungsgruppe' } },
        { id: 'D', text: { en: 'Log Analytics workspace', de: 'Log-Analytics-Arbeitsbereich' } }
      ],
      correct: ['A', 'B'],
      explanation: {
        en: 'NSGs can be associated with subnets and NICs to filter inbound and outbound traffic.',
        de: 'NSGs können mit Subnetzen und NICs verknüpft werden, um eingehenden und ausgehenden Datenverkehr zu filtern.'
      },
      hint: {
        en: 'Think network path attachment points.',
        de: 'Denken Sie an Anknüpfungspunkte im Netzwerkpfad.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/virtual-network/network-security-groups-overview'
    },
    {
      id: 'az104-285',
      type: 'single',
      domain: { en: 'Implement and Manage Virtual Networking', de: 'Virtuelle Netzwerke implementieren und verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'You work for Northwind Traders. Group NICs by workload role for NSG rules.',
        de: 'Sie arbeiten für Northwind Traders. Gruppieren Sie NICs nach Workload-Rolle für NSG-Regeln.'
      },
      question: {
        en: 'Which Azure networking feature should you use?',
        de: 'Welche Azure-Netzwerkfunktion sollten Sie verwenden?'
      },
      options: [
        { id: 'A', text: { en: 'Application security groups', de: 'Anwendungssicherheitsgruppen' } },
        { id: 'B', text: { en: 'Management groups', de: 'Verwaltungsgruppen' } },
        { id: 'C', text: { en: 'Recovery Services vault', de: 'Recovery Services Vault' } },
        { id: 'D', text: { en: 'Azure Policy initiative', de: 'Azure-Policy-Initiative' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Application security groups let you reference logical groups of NICs in NSG rules.',
        de: 'Anwendungssicherheitsgruppen ermöglichen es, in NSG-Regeln auf logische Gruppen von NICs zu verweisen.'
      },
      hint: {
        en: 'Group NICs by workload role for NSG rules.',
        de: 'Gruppieren Sie NICs nach Workload-Rolle für NSG-Regeln.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/virtual-network/application-security-groups'
    },
    {
      id: 'az104-286',
      type: 'single',
      domain: { en: 'Implement and Manage Virtual Networking', de: 'Virtuelle Netzwerke implementieren und verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'At Contoso, Ltd., a storage account must be reachable from a VNet by a private IP address inside the subnet.',
        de: 'Bei Contoso, Ltd. muss aus einem VNet über eine private IP-Adresse innerhalb des Subnetzes erreichbar sein.'
      },
      question: {
        en: 'Which feature should you use?',
        de: 'Welche Funktion sollten Sie verwenden?'
      },
      options: [
        { id: 'A', text: { en: 'Private endpoint', de: 'Privater Endpunkt' } },
        { id: 'B', text: { en: 'Service endpoint', de: 'Dienstendpunkt' } },
        { id: 'C', text: { en: 'DNS alias', de: 'DNS-Alias' } },
        { id: 'D', text: { en: 'NAT Gateway', de: 'NAT-Gateway' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Private endpoints bring the PaaS resource into your VNet with a private IP address.',
        de: 'Private Endpunkte bringen die PaaS-Ressource mit einer privaten IP-Adresse in Ihr VNet.'
      },
      hint: {
        en: 'The service must appear as a private IP in the subnet.',
        de: 'Der Dienst muss als private IP im Subnetz erscheinen.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/private-link/private-endpoint-overview'
    },
    {
      id: 'az104-287',
      type: 'single',
      domain: { en: 'Implement and Manage Virtual Networking', de: 'Virtuelle Netzwerke implementieren und verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'At Fabrikam, Inc., a subnet must access Azure Storage securely while the storage account keeps its public endpoint.',
        de: 'Bei Fabrikam, Inc.: ein Subnetz muss sicher auf Azure Storage zugreifen, während das Speicherkonto seinen öffentlichen Endpunkt behält.'
      },
      question: {
        en: 'Which feature should you use?',
        de: 'Welche Funktion sollten Sie verwenden?'
      },
      options: [
        { id: 'A', text: { en: 'Service endpoint', de: 'Dienstendpunkt' } },
        { id: 'B', text: { en: 'Private DNS zone only', de: 'Nur private DNS-Zone' } },
        { id: 'C', text: { en: 'Administrative unit', de: 'Administrative Einheit' } },
        { id: 'D', text: { en: 'Recovery Services vault', de: 'Recovery Services Vault' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'A service endpoint extends the subnet identity to supported Azure services while the service still uses its public endpoint.',
        de: 'Ein Dienstendpunkt erweitert die Identität des Subnetzes auf unterstützte Azure-Dienste, während der Dienst weiterhin seinen öffentlichen Endpunkt nutzt.'
      },
      hint: {
        en: 'Public endpoint remains, but subnet identity is trusted.',
        de: 'Der öffentliche Endpunkt bleibt bestehen, aber die Subnetzidentität wird vertraut.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/virtual-network/virtual-network-service-endpoints-overview'
    },
    {
      id: 'az104-288',
      type: 'single',
      domain: { en: 'Implement and Manage Virtual Networking', de: 'Virtuelle Netzwerke implementieren und verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'At Fabrikam, Inc., virtual machines in a VNet must resolve the private DNS name of a private endpoint automatically.',
        de: 'Fabrikam, Inc. – Virtuelle Computer in einem VNet müssen den privaten DNS-Namen eines privaten Endpunkts automatisch auflösen.'
      },
      question: {
        en: 'What should you link to the VNet?',
        de: 'Was sollten Sie mit dem VNet verknüpfen?'
      },
      options: [
        { id: 'A', text: { en: 'A private DNS zone', de: 'Eine private DNS-Zone' } },
        { id: 'B', text: { en: 'A route table only', de: 'Nur eine Routingtabelle' } },
        { id: 'C', text: { en: 'An application security group', de: 'Eine Anwendungssicherheitsgruppe' } },
        { id: 'D', text: { en: 'A Recovery Services vault', de: 'Einen Recovery Services Vault' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Private DNS zones provide name resolution for private endpoint records inside linked virtual networks.',
        de: 'Private DNS-Zonen stellen die Namensauflösung für Datensätze privater Endpunkte in verknüpften virtuellen Netzwerken bereit.'
      },
      hint: {
        en: 'The challenge is private name resolution.',
        de: 'Die Herausforderung ist die private Namensauflösung.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/dns/private-dns-privatednszone'
    },
    {
      id: 'az104-289',
      type: 'single',
      domain: { en: 'Implement and Manage Virtual Networking', de: 'Virtuelle Netzwerke implementieren und verwalten' },
      difficulty: 'easy',
      scenario: {
        en: 'You work for Northwind Traders. You need encrypted site-to-site connectivity over the internet.',
        de: 'Sie arbeiten für Northwind Traders. Sie benötigen verschlüsselte Site-to-Site-Konnektivität über das Internet.'
      },
      question: {
        en: 'Which Azure service should you deploy?',
        de: 'Welchen Azure-Dienst sollten Sie bereitstellen?'
      },
      options: [
        { id: 'A', text: { en: 'VPN Gateway', de: 'VPN-Gateway' } },
        { id: 'B', text: { en: 'Private DNS zone', de: 'Private DNS-Zone' } },
        { id: 'C', text: { en: 'Application Gateway', de: 'Application Gateway' } },
        { id: 'D', text: { en: 'Azure Bastion', de: 'Azure Bastion' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Azure VPN Gateway provides IPsec/IKE connectivity between on-premises networks and Azure VNets.',
        de: 'Azure VPN Gateway stellt IPsec/IKE-Konnektivität zwischen lokalen Netzwerken und Azure-VNets bereit.'
      },
      hint: {
        en: 'You need encrypted site-to-site connectivity over the internet.',
        de: 'Sie benötigen verschlüsselte Site-to-Site-Konnektivität über das Internet.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/vpn-gateway/vpn-gateway-about-vpngateways'
    },
    {
      id: 'az104-290',
      type: 'single',
      domain: { en: 'Implement and Manage Virtual Networking', de: 'Virtuelle Netzwerke implementieren und verwalten' },
      difficulty: 'easy',
      scenario: {
        en: 'Contoso, Ltd. requires a private dedicated connection from the corporate network to Azure that does not traverse the public internet.',
        de: 'Contoso, Ltd. benötigt eine private dedizierte Verbindung vom Firmennetzwerk zu Azure, die nicht über das öffentliche Internet läuft.'
      },
      question: {
        en: 'Which service should you use?',
        de: 'Welchen Dienst sollten Sie verwenden?'
      },
      options: [
        { id: 'A', text: { en: 'ExpressRoute', de: 'ExpressRoute' } },
        { id: 'B', text: { en: 'VPN Gateway Basic', de: 'VPN Gateway Basic' } },
        { id: 'C', text: { en: 'Traffic Manager', de: 'Traffic Manager' } },
        { id: 'D', text: { en: 'Network Watcher', de: 'Network Watcher' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'ExpressRoute provides private connectivity into Azure through a connectivity provider.',
        de: 'ExpressRoute stellt private Konnektivität zu Azure über einen Konnektivitätsanbieter bereit.'
      },
      hint: {
        en: 'This is the dedicated private circuit option.',
        de: 'Dies ist die Option für einen dedizierten privaten Leitungsweg.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/expressroute/expressroute-introduction'
    },
    {
      id: 'az104-291',
      type: 'single',
      domain: { en: 'Implement and Manage Virtual Networking', de: 'Virtuelle Netzwerke implementieren und verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'At Fabrikam, Inc., a web application needs URL-based routing and a web application firewall at Layer 7.',
        de: 'Bei Fabrikam, Inc. benötigt URL-basiertes Routing und eine Web Application Firewall auf Layer 7.'
      },
      question: {
        en: 'Which Azure service should you choose?',
        de: 'Welchen Azure-Dienst sollten Sie wählen?'
      },
      options: [
        { id: 'A', text: { en: 'Application Gateway', de: 'Application Gateway' } },
        { id: 'B', text: { en: 'Standard Load Balancer', de: 'Standard Load Balancer' } },
        { id: 'C', text: { en: 'VPN Gateway', de: 'VPN-Gateway' } },
        { id: 'D', text: { en: 'Azure Files', de: 'Azure Files' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Application Gateway operates at Layer 7 and supports features such as URL-based routing and WAF.',
        de: 'Application Gateway arbeitet auf Layer 7 und unterstützt Funktionen wie URL-basiertes Routing und WAF.'
      },
      hint: {
        en: 'This is the Azure web traffic load balancer.',
        de: 'Dies ist der Azure-Lastverteiler für Webdatenverkehr.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/application-gateway/overview'
    },
    {
      id: 'az104-292',
      type: 'multiple',
      domain: { en: 'Implement and Manage Virtual Networking', de: 'Virtuelle Netzwerke implementieren und verwalten' },
      difficulty: 'medium',
      scenario: null,
      question: {
        en: 'Which Traffic Manager routing methods are valid? Choose all that apply.',
        de: 'Welche Traffic-Manager-Routingmethoden sind gültig? Wählen Sie alle zutreffenden Antworten aus.'
      },
      options: [
        { id: 'A', text: { en: 'Priority', de: 'Priority' } },
        { id: 'B', text: { en: 'Weighted', de: 'Weighted' } },
        { id: 'C', text: { en: 'Performance', de: 'Performance' } },
        { id: 'D', text: { en: 'Filesystem', de: 'Filesystem' } }
      ],
      correct: ['A', 'B', 'C'],
      explanation: {
        en: 'Traffic Manager supports routing methods such as Priority, Weighted, Performance, Geographic, and others. Filesystem is not one of them.',
        de: 'Traffic Manager unterstützt Routingmethoden wie Priority, Weighted, Performance, Geographic und weitere. Filesystem gehört nicht dazu.'
      },
      hint: {
        en: 'Choose the DNS-based traffic distribution methods.',
        de: 'Wählen Sie die DNS-basierten Methoden zur Datenverkehrsverteilung.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/traffic-manager/traffic-manager-routing-methods'
    },
    {
      id: 'az104-293',
      type: 'single',
      domain: { en: 'Implement and Manage Virtual Networking', de: 'Virtuelle Netzwerke implementieren und verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'You work for Northwind Traders. You need the managed firewall appliance from Azure.',
        de: 'Sie arbeiten für Northwind Traders. Sie benötigen die verwaltete Firewall-Appliance von Azure.'
      },
      question: {
        en: 'Which Azure service should you use?',
        de: 'Welchen Azure-Dienst sollten Sie verwenden?'
      },
      options: [
        { id: 'A', text: { en: 'Azure Firewall', de: 'Azure Firewall' } },
        { id: 'B', text: { en: 'Azure Bastion', de: 'Azure Bastion' } },
        { id: 'C', text: { en: 'Private DNS zone', de: 'Private DNS-Zone' } },
        { id: 'D', text: { en: 'Blob lifecycle management', de: 'Blob-Lebenszyklusverwaltung' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Azure Firewall is the native managed stateful firewall service for Azure virtual network traffic.',
        de: 'Azure Firewall ist der native verwaltete zustandsbehaftete Firewall-Dienst für Azure-VNet-Datenverkehr.'
      },
      hint: {
        en: 'You need the managed firewall appliance from Azure.',
        de: 'Sie benötigen die verwaltete Firewall-Appliance von Azure.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/firewall/overview'
    },
    {
      id: 'az104-294',
      type: 'single',
      domain: { en: 'Implement and Manage Virtual Networking', de: 'Virtuelle Netzwerke implementieren und verwalten' },
      difficulty: 'medium',
      scenario: null,
      question: {
        en: 'Is virtual network peering transitive by default?',
        de: 'Ist virtuelles Netzwerk-Peering standardmäßig transitiv?'
      },
      options: [
        { id: 'A', text: { en: 'Yes, always', de: 'Ja, immer' } },
        { id: 'B', text: { en: 'No, peering is not transitive', de: 'Nein, Peering ist nicht transitiv' } },
        { id: 'C', text: { en: 'Only for DNS traffic', de: 'Nur für DNS-Datenverkehr' } },
        { id: 'D', text: { en: 'Only with tags', de: 'Nur mit Tags' } }
      ],
      correct: ['B'],
      explanation: {
        en: 'Peering does not automatically create transit routing through an intermediate peered VNet.',
        de: 'Peering erstellt nicht automatisch Transit-Routing über ein dazwischenliegendes gepeertes VNet.'
      },
      hint: {
        en: 'A-to-B and B-to-C does not automatically mean A-to-C.',
        de: 'A-zu-B und B-zu-C bedeutet nicht automatisch A-zu-C.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/virtual-network/virtual-network-peering-overview'
    },
    {
      id: 'az104-295',
      type: 'single',
      domain: { en: 'Implement and Manage Virtual Networking', de: 'Virtuelle Netzwerke implementieren und verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'You work for Contoso, Ltd. The next hop is an appliance, not the internet.',
        de: 'Sie arbeiten für Contoso, Ltd. Der nächste Hop ist eine Appliance und nicht das Internet.'
      },
      question: {
        en: 'Which next hop type should the route use?',
        de: 'Welchen Next-Hop-Typ sollte die Route verwenden?'
      },
      options: [
        { id: 'A', text: { en: 'Virtual appliance', de: 'Virtuelle Appliance' } },
        { id: 'B', text: { en: 'VNet local', de: 'VNet lokal' } },
        { id: 'C', text: { en: 'Internet', de: 'Internet' } },
        { id: 'D', text: { en: 'None', de: 'None' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Routes that forward traffic to an NVA use the Virtual appliance next hop type and the appliance IP address.',
        de: 'Routen, die Datenverkehr an eine NVA weiterleiten, verwenden den Next-Hop-Typ Virtuelle Appliance und die IP-Adresse der Appliance.'
      },
      hint: {
        en: 'The next hop is an appliance, not the internet.',
        de: 'Der nächste Hop ist eine Appliance und nicht das Internet.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/virtual-network/virtual-networks-udr-overview'
    },
    {
      id: 'az104-296',
      type: 'single',
      domain: { en: 'Implement and Manage Virtual Networking', de: 'Virtuelle Netzwerke implementieren und verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'At Fabrikam, Inc., a VM cannot reach a destination, and you want to know whether an NSG rule is allowing or denying the traffic for a specific flow.',
        de: 'Bei Fabrikam, Inc. kann ein Ziel nicht erreichen, und Sie möchten wissen, ob eine NSG-Regel den Datenverkehr für einen bestimmten Flow zulässt oder verweigert.'
      },
      question: {
        en: 'Which Network Watcher tool should you use first?',
        de: 'Welches Network-Watcher-Tool sollten Sie zuerst verwenden?'
      },
      options: [
        { id: 'A', text: { en: 'IP flow verify', de: 'IP Flow Verify' } },
        { id: 'B', text: { en: 'Traffic Manager profile', de: 'Traffic-Manager-Profil' } },
        { id: 'C', text: { en: 'Recovery Services vault', de: 'Recovery Services Vault' } },
        { id: 'D', text: { en: 'Storage browser', de: 'Storage Browser' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'IP flow verify evaluates effective NSG rules for a selected source and destination flow.',
        de: 'IP Flow Verify wertet die effektiven NSG-Regeln für einen ausgewählten Quell- und Zielfluss aus.'
      },
      hint: {
        en: 'You need a yes or no answer for one traffic flow.',
        de: 'Sie benötigen eine Ja-oder-Nein-Antwort für einen bestimmten Datenfluss.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/network-watcher/ip-flow-verify-overview'
    },
    {
      id: 'az104-297',
      type: 'multiple',
      domain: { en: 'Implement and Manage Virtual Networking', de: 'Virtuelle Netzwerke implementieren und verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'You work for Northwind Traders. Think Azure gateway, on-premises representation, and the special subnet.',
        de: 'Sie arbeiten für Northwind Traders. Ihr Team evaluiert Azure-Gateway, lokale Repräsentation und das spezielle Subnetz.'
      },
      question: {
        en: 'Which Azure resources are required? Choose all that apply.',
        de: 'Welche Azure-Ressourcen werden benötigt? Wählen Sie alle zutreffenden Antworten aus.'
      },
      options: [
        { id: 'A', text: { en: 'Gateway subnet', de: 'Gateway-Subnetz' } },
        { id: 'B', text: { en: 'Virtual network gateway', de: 'Virtuelles Netzwerkgateway' } },
        { id: 'C', text: { en: 'Local network gateway', de: 'Lokales Netzwerkgateway' } },
        { id: 'D', text: { en: 'Availability set', de: 'Verfügbarkeitsgruppe' } }
      ],
      correct: ['A', 'B', 'C'],
      explanation: {
        en: 'A site-to-site VPN commonly requires a gateway subnet, a virtual network gateway in Azure, and a local network gateway that represents the on-premises side.',
        de: 'Ein Site-to-Site-VPN erfordert typischerweise ein Gateway-Subnetz, ein virtuelles Netzwerkgateway in Azure und ein lokales Netzwerkgateway, das die lokale Seite repräsentiert.'
      },
      hint: {
        en: 'Think Azure gateway, on-premises representation, and the special subnet.',
        de: 'Denken Sie an Azure-Gateway, lokale Repräsentation und das spezielle Subnetz.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/vpn-gateway/vpn-gateway-about-vpngateways'
    },
    {
      id: 'az104-298',
      type: 'single',
      domain: { en: 'Implement and Manage Virtual Networking', de: 'Virtuelle Netzwerke implementieren und verwalten' },
      difficulty: 'easy',
      scenario: null,
      question: {
        en: 'At which OSI layer does Azure Load Balancer primarily operate?',
        de: 'Auf welcher OSI-Schicht arbeitet Azure Load Balancer hauptsächlich?'
      },
      options: [
        { id: 'A', text: { en: 'Layer 4', de: 'Layer 4' } },
        { id: 'B', text: { en: 'Layer 7', de: 'Layer 7' } },
        { id: 'C', text: { en: 'Layer 2', de: 'Layer 2' } },
        { id: 'D', text: { en: 'Layer 1', de: 'Layer 1' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Azure Load Balancer is a Layer 4 service that distributes TCP and UDP traffic.',
        de: 'Azure Load Balancer ist ein Layer-4-Dienst, der TCP- und UDP-Datenverkehr verteilt.'
      },
      hint: {
        en: 'It balances based on transport-layer information.',
        de: 'Er verteilt basierend auf Informationen der Transportschicht.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/load-balancer/load-balancer-overview'
    },
    {
      id: 'az104-299',
      type: 'single',
      domain: { en: 'Implement and Manage Virtual Networking', de: 'Virtuelle Netzwerke implementieren und verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'You work for Contoso, Ltd. The service appears as a private address in your VNet.',
        de: 'Sie arbeiten für Contoso, Ltd. Der Dienst erscheint als private Adresse in Ihrem VNet.'
      },
      question: {
        en: 'What is assigned from the subnet to that endpoint?',
        de: 'Was wird diesem Endpunkt aus dem Subnetz zugewiesen?'
      },
      options: [
        { id: 'A', text: { en: 'A private IP address', de: 'Eine private IP-Adresse' } },
        { id: 'B', text: { en: 'A public IP prefix', de: 'Ein öffentliches IP-Präfix' } },
        { id: 'C', text: { en: 'An NSG default rule', de: 'Eine NSG-Standardregel' } },
        { id: 'D', text: { en: 'A management group ID', de: 'Eine Verwaltungsgruppen-ID' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Private endpoints receive a private IP address from the selected subnet.',
        de: 'Private Endpunkte erhalten eine private IP-Adresse aus dem ausgewählten Subnetz.'
      },
      hint: {
        en: 'The service appears as a private address in your VNet.',
        de: 'Der Dienst erscheint als private Adresse in Ihrem VNet.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/private-link/private-endpoint-overview'
    },
    {
      id: 'az104-300',
      type: 'single',
      domain: { en: 'Implement and Manage Virtual Networking', de: 'Virtuelle Netzwerke implementieren und verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'You work for Fabrikam, Inc. You need packet-level evidence.',
        de: 'Sie arbeiten für Fabrikam, Inc. Sie benötigen Nachweise auf Paketebene.'
      },
      question: {
        en: 'Which Network Watcher feature should you use?',
        de: 'Welche Network-Watcher-Funktion sollten Sie verwenden?'
      },
      options: [
        { id: 'A', text: { en: 'Packet capture', de: 'Packet Capture' } },
        { id: 'B', text: { en: 'Resource lock', de: 'Ressourcensperre' } },
        { id: 'C', text: { en: 'Azure Policy exemption', de: 'Azure-Policy-Ausnahme' } },
        { id: 'D', text: { en: 'Storage lifecycle management', de: 'Storage-Lebenszyklusverwaltung' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Packet capture collects network traffic from supported VMs for troubleshooting.',
        de: 'Packet Capture sammelt Netzwerkverkehr von unterstützten VMs für die Fehlerbehebung.'
      },
      hint: {
        en: 'You need packet-level evidence.',
        de: 'Sie benötigen Nachweise auf Paketebene.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/network-watcher/packet-capture-overview'
    },
    {
      id: 'az104-301',
      type: 'multiple',
      domain: { en: 'Implement and Manage Virtual Networking', de: 'Virtuelle Netzwerke implementieren und verwalten' },
      difficulty: 'medium',
      scenario: null,
      question: {
        en: 'Which features belong to Azure Load Balancer? Choose all that apply.',
        de: 'Welche Funktionen gehören zu Azure Load Balancer? Wählen Sie alle zutreffenden Antworten aus.'
      },
      options: [
        { id: 'A', text: { en: 'Health probes', de: 'Integritätsprüfungen' } },
        { id: 'B', text: { en: 'Load-balancing rules', de: 'Lastverteilungsregeln' } },
        { id: 'C', text: { en: 'Inbound NAT rules', de: 'Eingehende NAT-Regeln' } },
        { id: 'D', text: { en: 'URL-based path routing', de: 'URL-basierte Pfadweiterleitung' } }
      ],
      correct: ['A', 'B', 'C'],
      explanation: {
        en: 'Azure Load Balancer provides health probes, load-balancing rules, and inbound NAT rules. URL path routing is an Application Gateway feature.',
        de: 'Azure Load Balancer bietet Integritätsprüfungen, Lastverteilungsregeln und eingehende NAT-Regeln. URL-Pfadrouting ist eine Funktion von Application Gateway.'
      },
      hint: {
        en: 'Separate Layer 4 balancing from Layer 7 web routing.',
        de: 'Trennen Sie Layer-4-Lastverteilung von Layer-7-Webrouting.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/load-balancer/load-balancer-overview'
    },
    {
      id: 'az104-302',
      type: 'single',
      domain: { en: 'Monitor and Maintain Azure Resources', de: 'Azure-Ressourcen überwachen und warten' },
      difficulty: 'easy',
      scenario: null,
      question: {
        en: 'Which Azure Monitor component stores collected logs and allows KQL queries?',
        de: 'Welche Azure-Monitor-Komponente speichert erfasste Protokolle und erlaubt KQL-Abfragen?'
      },
      options: [
        { id: 'A', text: { en: 'Log Analytics workspace', de: 'Log-Analytics-Arbeitsbereich' } },
        { id: 'B', text: { en: 'Availability set', de: 'Verfügbarkeitsgruppe' } },
        { id: 'C', text: { en: 'Route table', de: 'Routingtabelle' } },
        { id: 'D', text: { en: 'Management group', de: 'Verwaltungsgruppe' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Azure Monitor logs are stored in a Log Analytics workspace and queried with KQL.',
        de: 'Azure-Monitor-Protokolle werden in einem Log-Analytics-Arbeitsbereich gespeichert und mit KQL abgefragt.'
      },
      hint: {
        en: 'KQL points to one core monitoring workspace.',
        de: 'KQL verweist auf einen zentralen Monitoring-Arbeitsbereich.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-monitor/logs/log-analytics-workspace-overview'
    },
    {
      id: 'az104-303',
      type: 'single',
      domain: { en: 'Monitor and Maintain Azure Resources', de: 'Azure-Ressourcen überwachen und warten' },
      difficulty: 'easy',
      scenario: null,
      question: {
        en: 'In KQL, which clause filters records to the last 24 hours?',
        de: 'Welche Klausel filtert in KQL Datensätze auf die letzten 24 Stunden?'
      },
      options: [
        { id: 'A', text: { en: 'where TimeGenerated > ago(24h)', de: 'where TimeGenerated > ago(24h)' } },
        { id: 'B', text: { en: 'sort by 24h', de: 'sort by 24h' } },
        { id: 'C', text: { en: 'take lasthours(24)', de: 'take lasthours(24)' } },
        { id: 'D', text: { en: 'project last24h', de: 'project last24h' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'The where operator combined with ago(24h) is the standard time filter for the previous 24 hours.',
        de: 'Der where-Operator in Kombination mit ago(24h) ist der Standard-Zeitfilter für die letzten 24 Stunden.'
      },
      hint: {
        en: 'Use a time-based where filter.',
        de: 'Verwenden Sie einen zeitbasierten where-Filter.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-monitor/logs/get-started-queries'
    },
    {
      id: 'az104-304',
      type: 'multiple',
      domain: { en: 'Monitor and Maintain Azure Resources', de: 'Azure-Ressourcen überwachen und warten' },
      difficulty: 'easy',
      scenario: null,
      question: {
        en: 'Which notification actions can an action group perform? Choose all that apply.',
        de: 'Welche Benachrichtigungsaktionen kann eine Aktionsgruppe ausführen? Wählen Sie alle zutreffenden Antworten aus.'
      },
      options: [
        { id: 'A', text: { en: 'Email', de: 'E-Mail' } },
        { id: 'B', text: { en: 'SMS', de: 'SMS' } },
        { id: 'C', text: { en: 'Webhook', de: 'Webhook' } },
        { id: 'D', text: { en: 'Subnet delegation', de: 'Subnetzdelegierung' } }
      ],
      correct: ['A', 'B', 'C'],
      explanation: {
        en: 'Action groups can notify people and systems through channels such as email, SMS, push, voice, webhook, and automation targets.',
        de: 'Aktionsgruppen können Personen und Systeme über Kanäle wie E-Mail, SMS, Push, Sprachbenachrichtigung, Webhook und Automatisierungsziele benachrichtigen.'
      },
      hint: {
        en: 'Choose alert notification or action targets.',
        de: 'Wählen Sie Ziele für Alarmbenachrichtigungen oder Aktionen.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-monitor/alerts/action-groups'
    },
    {
      id: 'az104-305',
      type: 'single',
      domain: { en: 'Monitor and Maintain Azure Resources', de: 'Azure-Ressourcen überwachen und warten' },
      difficulty: 'medium',
      scenario: {
        en: 'You work for Northwind Traders. The signal comes from query results, not a platform metric.',
        de: 'Sie arbeiten für Northwind Traders. Das Signal stammt aus Abfrageergebnissen und nicht aus einer Plattformmetrik.'
      },
      question: {
        en: 'Which alert rule type should you create?',
        de: 'Welchen Typ von Alarmregel sollten Sie erstellen?'
      },
      options: [
        { id: 'A', text: { en: 'Log alert', de: 'Log-Alarm' } },
        { id: 'B', text: { en: 'Metric alert', de: 'Metrikalarm' } },
        { id: 'C', text: { en: 'Budget alert', de: 'Budgetalarm' } },
        { id: 'D', text: { en: 'Maintenance configuration', de: 'Wartungskonfiguration' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'A log alert evaluates a KQL query in a Log Analytics workspace and triggers when the query condition is met.',
        de: 'Ein Log-Alarm wertet eine KQL-Abfrage in einem Log-Analytics-Arbeitsbereich aus und löst aus, wenn die Abfragebedingung erfüllt ist.'
      },
      hint: {
        en: 'The signal comes from query results, not a platform metric.',
        de: 'Das Signal stammt aus Abfrageergebnissen und nicht aus einer Plattformmetrik.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-monitor/alerts/alerts-types#log-alerts'
    },
    {
      id: 'az104-306',
      type: 'single',
      domain: { en: 'Monitor and Maintain Azure Resources', de: 'Azure-Ressourcen überwachen und warten' },
      difficulty: 'easy',
      scenario: {
        en: 'You work for Contoso, Ltd. This is a numeric metric threshold.',
        de: 'Sie arbeiten für Contoso, Ltd. Dies ist ein numerischer Metrikschwellwert.'
      },
      question: {
        en: 'Which type of alert rule should you create?',
        de: 'Welchen Typ von Alarmregel sollten Sie erstellen?'
      },
      options: [
        { id: 'A', text: { en: 'Metric alert', de: 'Metrikalarm' } },
        { id: 'B', text: { en: 'Log alert', de: 'Log-Alarm' } },
        { id: 'C', text: { en: 'Service Health alert', de: 'Service-Health-Alarm' } },
        { id: 'D', text: { en: 'Cost alert', de: 'Kostenalarm' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'CPU percentage is a platform metric, so a metric alert is the natural choice.',
        de: 'CPU-Prozentsatz ist eine Plattformmetrik, daher ist ein Metrikalarm die naheliegende Wahl.'
      },
      hint: {
        en: 'This is a numeric metric threshold.',
        de: 'Dies ist ein numerischer Metrikschwellwert.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-monitor/alerts/alerts-types#metric-alerts'
    },
    {
      id: 'az104-307',
      type: 'multiple',
      domain: { en: 'Monitor and Maintain Azure Resources', de: 'Azure-Ressourcen überwachen und warten' },
      difficulty: 'easy',
      scenario: null,
      question: {
        en: 'Which destinations can diagnostic settings send supported logs and metrics to? Choose all that apply.',
        de: 'An welche Ziele können Diagnoseeinstellungen unterstützte Protokolle und Metriken senden? Wählen Sie alle zutreffenden Antworten aus.'
      },
      options: [
        { id: 'A', text: { en: 'Log Analytics workspace', de: 'Log-Analytics-Arbeitsbereich' } },
        { id: 'B', text: { en: 'Storage account', de: 'Speicherkonto' } },
        { id: 'C', text: { en: 'Event Hubs', de: 'Event Hubs' } },
        { id: 'D', text: { en: 'Key Vault secret', de: 'Key-Vault-Geheimnis' } }
      ],
      correct: ['A', 'B', 'C'],
      explanation: {
        en: 'Diagnostic settings can route logs and metrics to Log Analytics, Storage, and Event Hubs.',
        de: 'Diagnoseeinstellungen können Protokolle und Metriken an Log Analytics, Storage und Event Hubs weiterleiten.'
      },
      hint: {
        en: 'Think analysis, archive, and streaming destinations.',
        de: 'Denken Sie an Analyse-, Archiv- und Streaming-Ziele.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/diagnostic-settings'
    },
    {
      id: 'az104-308',
      type: 'single',
      domain: { en: 'Monitor and Maintain Azure Resources', de: 'Azure-Ressourcen überwachen und warten' },
      difficulty: 'medium',
      scenario: {
        en: 'You work for Fabrikam, Inc. You need continuous path monitoring, not one-time packet capture.',
        de: 'Sie arbeiten für Fabrikam, Inc. Sie benötigen eine kontinuierliche Pfadüberwachung und keine einmalige Paketerfassung.'
      },
      question: {
        en: 'Which Network Watcher capability should you use?',
        de: 'Welche Network-Watcher-Funktion sollten Sie verwenden?'
      },
      options: [
        { id: 'A', text: { en: 'Connection Monitor', de: 'Connection Monitor' } },
        { id: 'B', text: { en: 'Route table', de: 'Routingtabelle' } },
        { id: 'C', text: { en: 'Management group', de: 'Verwaltungsgruppe' } },
        { id: 'D', text: { en: 'Blob versioning', de: 'Blob-Versionierung' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Connection Monitor tracks network connectivity and latency between configured endpoints over time.',
        de: 'Connection Monitor verfolgt die Netzwerkkonnektivität und Latenz zwischen konfigurierten Endpunkten im Zeitverlauf.'
      },
      hint: {
        en: 'You need continuous path monitoring, not one-time packet capture.',
        de: 'Sie benötigen eine kontinuierliche Pfadüberwachung und keine einmalige Paketerfassung.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/network-watcher/connection-monitor-overview'
    },
    {
      id: 'az104-309',
      type: 'multiple',
      domain: { en: 'Monitor and Maintain Azure Resources', de: 'Azure-Ressourcen überwachen und warten' },
      difficulty: 'medium',
      scenario: null,
      question: {
        en: 'Which workloads can Azure Backup protect? Choose all that apply.',
        de: 'Welche Workloads kann Azure Backup schützen? Wählen Sie alle zutreffenden Antworten aus.'
      },
      options: [
        { id: 'A', text: { en: 'Azure virtual machines', de: 'Azure-virtuelle Maschinen' } },
        { id: 'B', text: { en: 'Azure file shares', de: 'Azure-Dateifreigaben' } },
        { id: 'C', text: { en: 'SQL Server in Azure virtual machines', de: 'SQL Server in Azure-virtuellen Maschinen' } },
        { id: 'D', text: { en: 'Network security groups as standalone objects', de: 'Netzwerksicherheitsgruppen als eigenständige Objekte' } }
      ],
      correct: ['A', 'B', 'C'],
      explanation: {
        en: 'Azure Backup supports workloads such as Azure VMs, Azure Files, and application workloads like SQL Server in Azure VMs.',
        de: 'Azure Backup unterstützt Workloads wie Azure-VMs, Azure Files und Anwendungsworkloads wie SQL Server in Azure-VMs.'
      },
      hint: {
        en: 'Choose the data or compute workloads, not simple control-plane objects.',
        de: 'Wählen Sie Daten- oder Compute-Workloads und keine einfachen Control-Plane-Objekte.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/backup/backup-overview'
    },
    {
      id: 'az104-310',
      type: 'single',
      domain: { en: 'Monitor and Maintain Azure Resources', de: 'Azure-Ressourcen überwachen und warten' },
      difficulty: 'easy',
      scenario: {
        en: 'You work for Northwind Traders. Backups for Azure VMs are typically managed through one vault resource.',
        de: 'Sie arbeiten für Northwind Traders. Sicherungen für Azure-VMs werden typischerweise über eine Vault-Ressource verwaltet.'
      },
      question: {
        en: 'Which Azure resource is commonly used for this?',
        de: 'Welche Azure-Ressource wird dafür typischerweise verwendet?'
      },
      options: [
        { id: 'A', text: { en: 'Recovery Services vault', de: 'Recovery Services Vault' } },
        { id: 'B', text: { en: 'Application security group', de: 'Anwendungssicherheitsgruppe' } },
        { id: 'C', text: { en: 'NAT Gateway', de: 'NAT-Gateway' } },
        { id: 'D', text: { en: 'Azure DNS zone', de: 'Azure-DNS-Zone' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'A Recovery Services vault stores backup metadata and recovery points for supported workloads.',
        de: 'Ein Recovery Services Vault speichert Sicherungsmetadaten und Wiederherstellungspunkte für unterstützte Workloads.'
      },
      hint: {
        en: 'Backups for Azure VMs are typically managed through one vault resource.',
        de: 'Sicherungen für Azure-VMs werden typischerweise über eine Vault-Ressource verwaltet.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/backup/backup-overview'
    },
    {
      id: 'az104-311',
      type: 'single',
      domain: { en: 'Monitor and Maintain Azure Resources', de: 'Azure-Ressourcen überwachen und warten' },
      difficulty: 'easy',
      scenario: {
        en: 'At Northwind Traders, a specific Azure virtual machine is unavailable, and you want health information for that exact resource.',
        de: 'Bei Northwind Traders: eine bestimmte Azure-VM ist nicht verfügbar, und Sie möchten Gesundheitsinformationen für genau diese Ressource erhalten.'
      },
      question: {
        en: 'Which feature should you check first?',
        de: 'Welche Funktion sollten Sie zuerst prüfen?'
      },
      options: [
        { id: 'A', text: { en: 'Resource Health', de: 'Resource Health' } },
        { id: 'B', text: { en: 'Traffic Manager', de: 'Traffic Manager' } },
        { id: 'C', text: { en: 'Azure Files', de: 'Azure Files' } },
        { id: 'D', text: { en: 'Stored access policy', de: 'Gespeicherte Zugriffsrichtlinie' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Resource Health provides current and historical health information for a specific Azure resource.',
        de: 'Resource Health liefert aktuelle und historische Gesundheitsinformationen für eine bestimmte Azure-Ressource.'
      },
      hint: {
        en: 'This is the resource-specific health view.',
        de: 'Dies ist die ressourcenspezifische Gesundheitsansicht.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/service-health/resource-health-overview'
    },
    {
      id: 'az104-312',
      type: 'single',
      domain: { en: 'Monitor and Maintain Azure Resources', de: 'Azure-Ressourcen überwachen und warten' },
      difficulty: 'easy',
      scenario: {
        en: 'You work for Contoso, Ltd. This is broader than one individual resource.',
        de: 'Sie arbeiten für Contoso, Ltd. Dies ist umfassender als eine einzelne Ressource.'
      },
      question: {
        en: 'Which Azure feature should you use?',
        de: 'Welche Azure-Funktion sollten Sie verwenden?'
      },
      options: [
        { id: 'A', text: { en: 'Service Health', de: 'Service Health' } },
        { id: 'B', text: { en: 'Application security group', de: 'Anwendungssicherheitsgruppe' } },
        { id: 'C', text: { en: 'Azure Policy lock', de: 'Azure-Policy-Sperre' } },
        { id: 'D', text: { en: 'Availability set', de: 'Verfügbarkeitsgruppe' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Service Health reports platform incidents, planned maintenance, and health advisories for your Azure services and regions.',
        de: 'Service Health meldet Plattformvorfälle, geplante Wartungen und Gesundheitswarnungen für Ihre Azure-Dienste und Regionen.'
      },
      hint: {
        en: 'This is broader than one individual resource.',
        de: 'Dies ist umfassender als eine einzelne Ressource.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/service-health/service-health-overview'
    },
    {
      id: 'az104-313',
      type: 'multiple',
      domain: { en: 'Monitor and Maintain Azure Resources', de: 'Azure-Ressourcen überwachen und warten' },
      difficulty: 'easy',
      scenario: null,
      question: {
        en: 'Which Azure Advisor recommendation categories are valid? Choose all that apply.',
        de: 'Welche Kategorien von Azure-Advisor-Empfehlungen sind gültig? Wählen Sie alle zutreffenden Antworten aus.'
      },
      options: [
        { id: 'A', text: { en: 'Cost', de: 'Kosten' } },
        { id: 'B', text: { en: 'Security', de: 'Sicherheit' } },
        { id: 'C', text: { en: 'Reliability', de: 'Zuverlässigkeit' } },
        { id: 'D', text: { en: 'Filesystem schema', de: 'Dateisystemschema' } }
      ],
      correct: ['A', 'B', 'C'],
      explanation: {
        en: 'Azure Advisor provides recommendations in categories such as Cost, Security, Reliability, Operational Excellence, and Performance.',
        de: 'Azure Advisor bietet Empfehlungen in Kategorien wie Kosten, Sicherheit, Zuverlässigkeit, Operational Excellence und Performance.'
      },
      hint: {
        en: 'Pick the optimization categories, not storage internals.',
        de: 'Wählen Sie die Optimierungskategorien und keine Speicherinterna.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/advisor/advisor-overview'
    },
    {
      id: 'az104-314',
      type: 'single',
      domain: { en: 'Monitor and Maintain Azure Resources', de: 'Azure-Ressourcen überwachen und warten' },
      difficulty: 'medium',
      scenario: {
        en: 'At Fabrikam, Inc., a virtual machine fails to boot, and you need a screenshot and serial console log to troubleshoot startup problems.',
        de: 'Bei Fabrikam, Inc. startet nicht, und Sie benötigen einen Screenshot sowie ein Seriellkonsolenprotokoll zur Fehlerbehebung beim Start.'
      },
      question: {
        en: 'Which feature should you use?',
        de: 'Welche Funktion sollten Sie verwenden?'
      },
      options: [
        { id: 'A', text: { en: 'Boot diagnostics', de: 'Bootdiagnose' } },
        { id: 'B', text: { en: 'Azure Policy initiative', de: 'Azure-Policy-Initiative' } },
        { id: 'C', text: { en: 'ExpressRoute', de: 'ExpressRoute' } },
        { id: 'D', text: { en: 'Resource tags', de: 'Ressourcentags' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Boot diagnostics captures screenshots and serial logs for VM startup troubleshooting.',
        de: 'Die Bootdiagnose erfasst Screenshots und serielle Protokolle für die Fehlerbehebung beim VM-Start.'
      },
      hint: {
        en: 'You need startup evidence from the VM console.',
        de: 'Sie benötigen Startbeweise aus der VM-Konsole.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/virtual-machines/boot-diagnostics'
    },
    {
      id: 'az104-315',
      type: 'single',
      domain: { en: 'Monitor and Maintain Azure Resources', de: 'Azure-Ressourcen überwachen und warten' },
      difficulty: 'easy',
      scenario: null,
      question: {
        en: 'What does the KQL statement summarize count() by Computer return?',
        de: 'Was gibt die KQL-Anweisung summarize count() by Computer zurück?'
      },
      options: [
        { id: 'A', text: { en: 'One count per computer', de: 'Eine Anzahl pro Computer' } },
        { id: 'B', text: { en: 'A reboot command for each computer', de: 'Einen Neustartbefehl für jeden Computer' } },
        { id: 'C', text: { en: 'A list of deleted rows only', de: 'Nur eine Liste gelöschter Zeilen' } },
        { id: 'D', text: { en: 'A storage account inventory', de: 'Ein Speicherkonto-Inventar' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'summarize count() by Computer groups the matching records by computer name and returns a count for each group.',
        de: 'summarize count() by Computer gruppiert die passenden Datensätze nach Computername und gibt für jede Gruppe eine Anzahl zurück.'
      },
      hint: {
        en: 'Summarize performs aggregation by the chosen column.',
        de: 'Summarize führt eine Aggregation nach der gewählten Spalte aus.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-monitor/logs/get-started-queries'
    },
    {
      id: 'az104-316',
      type: 'single',
      domain: { en: 'Monitor and Maintain Azure Resources', de: 'Azure-Ressourcen überwachen und warten' },
      difficulty: 'medium',
      scenario: {
        en: 'You work for Northwind Traders. Use the packet-level Network Watcher tool.',
        de: 'Sie arbeiten für Northwind Traders. Verwenden Sie das paketbezogene Network-Watcher-Tool.'
      },
      question: {
        en: 'Which tool should you use?',
        de: 'Welches Tool sollten Sie verwenden?'
      },
      options: [
        { id: 'A', text: { en: 'Packet capture', de: 'Packet Capture' } },
        { id: 'B', text: { en: 'Connection Monitor', de: 'Connection Monitor' } },
        { id: 'C', text: { en: 'Availability set', de: 'Verfügbarkeitsgruppe' } },
        { id: 'D', text: { en: 'Tag inheritance', de: 'Tag-Vererbung' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Packet capture records the packet stream from the selected VM network interface for detailed inspection.',
        de: 'Packet Capture zeichnet den Paketstrom der ausgewählten VM-Netzwerkschnittstelle zur detaillierten Untersuchung auf.'
      },
      hint: {
        en: 'Use the packet-level Network Watcher tool.',
        de: 'Verwenden Sie das paketbezogene Network-Watcher-Tool.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/network-watcher/packet-capture-overview'
    },
    {
      id: 'az104-317',
      type: 'single',
      domain: { en: 'Monitor and Maintain Azure Resources', de: 'Azure-Ressourcen überwachen und warten' },
      difficulty: 'medium',
      scenario: {
        en: 'At Contoso, Ltd., security analysts want records of allowed and denied traffic flows for subnets protected by NSGs.',
        de: 'Bei Contoso, Ltd.: sicherheitsanalysten möchten Aufzeichnungen über erlaubte und verweigerte Datenflüsse für durch NSGs geschützte Subnetze.'
      },
      question: {
        en: 'Which feature should you enable?',
        de: 'Welche Funktion sollten Sie aktivieren?'
      },
      options: [
        { id: 'A', text: { en: 'NSG flow logs', de: 'NSG-Flowlogs' } },
        { id: 'B', text: { en: 'Azure Bastion', de: 'Azure Bastion' } },
        { id: 'C', text: { en: 'Availability zones', de: 'Verfügbarkeitszonen' } },
        { id: 'D', text: { en: 'Stored access policy', de: 'Gespeicherte Zugriffsrichtlinie' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'NSG flow logs capture information about network flows processed by network security groups.',
        de: 'NSG-Flowlogs erfassen Informationen über Netzwerkflüsse, die von Netzwerksicherheitsgruppen verarbeitet werden.'
      },
      hint: {
        en: 'You need logged allow and deny network flow decisions.',
        de: 'Sie benötigen protokollierte Allow- und Deny-Entscheidungen für Netzwerkflüsse.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/network-watcher/network-watcher-nsg-flow-logging-overview'
    },
    {
      id: 'az104-318',
      type: 'single',
      domain: { en: 'Monitor and Maintain Azure Resources', de: 'Azure-Ressourcen überwachen und warten' },
      difficulty: 'easy',
      scenario: {
        en: 'You work for Contoso, Ltd. This is the Azure control-plane audit log.',
        de: 'Sie arbeiten für Contoso, Ltd. Dies ist das Auditprotokoll der Azure-Control-Plane.'
      },
      question: {
        en: 'Which log should you check first?',
        de: 'Welches Protokoll sollten Sie zuerst prüfen?'
      },
      options: [
        { id: 'A', text: { en: 'Activity Log', de: 'Aktivitätsprotokoll' } },
        { id: 'B', text: { en: 'Guest OS syslog only', de: 'Nur Guest-OS-Syslog' } },
        { id: 'C', text: { en: 'Azure Files audit log', de: 'Azure-Files-Auditprotokoll' } },
        { id: 'D', text: { en: 'DNS query log', de: 'DNS-Abfrageprotokoll' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'The Activity Log records subscription-level control-plane operations such as create, update, and delete actions.',
        de: 'Das Aktivitätsprotokoll zeichnet Control-Plane-Operationen auf Abonnementebene wie Erstellen, Aktualisieren und Löschen auf.'
      },
      hint: {
        en: 'This is the Azure control-plane audit log.',
        de: 'Dies ist das Auditprotokoll der Azure-Control-Plane.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/activity-log'
    },
    {
      id: 'az104-319',
      type: 'multiple',
      domain: { en: 'Monitor and Maintain Azure Resources', de: 'Azure-Ressourcen überwachen und warten' },
      difficulty: 'medium',
      scenario: null,
      question: {
        en: 'Which event categories can appear in the Azure Activity Log? Choose all that apply.',
        de: 'Welche Ereigniskategorien können im Azure-Aktivitätsprotokoll erscheinen? Wählen Sie alle zutreffenden Antworten aus.'
      },
      options: [
        { id: 'A', text: { en: 'Administrative operations', de: 'Administrative Vorgänge' } },
        { id: 'B', text: { en: 'Service Health events', de: 'Service-Health-Ereignisse' } },
        { id: 'C', text: { en: 'Policy events', de: 'Policy-Ereignisse' } },
        { id: 'D', text: { en: 'Guest application console output', de: 'Konsolenausgabe von Gastanwendungen' } }
      ],
      correct: ['A', 'B', 'C'],
      explanation: {
        en: 'The Activity Log includes categories such as Administrative, Service Health, and Policy. Guest application console output is not part of it.',
        de: 'Das Aktivitätsprotokoll umfasst Kategorien wie Administrative, Service Health und Policy. Konsolenausgaben von Gastanwendungen gehören nicht dazu.'
      },
      hint: {
        en: 'Choose Azure platform and control-plane categories.',
        de: 'Wählen Sie Azure-Plattform- und Control-Plane-Kategorien.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/activity-log'
    },
    {
      id: 'az104-320',
      type: 'single',
      domain: { en: 'Monitor and Maintain Azure Resources', de: 'Azure-Ressourcen überwachen und warten' },
      difficulty: 'hard',
      scenario: {
        en: 'You work for Fabrikam, Inc. Think of the feature based on recent snapshots.',
        de: 'Sie arbeiten für Fabrikam, Inc. Ihr Team evaluiert die Funktion auf Basis aktueller Snapshots.'
      },
      question: {
        en: 'Which Azure Backup capability helps speed up recent VM restores?',
        de: 'Welche Azure-Backup-Funktion hilft dabei, aktuelle VM-Wiederherstellungen zu beschleunigen?'
      },
      options: [
        { id: 'A', text: { en: 'Instant Restore', de: 'Instant Restore' } },
        { id: 'B', text: { en: 'Administrative units', de: 'Administrative Einheiten' } },
        { id: 'C', text: { en: 'Azure Firewall', de: 'Azure Firewall' } },
        { id: 'D', text: { en: 'Application Gateway', de: 'Application Gateway' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Instant Restore uses snapshots retained for recent recovery points to speed up Azure VM recovery.',
        de: 'Instant Restore verwendet Snapshots, die für aktuelle Wiederherstellungspunkte aufbewahrt werden, um die Wiederherstellung von Azure-VMs zu beschleunigen.'
      },
      hint: {
        en: 'Think of the feature based on recent snapshots.',
        de: 'Denken Sie an die Funktion auf Basis aktueller Snapshots.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/backup/backup-instant-restore-capability'
    },
    {
      id: 'az104-321',
      type: 'single',
      domain: { en: 'Monitor and Maintain Azure Resources', de: 'Azure-Ressourcen überwachen und warten' },
      difficulty: 'medium',
      scenario: {
        en: 'You work for Northwind Traders. This alert is tied to the health state of one resource.',
        de: 'Sie arbeiten für Northwind Traders. Dieser Alarm ist an den Gesundheitszustand einer einzelnen Ressource gebunden.'
      },
      question: {
        en: 'Which type of signal should the alert rule monitor?',
        de: 'Welche Art von Signal sollte die Alarmregel überwachen?'
      },
      options: [
        { id: 'A', text: { en: 'Resource Health events', de: 'Resource-Health-Ereignisse' } },
        { id: 'B', text: { en: 'Blob lifecycle actions', de: 'Blob-Lebenszyklusaktionen' } },
        { id: 'C', text: { en: 'Subnet delegation changes only', de: 'Nur Änderungen an der Subnetzdelegierung' } },
        { id: 'D', text: { en: 'Sysprep exit codes', de: 'Sysprep-Beendigungscodes' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Resource Health events can be used as the alert signal to notify you when a resource becomes unavailable.',
        de: 'Resource-Health-Ereignisse können als Alarmsignal verwendet werden, um Sie zu benachrichtigen, wenn eine Ressource nicht verfügbar wird.'
      },
      hint: {
        en: 'This alert is tied to the health state of one resource.',
        de: 'Dieser Alarm ist an den Gesundheitszustand einer einzelnen Ressource gebunden.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/service-health/resource-health-alert-arm-template-guide'
    }
  ];
  if (window.ExamData && window.ExamData['az-104']) {
    window.ExamData['az-104'].questions = window.ExamData['az-104'].questions.concat(extra);
  }
})();
