(function() {
  var extra = [
    {
      id: 'az104-122',
      type: 'single',
      domain: { en: 'Manage Azure Identities and Governance', de: 'Azure-Identitäten und Governance verwalten' },
      difficulty: 'easy',
      scenario: {
        en: 'At Contoso, Ltd., a Human Resources team wants membership of a Finance access group to update automatically when a user department attribute changes in Microsoft Entra ID.',
        de: 'Bei Contoso, Ltd.: ein Personalteam möchte, dass sich die Mitgliedschaft einer Finance-Zugriffsgruppe automatisch aktualisiert, wenn sich das Benutzerattribut Abteilung in Microsoft Entra ID ändert.'
      },
      question: {
        en: 'Which group type should you use?',
        de: 'Welchen Gruppentyp sollten Sie verwenden?'
      },
      options: [
        { id: 'A', text: { en: 'Microsoft 365 group with manual membership', de: 'Microsoft-365-Gruppe mit manueller Mitgliedschaft' } },
        { id: 'B', text: { en: 'Dynamic security group', de: 'Dynamische Sicherheitsgruppe' } },
        { id: 'C', text: { en: 'Administrative unit', de: 'Administrative Einheit' } },
        { id: 'D', text: { en: 'Managed identity', de: 'Verwaltete Identität' } }
      ],
      correct: ['B'],
      explanation: {
        en: 'Dynamic security groups evaluate rules against user attributes and update membership automatically when those attributes change.',
        de: 'Dynamische Sicherheitsgruppen werten Regeln anhand von Benutzerattributen aus und aktualisieren die Mitgliedschaft automatisch, wenn sich diese Attribute ändern.'
      },
      hint: {
        en: 'Choose the rule-based group option in Entra ID.',
        de: 'Wählen Sie die regelbasierte Gruppenoption in Entra ID.'
      },
      reference: 'https://learn.microsoft.com/en-us/entra/identity/users/groups-dynamic-membership'
    },
    {
      id: 'az104-123',
      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 is evaluating delegated identity administration for only part of the directory.',
        de: 'Sie arbeiten für Contoso, Ltd. Ihr Team evaluiert delegierte Identitätsverwaltung nur für einen Teil des Verzeichnisses.'
      },
      question: {
        en: 'Which Microsoft Entra feature should you use?',
        de: 'Welche Microsoft-Entra-Funktion sollten Sie verwenden?'
      },
      options: [
        { id: 'A', text: { en: 'Administrative units', de: 'Administrative Einheiten' } },
        { id: 'B', text: { en: 'Management groups', de: 'Verwaltungsgruppen' } },
        { id: 'C', text: { en: 'Azure Policy exemptions', de: 'Azure-Policy-Ausnahmen' } },
        { id: 'D', text: { en: 'Resource locks', de: 'Ressourcensperren' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Administrative units scope delegated administration to a subset of users, groups, and devices in Microsoft Entra ID.',
        de: 'Administrative Einheiten begrenzen die delegierte Verwaltung in Microsoft Entra ID auf eine Teilmenge von Benutzern, Gruppen und Geräten.'
      },
      hint: {
        en: 'Think about delegated identity administration for only part of the directory.',
        de: 'Denken Sie an delegierte Identitätsverwaltung nur für einen Teil des Verzeichnisses.'
      },
      reference: 'https://learn.microsoft.com/en-us/entra/identity/role-based-access-control/administrative-units'
    },
    {
      id: 'az104-124',
      type: 'single',
      domain: { en: 'Manage Azure Identities and Governance', de: 'Azure-Identitäten und Governance verwalten' },
      difficulty: 'easy',
      scenario: null,
      question: {
        en: 'You need to create hundreds of Microsoft Entra users in one operation from the portal. Which file format is used by the bulk create process?',
        de: 'Sie müssen Hunderte Microsoft-Entra-Benutzer in einem Vorgang über das Portal erstellen. Welches Dateiformat verwendet der Bulk-Create-Prozess?'
      },
      options: [
        { id: 'A', text: { en: 'CSV', de: 'CSV' } },
        { id: 'B', text: { en: 'VHD', de: 'VHD' } },
        { id: 'C', text: { en: 'Bicep', de: 'Bicep' } },
        { id: 'D', text: { en: 'YAML', de: 'YAML' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Bulk user operations in Microsoft Entra ID use CSV templates for import and validation.',
        de: 'Massenoperationen für Benutzer in Microsoft Entra ID verwenden CSV-Vorlagen für Import und Validierung.'
      },
      hint: {
        en: 'The portal bulk tools use a spreadsheet-style text file.',
        de: 'Die Bulk-Tools im Portal verwenden eine tabellenartige Textdatei.'
      },
      reference: 'https://learn.microsoft.com/en-us/entra/identity/users/users-bulk-add'
    },
    {
      id: 'az104-125',
      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: 'StopOnly', de: 'StopOnly' } },
        { id: 'D', text: { en: 'RestartProtected', de: 'RestartProtected' } }
      ],
      correct: ['A', 'B'],
      explanation: {
        en: 'Azure supports only CanNotDelete and ReadOnly locks for protecting resources from accidental changes.',
        de: 'Azure unterstützt nur die Sperren CanNotDelete und ReadOnly, um Ressourcen vor versehentlichen Änderungen zu schützen.'
      },
      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-126',
      type: 'single',
      domain: { en: 'Manage Azure Identities and Governance', de: 'Azure-Identitäten und Governance verwalten' },
      difficulty: 'medium',
      scenario: null,
      question: {
        en: 'In a custom Azure RBAC role definition, which property determines where the role can be assigned?',
        de: 'Welche Eigenschaft in einer benutzerdefinierten Azure-RBAC-Rollendefinition bestimmt, wo die Rolle zugewiesen werden kann?'
      },
      options: [
        { id: 'A', text: { en: 'Actions', de: 'Actions' } },
        { id: 'B', text: { en: 'AssignableScopes', de: 'AssignableScopes' } },
        { id: 'C', text: { en: 'NotActions', de: 'NotActions' } },
        { id: 'D', text: { en: 'Description', de: 'Description' } }
      ],
      correct: ['B'],
      explanation: {
        en: 'AssignableScopes defines the management group, subscription, resource group, or resource scopes where a custom role can be assigned.',
        de: 'AssignableScopes definiert die Bereiche auf Ebene von Verwaltungsgruppe, Abonnement, Ressourcengruppe oder Ressource, in denen eine benutzerdefinierte Rolle zugewiesen werden kann.'
      },
      hint: {
        en: 'Look for the property that controls scope, not permissions.',
        de: 'Suchen Sie nach der Eigenschaft, die den Bereich steuert, nicht die Berechtigungen.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/role-based-access-control/custom-roles'
    },
    {
      id: 'az104-127',
      type: 'single',
      domain: { en: 'Manage Azure Identities and Governance', de: 'Azure-Identitäten und Governance verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'The security team at Fabrikam, Inc. requires every virtual machine to have a monitoring extension. If the extension is missing, Azure should install it automatically during compliance evaluation.',
        de: 'Das Sicherheitsteam von Fabrikam, Inc. verlangt, dass jede virtuelle Maschine über eine Monitoring-Erweiterung verfügt. Wenn die Erweiterung fehlt, soll Azure sie während der Compliancebewertung automatisch installieren.'
      },
      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: 'Verweigern' } },
        { id: 'C', text: { en: 'DeployIfNotExists', de: 'DeployIfNotExists' } },
        { id: 'D', text: { en: 'Disabled', de: 'Disabled' } }
      ],
      correct: ['C'],
      explanation: {
        en: 'DeployIfNotExists can remediate noncompliance by deploying a required resource or configuration when it is missing.',
        de: 'DeployIfNotExists kann Nichtkonformität beheben, indem eine erforderliche Ressource oder Konfiguration bereitgestellt wird, wenn sie fehlt.'
      },
      hint: {
        en: 'Choose the effect that can both detect and remediate.',
        de: 'Wählen Sie den Effekt, der sowohl erkennt als auch behebt.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/governance/policy/concepts/effect-basics'
    },
    {
      id: 'az104-128',
      type: 'single',
      domain: { en: 'Manage Azure Identities and Governance', de: 'Azure-Identitäten und Governance verwalten' },
      difficulty: 'easy',
      scenario: {
        en: 'Northwind Traders allows resource deployment only in West Europe and North Europe and wants to block all other Azure regions at deployment time.',
        de: 'Northwind Traders erlaubt die Bereitstellung von Ressourcen nur in West Europe und North Europe und möchte alle anderen Azure-Regionen bereits während der Bereitstellung blockieren.'
      },
      question: {
        en: 'Which Azure Policy effect meets this requirement?',
        de: 'Welcher Azure-Policy-Effekt erfüllt diese Anforderung?'
      },
      options: [
        { id: 'A', text: { en: 'Append', de: 'Append' } },
        { id: 'B', text: { en: 'Audit', de: 'Audit' } },
        { id: 'C', text: { en: 'Deny', de: 'Deny' } },
        { id: 'D', text: { en: 'Modify', de: 'Modify' } }
      ],
      correct: ['C'],
      explanation: {
        en: 'Deny stops the creation or update request when the resource does not meet the policy condition.',
        de: 'Deny stoppt die Erstellungs- oder Aktualisierungsanforderung, wenn die Ressource die Richtlinienbedingung nicht erfüllt.'
      },
      hint: {
        en: 'The deployment must be blocked, not only logged.',
        de: 'Die Bereitstellung muss blockiert und nicht nur protokolliert werden.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/governance/policy/concepts/effect-basics'
    },
    {
      id: 'az104-129',
      type: 'single',
      domain: { en: 'Manage Azure Identities and Governance', de: 'Azure-Identitäten und Governance verwalten' },
      difficulty: 'medium',
      scenario: null,
      question: {
        en: 'How many parent management groups can a single Azure subscription belong to at one time?',
        de: 'Zu wie vielen übergeordneten Verwaltungsgruppen kann ein einzelnes Azure-Abonnement gleichzeitig gehören?'
      },
      options: [
        { id: 'A', text: { en: 'One', de: 'Eine' } },
        { id: 'B', text: { en: 'Two', de: 'Zwei' } },
        { id: 'C', text: { en: 'Five', de: 'Fünf' } },
        { id: 'D', text: { en: 'Unlimited', de: 'Unbegrenzt' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'A subscription can be associated with only one management group in the hierarchy at any given time.',
        de: 'Ein Abonnement kann in der Hierarchie zu einem bestimmten Zeitpunkt nur einer Verwaltungsgruppe zugeordnet sein.'
      },
      hint: {
        en: 'Think of the management group hierarchy as a single-parent tree.',
        de: 'Stellen Sie sich die Verwaltungsgruppenhierarchie als Baum mit genau einem Elternknoten vor.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/governance/management-groups/overview'
    },
    {
      id: 'az104-130',
      type: 'single',
      domain: { en: 'Manage Azure Identities and Governance', de: 'Azure-Identitäten und Governance verwalten' },
      difficulty: 'hard',
      scenario: {
        en: 'At Fabrikam, Inc., all resources in a resource group must have the same CostCenter tag as the resource group, including existing resources that are missing the tag today.',
        de: 'Bei Fabrikam, Inc.: alle Ressourcen in einer Ressourcengruppe müssen denselben CostCenter-Tag wie die Ressourcengruppe besitzen, einschließlich bestehender Ressourcen, denen der Tag heute fehlt.'
      },
      question: {
        en: 'Which Azure Policy approach is the best fit?',
        de: 'Welcher Azure-Policy-Ansatz ist am besten geeignet?'
      },
      options: [
        { id: 'A', text: { en: 'Assign a policy with the Modify effect', de: 'Eine Richtlinie mit dem Effekt Modify zuweisen' } },
        { id: 'B', text: { en: 'Apply a ReadOnly lock', de: 'Eine ReadOnly-Sperre anwenden' } },
        { id: 'C', text: { en: 'Create a dynamic group', de: 'Eine dynamische Gruppe erstellen' } },
        { id: 'D', text: { en: 'Use Azure Advisor', de: 'Azure Advisor verwenden' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Modify can add or replace tags during evaluation and remediation so resources inherit the required value from the resource group.',
        de: 'Modify kann Tags während Bewertung und Behebung hinzufügen oder ersetzen, sodass Ressourcen den erforderlichen Wert aus der Ressourcengruppe übernehmen.'
      },
      hint: {
        en: 'You need tag remediation, not only detection.',
        de: 'Sie benötigen eine Tag-Behebung und nicht nur eine Erkennung.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/tag-policies'
    },
    {
      id: 'az104-131',
      type: 'single',
      domain: { en: 'Manage Azure Identities and Governance', de: 'Azure-Identitäten und Governance verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'At Northwind Traders, a platform lead must create RBAC role assignments in a subscription but must not gain full management rights over the resources themselves.',
        de: 'Bei Northwind Traders: ein Plattformverantwortlicher muss RBAC-Rollenzuweisungen in einem Abonnement erstellen können, soll aber keine vollständigen Verwaltungsrechte für die Ressourcen selbst erhalten.'
      },
      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: 'Contributor', de: 'Mitwirkender' } },
        { id: 'C', text: { en: 'User Access Administrator', de: 'Benutzerzugriffsadministrator' } },
        { id: 'D', text: { en: 'Owner', de: 'Besitzer' } }
      ],
      correct: ['C'],
      explanation: {
        en: 'User Access Administrator can manage role assignments without providing the broader resource management rights of Owner.',
        de: 'Der Benutzerzugriffsadministrator kann Rollenzuweisungen verwalten, ohne die umfassenderen Ressourcenverwaltungsrechte der Rolle Besitzer 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-132',
      type: 'single',
      domain: { en: 'Manage Azure Identities and Governance', de: 'Azure-Identitäten und Governance verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'At Contoso, Ltd., a helpdesk team in Germany must reset passwords only for employees in the Germany division and not for any other users in the tenant.',
        de: 'Bei Contoso, Ltd.: ein Helpdesk-Team in Deutschland muss Kennwörter nur für Mitarbeiter der Division Deutschland zurücksetzen können und nicht für andere Benutzer im Mandanten.'
      },
      question: {
        en: 'What should you configure first?',
        de: 'Was sollten Sie zuerst konfigurieren?'
      },
      options: [
        { id: 'A', text: { en: 'An administrative unit for Germany users', de: 'Eine administrative Einheit für Deutschland-Benutzer' } },
        { id: 'B', text: { en: 'A separate Azure subscription', de: 'Ein separates Azure-Abonnement' } },
        { id: 'C', text: { en: 'A resource lock', de: 'Eine Ressourcensperre' } },
        { id: 'D', text: { en: 'A deployment slot', de: 'Einen Bereitstellungsslot' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Administrative units let you delegate identity administration for only the targeted subset of directory objects.',
        de: 'Administrative Einheiten ermöglichen die Delegation der Identitätsverwaltung nur für die gewünschte Teilmenge von Verzeichnisobjekten.'
      },
      hint: {
        en: 'Scope the admins to a subset of the directory.',
        de: 'Begrenzen Sie die Administratoren auf eine Teilmenge des Verzeichnisses.'
      },
      reference: 'https://learn.microsoft.com/en-us/entra/identity/role-based-access-control/administrative-units'
    },
    {
      id: 'az104-133',
      type: 'single',
      domain: { en: 'Manage Azure Identities and Governance', de: 'Azure-Identitäten und Governance verwalten' },
      difficulty: 'easy',
      scenario: null,
      question: {
        en: 'What does a CanNotDelete resource lock allow?',
        de: 'Was erlaubt eine CanNotDelete-Ressourcensperre?'
      },
      options: [
        { id: 'A', text: { en: 'Read operations only', de: 'Nur Lesevorgänge' } },
        { id: 'B', text: { en: 'Read and modify operations, but not delete', de: 'Lese- und Änderungsvorgänge, aber kein Löschen' } },
        { id: 'C', text: { en: 'Delete operations only', de: 'Nur Löschvorgänge' } },
        { id: 'D', text: { en: 'No operations at all', de: 'Überhaupt keine Vorgänge' } }
      ],
      correct: ['B'],
      explanation: {
        en: 'CanNotDelete blocks delete actions but still permits read and update operations if RBAC permissions allow them.',
        de: 'CanNotDelete blockiert Löschaktionen, erlaubt aber weiterhin Lese- und Aktualisierungsvorgänge, wenn die RBAC-Berechtigungen dies zulassen.'
      },
      hint: {
        en: 'This lock prevents removal, not normal updates.',
        de: 'Diese Sperre verhindert das Entfernen, nicht normale Aktualisierungen.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/lock-resources'
    },
    {
      id: 'az104-134',
      type: 'multiple',
      domain: { en: 'Manage Azure Identities and Governance', de: 'Azure-Identitäten und Governance verwalten' },
      difficulty: 'medium',
      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: 'Group resources by cost center', de: 'Ressourcen nach Kostenstelle gruppieren' } },
        { id: 'B', text: { en: 'Filter resources for automation', de: 'Ressourcen für Automatisierung filtern' } },
        { id: 'C', text: { en: 'Support reporting and chargeback', de: 'Reporting und Chargeback unterstützen' } },
        { id: 'D', text: { en: 'Enforce network isolation by themselves', de: 'Allein Netzwerkisolation erzwingen' } }
      ],
      correct: ['A', 'B', 'C'],
      explanation: {
        en: 'Tags are metadata that help with organization, reporting, and automation, but they are not a security boundary by themselves.',
        de: 'Tags sind Metadaten, die bei Organisation, Reporting und Automatisierung helfen, sind aber für sich genommen keine Sicherheitsgrenze.'
      },
      hint: {
        en: 'Think metadata, not access enforcement.',
        de: 'Denken Sie an Metadaten, nicht an Zugriffserzwingung.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/tag-resources'
    },
    {
      id: 'az104-135',
      type: 'single',
      domain: { en: 'Manage Azure Identities and Governance', de: 'Azure-Identitäten und Governance verwalten' },
      difficulty: 'hard',
      scenario: null,
      question: {
        en: 'Which custom RBAC role property is used for permissions against data within a resource, such as blob data in a storage account?',
        de: 'Welche Eigenschaft einer benutzerdefinierten RBAC-Rolle wird für Berechtigungen auf Daten innerhalb einer Ressource verwendet, zum Beispiel Blob-Daten in einem Speicherkonto?'
      },
      options: [
        { id: 'A', text: { en: 'Actions', de: 'Actions' } },
        { id: 'B', text: { en: 'NotActions', de: 'NotActions' } },
        { id: 'C', text: { en: 'DataActions', de: 'DataActions' } },
        { id: 'D', text: { en: 'AssignableScopes', de: 'AssignableScopes' } }
      ],
      correct: ['C'],
      explanation: {
        en: 'DataActions and NotDataActions are used for data plane permissions such as access to blobs, queues, or files.',
        de: 'DataActions und NotDataActions werden für Datenebenenberechtigungen verwendet, etwa für den Zugriff auf Blobs, Queues oder Dateien.'
      },
      hint: {
        en: 'Control plane and data plane use different permission properties.',
        de: 'Steuerungsebene und Datenebene verwenden unterschiedliche Berechtigungseigenschaften.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/role-based-access-control/custom-roles'
    },
    {
      id: 'az104-136',
      type: 'single',
      domain: { en: 'Manage Azure Identities and Governance', de: 'Azure-Identitäten und Governance verwalten' },
      difficulty: 'easy',
      scenario: {
        en: 'You work for Contoso, Ltd. Audit records the policy violation and marks the resource noncompliant without stopping the deployment.',
        de: 'Sie arbeiten für Contoso, Ltd. Sie benötigen nur eine Berichterstattung.'
      },
      question: {
        en: 'Which Azure Policy effect should you choose?',
        de: 'Welchen Azure-Policy-Effekt sollten Sie auswählen?'
      },
      options: [
        { id: 'A', text: { en: 'Deny', de: 'Deny' } },
        { id: 'B', text: { en: 'Audit', de: 'Audit' } },
        { id: 'C', text: { en: 'Modify', de: 'Modify' } },
        { id: 'D', text: { en: 'Append', de: 'Append' } }
      ],
      correct: ['B'],
      explanation: {
        en: 'Audit records the policy violation and marks the resource noncompliant without stopping the deployment.',
        de: 'Audit protokolliert den Richtlinienverstoß und markiert die Ressource als nicht konform, ohne die Bereitstellung zu stoppen.'
      },
      hint: {
        en: 'You need reporting only.',
        de: 'Sie benötigen nur eine Berichterstattung.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/governance/policy/concepts/effect-basics'
    },
    {
      id: 'az104-137',
      type: 'single',
      domain: { en: 'Manage Azure Identities and Governance', de: 'Azure-Identitäten und Governance verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'At Fabrikam, Inc., a user moves from Sales to Finance. Both departments use dynamic groups that are based on the Department attribute.',
        de: 'Bei Fabrikam, Inc.: ein Benutzer wechselt von Vertrieb zu Finanzen. Beide Abteilungen verwenden dynamische Gruppen, die auf dem Attribut Abteilung basieren.'
      },
      question: {
        en: 'What happens after the user attribute is updated?',
        de: 'Was passiert, nachdem das Benutzerattribut aktualisiert wurde?'
      },
      options: [
        { id: 'A', text: { en: 'An administrator must manually update both groups', de: 'Ein Administrator muss beide Gruppen manuell aktualisieren' } },
        { id: 'B', text: { en: 'Group membership is reevaluated automatically', de: 'Die Gruppenmitgliedschaft wird automatisch neu ausgewertet' } },
        { id: 'C', text: { en: 'The user is deleted and recreated', de: 'Der Benutzer wird gelöscht und neu erstellt' } },
        { id: 'D', text: { en: 'Only the old group is updated', de: 'Nur die alte Gruppe wird aktualisiert' } }
      ],
      correct: ['B'],
      explanation: {
        en: 'Dynamic membership rules are reevaluated when matching attributes change, so the user can be removed from one group and added to another automatically.',
        de: 'Dynamische Mitgliedschaftsregeln werden neu ausgewertet, wenn sich passende Attribute ändern, sodass der Benutzer automatisch aus einer Gruppe entfernt und einer anderen hinzugefügt werden kann.'
      },
      hint: {
        en: 'Dynamic groups are self-maintaining.',
        de: 'Dynamische Gruppen pflegen sich selbst.'
      },
      reference: 'https://learn.microsoft.com/en-us/entra/identity/users/groups-dynamic-membership'
    },
    {
      id: 'az104-138',
      type: 'single',
      domain: { en: 'Manage Azure Identities and Governance', de: 'Azure-Identitäten und Governance verwalten' },
      difficulty: 'medium',
      scenario: null,
      question: {
        en: 'Which Microsoft Entra feature can automatically group devices based on device attributes such as operating system version?',
        de: 'Welche Microsoft-Entra-Funktion kann Geräte automatisch anhand von Geräteattributen wie der Betriebssystemversion gruppieren?'
      },
      options: [
        { id: 'A', text: { en: 'Dynamic device group', de: 'Dynamische Gerätegruppe' } },
        { id: 'B', text: { en: 'Management group', de: 'Verwaltungsgruppe' } },
        { id: 'C', text: { en: 'Recovery Services vault', de: 'Recovery-Services-Tresor' } },
        { id: 'D', text: { en: 'Application security group', de: 'Anwendungssicherheitsgruppe' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Dynamic device groups use rules based on device properties so membership is updated automatically.',
        de: 'Dynamische Gerätegruppen verwenden Regeln auf Basis von Geräteeigenschaften, sodass die Mitgliedschaft automatisch aktualisiert wird.'
      },
      hint: {
        en: 'Use the Entra group type that supports device rules.',
        de: 'Verwenden Sie den Entra-Gruppentyp, der Gerätereigenschaftsregeln unterstützt.'
      },
      reference: 'https://learn.microsoft.com/en-us/entra/identity/users/groups-dynamic-membership'
    },
    {
      id: 'az104-139',
      type: 'single',
      domain: { en: 'Manage Azure Identities and Governance', de: 'Azure-Identitäten und Governance verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'You work for Fabrikam, Inc. Resource locks flow down the scope hierarchy.',
        de: 'Sie arbeiten für Fabrikam, Inc. Ressourcensperren wirken in der Bereichshierarchie nach unten.'
      },
      question: {
        en: 'What is the effect on the child resources?',
        de: 'Welche Auswirkung hat dies auf die untergeordneten Ressourcen?'
      },
      options: [
        { id: 'A', text: { en: 'The lock is inherited and the child resources become read-only', de: 'Die Sperre wird vererbt und die untergeordneten Ressourcen werden schreibgeschützt' } },
        { id: 'B', text: { en: 'Only the resource group is locked, not the resources', de: 'Nur die Ressourcengruppe ist gesperrt, nicht die Ressourcen' } },
        { id: 'C', text: { en: 'All resources are deleted automatically', de: 'Alle Ressourcen werden automatisch gelöscht' } },
        { id: 'D', text: { en: 'The lock affects networking resources only', de: 'Die Sperre betrifft nur Netzwerkressourcen' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Locks applied at a higher scope are inherited by child resources in that scope.',
        de: 'Sperren, die auf einem höheren Bereich angewendet werden, werden von den untergeordneten Ressourcen in diesem Bereich geerbt.'
      },
      hint: {
        en: 'Resource locks flow down the scope hierarchy.',
        de: 'Ressourcensperren wirken in der Bereichshierarchie nach unten.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/lock-resources'
    },
    {
      id: 'az104-140',
      type: 'multiple',
      domain: { en: 'Manage Azure Identities and Governance', de: 'Azure-Identitäten und Governance verwalten' },
      difficulty: 'medium',
      scenario: null,
      question: {
        en: 'At which scopes can Azure RBAC role assignments be created? Choose all that apply.',
        de: 'Auf welchen Ebenen können Azure-RBAC-Rollenzuweisungen erstellt werden? 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: 'Individual resource', de: 'Einzelne Ressource' } }
      ],
      correct: ['A', 'B', 'C', 'D'],
      explanation: {
        en: 'Azure RBAC assignments can be created at any of these scopes and are inherited by lower scopes.',
        de: 'Azure-RBAC-Zuweisungen können auf allen diesen Ebenen erstellt werden und werden an untergeordnete Bereiche vererbt.'
      },
      hint: {
        en: 'RBAC follows the Azure scope hierarchy from top to bottom.',
        de: 'RBAC folgt der Azure-Bereichshierarchie von oben nach unten.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/role-based-access-control/role-assignments-steps'
    },
    {
      id: 'az104-141',
      type: 'single',
      domain: { en: 'Manage Azure Identities and Governance', de: 'Azure-Identitäten und Governance verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'At Northwind Traders, an Azure virtual machine must access a storage account without storing credentials in code or configuration files.',
        de: 'Northwind Traders – Eine Azure-VM muss auf ein Speicherkonto zugreifen, ohne Anmeldeinformationen im Code oder in Konfigurationsdateien zu speichern.'
      },
      question: {
        en: 'Which identity feature should you enable on the VM?',
        de: 'Welche Identitätsfunktion sollten Sie für die VM aktivieren?'
      },
      options: [
        { id: 'A', text: { en: 'System-assigned managed identity', de: 'Systemseitig zugewiesene verwaltete Identität' } },
        { id: 'B', text: { en: 'Administrative unit', de: 'Administrative Einheit' } },
        { id: 'C', text: { en: 'Resource lock', de: 'Ressourcensperre' } },
        { id: 'D', text: { en: 'Deployment slot', de: 'Bereitstellungsslot' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'A managed identity lets Azure resources obtain tokens for supported services without storing secrets.',
        de: 'Eine verwaltete Identität ermöglicht Azure-Ressourcen das Abrufen von Token für unterstützte Dienste, ohne Geheimnisse zu speichern.'
      },
      hint: {
        en: 'Use Azure to manage the credential lifecycle for the VM.',
        de: 'Lassen Sie Azure den Lebenszyklus der Anmeldeinformationen für die VM verwalten.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/overview'
    },
    {
      id: 'az104-142',
      type: 'single',
      domain: { en: 'Implement and Manage Storage', de: 'Speicher implementieren und verwalten' },
      difficulty: 'easy',
      scenario: null,
      question: {
        en: 'Which storage account kind is recommended for most new Azure storage deployments?',
        de: 'Welche Speicherkontoart wird für die meisten neuen Azure-Speicherbereitstellungen empfohlen?'
      },
      options: [
        { id: 'A', text: { en: 'General-purpose v2', de: 'General-purpose v2' } },
        { id: 'B', text: { en: 'General-purpose v1', de: 'General-purpose v1' } },
        { id: 'C', text: { en: 'Classic storage account', de: 'Klassisches Speicherkonto' } },
        { id: 'D', text: { en: 'Premium page blob only', de: 'Nur Premium Page Blob' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'General-purpose v2 supports the latest Azure Storage features and is the default choice for most scenarios.',
        de: 'General-purpose v2 unterstützt die neuesten Azure-Storage-Funktionen und ist die Standardwahl für die meisten Szenarien.'
      },
      hint: {
        en: 'Choose the modern default account type.',
        de: 'Wählen Sie den modernen Standardkontotyp.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/common/storage-account-overview'
    },
    {
      id: 'az104-143',
      type: 'single',
      domain: { en: 'Implement and Manage Storage', de: 'Speicher implementieren und verwalten' },
      difficulty: 'hard',
      scenario: {
        en: 'At Northwind Traders, a workload must remain available if a zone fails in the primary region, and the business also wants read access to replicated data in a secondary region.',
        de: 'Bei Northwind Traders: eine Workload muss verfügbar bleiben, wenn in der Primärregion eine Zone ausfällt, und das Unternehmen möchte außerdem Lesezugriff auf replizierte Daten in einer sekundären Region.'
      },
      question: {
        en: 'Which storage redundancy option should you choose?',
        de: 'Welche Speicherredundanzoption sollten Sie wählen?'
      },
      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: 'RA-GZRS', de: 'RA-GZRS' } }
      ],
      correct: ['D'],
      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äre Region.'
      },
      hint: {
        en: 'You need both zone resilience and read access to the secondary copy.',
        de: 'Sie benötigen sowohl Zonenresilienz als auch Lesezugriff auf die sekundäre Kopie.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/common/storage-redundancy'
    },
    {
      id: 'az104-144',
      type: 'multiple',
      domain: { en: 'Implement and Manage Storage', de: 'Speicher implementieren und verwalten' },
      difficulty: 'medium',
      scenario: null,
      question: {
        en: 'Which Shared Access Signature (SAS) types are valid in Azure Storage? Choose all that apply.',
        de: 'Welche Shared-Access-Signature-Typen (SAS) sind in Azure Storage gültig? Wählen Sie alle zutreffenden Antworten aus.'
      },
      options: [
        { id: 'A', text: { en: 'User delegation SAS', de: 'User-Delegation-SAS' } },
        { id: 'B', text: { en: 'Service SAS', de: 'Service-SAS' } },
        { id: 'C', text: { en: 'Account SAS', de: 'Account-SAS' } },
        { id: 'D', text: { en: 'Managed identity SAS', de: 'Managed-Identity-SAS' } }
      ],
      correct: ['A', 'B', 'C'],
      explanation: {
        en: 'Azure Storage supports user delegation SAS, service SAS, and account SAS. Managed identity is used for authentication, not as a SAS type.',
        de: 'Azure Storage unterstützt User-Delegation-SAS, Service-SAS und Account-SAS. Eine Managed Identity dient der Authentifizierung, ist aber kein SAS-Typ.'
      },
      hint: {
        en: 'There are three official SAS types.',
        de: 'Es gibt drei offizielle SAS-Typen.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/common/storage-sas-overview'
    },
    {
      id: 'az104-145',
      type: 'single',
      domain: { en: 'Implement and Manage Storage', de: 'Speicher implementieren und verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'Fabrikam, Inc. wants blobs to stay in the Hot tier for 30 days, move to Cool after 30 days, and move to Archive after 180 days automatically.',
        de: 'Fabrikam, Inc. möchte, dass Blobs 30 Tage in der Hot-Ebene bleiben, danach automatisch in Cool und nach 180 Tagen in Archive verschoben werden.'
      },
      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-Lifecycle-Management' } },
        { id: 'B', text: { en: 'Resource lock', de: 'Ressourcensperre' } },
        { id: 'C', text: { en: 'Availability set', de: 'Verfügbarkeitsgruppe' } },
        { id: 'D', text: { en: 'Administrative unit', de: 'Administrative Einheit' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Lifecycle management policies can automatically transition blobs between access tiers or delete them based on rules.',
        de: 'Lifecycle-Management-Richtlinien können Blobs anhand von Regeln automatisch zwischen Zugriffsebenen verschieben oder löschen.'
      },
      hint: {
        en: 'Use the policy feature built for automated blob aging.',
        de: 'Verwenden Sie die Richtlinienfunktion für automatisierte Blob-Alterung.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/blobs/lifecycle-management-overview'
    },
    {
      id: 'az104-146',
      type: 'single',
      domain: { en: 'Implement and Manage Storage', de: 'Speicher implementieren und verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'At Contoso, Ltd., a Linux application requires an Azure file share that is mounted over NFS.',
        de: 'Bei Contoso, Ltd.: eine Linux-Anwendung benötigt eine Azure-Dateifreigabe, die über NFS eingebunden wird.'
      },
      question: {
        en: 'Which storage offering should you use?',
        de: 'Welches Speicherangebot sollten Sie verwenden?'
      },
      options: [
        { id: 'A', text: { en: 'Azure Files in a Premium FileStorage account', de: 'Azure Files in einem Premium-FileStorage-Konto' } },
        { id: 'B', text: { en: 'Queue storage', de: 'Queue Storage' } },
        { id: 'C', text: { en: 'Table storage', de: 'Table Storage' } },
        { id: 'D', text: { en: 'Blob archive tier', de: 'Blob-Archivzugriffsebene' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Azure Files NFS shares are provided from premium FileStorage accounts.',
        de: 'Azure-Files-NFS-Freigaben werden aus Premium-FileStorage-Konten bereitgestellt.'
      },
      hint: {
        en: 'Think file shares, not blobs, and remember that NFS requires premium.',
        de: 'Denken Sie an Dateifreigaben, nicht an Blobs, und daran, dass NFS Premium erfordert.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/files/storage-files-introduction'
    },
    {
      id: 'az104-147',
      type: 'single',
      domain: { en: 'Implement and Manage Storage', de: 'Speicher implementieren und verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'At Fabrikam, Inc., a branch office file server should keep frequently used files locally while rarely used files are tiered to Azure Files in the cloud.',
        de: 'Fabrikam, Inc. – Ein Dateiserver in einer Niederlassung soll häufig verwendete Dateien lokal behalten, während selten genutzte Dateien in Azure Files in der Cloud ausgelagert werden.'
      },
      question: {
        en: 'Which Azure service provides this capability?',
        de: 'Welcher Azure-Dienst bietet diese Funktion?'
      },
      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: 'Azure Policy', de: 'Azure Policy' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Azure File Sync can cache hot data locally on Windows Server and tier colder files to Azure Files.',
        de: 'Azure File Sync kann heiße Daten lokal auf Windows Server zwischenspeichern und kältere Dateien in Azure Files auslagern.'
      },
      hint: {
        en: 'Choose the hybrid file service for Windows Server caching.',
        de: 'Wählen Sie den hybriden Dateidienst für Windows-Server-Caching.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/file-sync/file-sync-introduction'
    },
    {
      id: 'az104-148',
      type: 'single',
      domain: { en: 'Implement and Manage Storage', de: 'Speicher implementieren und verwalten' },
      difficulty: 'easy',
      scenario: {
        en: 'You work for Northwind Traders. Use the specialized storage copy tool.',
        de: 'Sie arbeiten für Northwind Traders. Verwenden Sie das spezialisierte 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: 'DiskPart', de: 'DiskPart' } },
        { id: 'C', text: { en: 'MSBuild', de: 'MSBuild' } },
        { id: 'D', text: { en: 'MSTSC', de: 'MSTSC' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'AzCopy is the Azure command-line tool designed for high-performance data movement to and from Azure Storage.',
        de: 'AzCopy ist das Azure-Befehlszeilentool für performante Datenübertragungen zu und von Azure Storage.'
      },
      hint: {
        en: 'Use the specialized storage copy tool.',
        de: 'Verwenden Sie das spezialisierte Storage-Kopiertool.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/common/storage-use-azcopy-v10'
    },
    {
      id: 'az104-149',
      type: 'single',
      domain: { en: 'Implement and Manage Storage', de: 'Speicher implementieren und verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'At Fabrikam, Inc., a datacenter has a very slow network connection, and you must move 80 TB of files into Azure Storage as quickly as possible.',
        de: 'Bei Fabrikam, Inc.: ein Rechenzentrum hat eine sehr langsame Netzwerkverbindung, und Sie müssen 80 TB Dateien so schnell wie möglich in Azure Storage übertragen.'
      },
      question: {
        en: 'Which service should you use?',
        de: 'Welchen Dienst sollten Sie verwenden?'
      },
      options: [
        { id: 'A', text: { en: 'Azure Import/Export', de: 'Azure Import/Export' } },
        { id: 'B', text: { en: 'Application Gateway', de: 'Application Gateway' } },
        { id: 'C', text: { en: 'Azure DNS', de: 'Azure DNS' } },
        { id: 'D', text: { en: 'Deployment slots', de: 'Bereitstellungsslots' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Azure Import/Export lets you ship encrypted drives to Microsoft for offline data transfer when network upload is impractical.',
        de: 'Mit Azure Import/Export können Sie verschlüsselte Laufwerke an Microsoft senden, um Daten offline zu übertragen, wenn ein Netzwerkupload unpraktisch ist.'
      },
      hint: {
        en: 'When the network is too slow, think physical drives.',
        de: 'Wenn das Netzwerk zu langsam ist, denken Sie an physische Laufwerke.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/import-export/storage-import-export-service'
    },
    {
      id: 'az104-150',
      type: 'single',
      domain: { en: 'Implement and Manage Storage', de: 'Speicher implementieren und verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'You work for Contoso, Ltd. Revoke the shared policy behind the SAS tokens.',
        de: 'Sie arbeiten für Contoso, Ltd. Widerrufen Sie die gemeinsame Richtlinie hinter den SAS-Token.'
      },
      question: {
        en: 'What should you do?',
        de: 'Was sollten Sie tun?'
      },
      options: [
        { id: 'A', text: { en: 'Delete or change the stored access policy', de: 'Die Stored-Access-Policy löschen oder ändern' } },
        { id: 'B', text: { en: 'Change the VM size', de: 'Die VM-Größe ändern' } },
        { id: 'C', text: { en: 'Create a management group', de: 'Eine Verwaltungsgruppe erstellen' } },
        { id: 'D', text: { en: 'Move the container to archive', de: 'Den Container in Archive verschieben' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'A stored access policy controls associated service SAS tokens, so changing or deleting the policy invalidates them.',
        de: 'Eine Stored-Access-Policy steuert zugeordnete Service-SAS-Token, daher macht das Ändern oder Löschen der Policy diese ungültig.'
      },
      hint: {
        en: 'Revoke the shared policy behind the SAS tokens.',
        de: 'Widerrufen Sie die gemeinsame Richtlinie hinter den SAS-Token.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/common/storage-sas-overview'
    },
    {
      id: 'az104-151',
      type: 'single',
      domain: { en: 'Implement and Manage Storage', de: 'Speicher implementieren und verwalten' },
      difficulty: 'easy',
      scenario: null,
      question: {
        en: 'Which statement about the Blob Archive tier is correct?',
        de: 'Welche Aussage zur Blob-Archivebene ist korrekt?'
      },
      options: [
        { id: 'A', text: { en: 'Archived blobs are immediately available for interactive reads', de: 'Archivierte Blobs sind sofort für interaktive Lesezugriffe verfügbar' } },
        { id: 'B', text: { en: 'Archived blobs must be rehydrated before they can be read online', de: 'Archivierte Blobs müssen vor dem Online-Lesen rehydriert werden' } },
        { id: 'C', text: { en: 'Archive is only available for Azure Files', de: 'Archive ist nur für Azure Files verfügbar' } },
        { id: 'D', text: { en: 'Archive provides the highest transaction performance', de: 'Archive bietet die höchste Transaktionsleistung' } }
      ],
      correct: ['B'],
      explanation: {
        en: 'Archive is an offline tier that requires rehydration before blob data can be read through online access.',
        de: 'Archive ist eine Offline-Zugriffsebene, die eine Rehydrierung erfordert, bevor Blob-Daten online gelesen werden können.'
      },
      hint: {
        en: 'Archive is for low-cost retention, not immediate access.',
        de: 'Archive ist für kostengünstige Aufbewahrung gedacht, nicht für sofortigen Zugriff.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/blobs/access-tiers-overview'
    },
    {
      id: 'az104-152',
      type: 'multiple',
      domain: { en: 'Implement and Manage Storage', de: 'Speicher implementieren und verwalten' },
      difficulty: 'medium',
      scenario: null,
      question: {
        en: 'Which redundancy options provide read access to the secondary region? Choose all that apply.',
        de: 'Welche Redundanzoptionen bieten Lesezugriff auf die sekundäre Region? Wählen Sie alle zutreffenden Antworten aus.'
      },
      options: [
        { id: 'A', text: { en: 'RA-GRS', de: 'RA-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: ['A', 'B'],
      explanation: {
        en: 'Only the read-access geo-redundant options expose the secondary region for read operations.',
        de: 'Nur die Geo-redundanten Optionen mit Lesezugriff stellen die sekundäre Region für Lesevorgänge bereit.'
      },
      hint: {
        en: 'Look for the redundancy names that begin with RA.',
        de: 'Achten Sie auf Redundanznamen, die mit RA beginnen.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/common/storage-redundancy'
    },
    {
      id: 'az104-153',
      type: 'single',
      domain: { en: 'Implement and Manage Storage', de: 'Speicher implementieren und verwalten' },
      difficulty: 'hard',
      scenario: {
        en: 'At Northwind Traders, an Azure-hosted application that signs in with Microsoft Entra ID needs temporary delegated access to blobs without using the storage account key.',
        de: 'Bei Northwind Traders: eine in Azure gehostete Anwendung, die sich mit Microsoft Entra ID anmeldet, benötigt temporären delegierten Zugriff auf Blobs, ohne den Speicherkontoschlüssel zu verwenden.'
      },
      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 signed with account key only', de: 'Account-SAS, nur mit Kontoschlüssel signiert' } },
        { id: 'C', text: { en: 'Stored access policy only', de: 'Nur Stored Access Policy' } },
        { id: 'D', text: { en: 'ReadOnly lock', de: 'ReadOnly-Sperre' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'A user delegation SAS is signed with Microsoft Entra credentials and is the recommended choice for blob access from Azure identities.',
        de: 'Eine User-Delegation-SAS wird mit Microsoft-Entra-Anmeldeinformationen signiert und ist die empfohlene Wahl für Blobzugriff aus Azure-Identitäten.'
      },
      hint: {
        en: 'Use the SAS type that is tied to Entra-based authorization.',
        de: 'Verwenden Sie den SAS-Typ, der an Entra-basierte Autorisierung gekoppelt ist.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/common/storage-sas-overview'
    },
    {
      id: 'az104-154',
      type: 'single',
      domain: { en: 'Implement and Manage Storage', de: 'Speicher implementieren und verwalten' },
      difficulty: 'easy',
      scenario: null,
      question: {
        en: 'Which Azure storage service provides fully managed file shares over SMB and NFS?',
        de: 'Welcher Azure-Speicherdienst bietet vollständig verwaltete Dateifreigaben über SMB und NFS?' 
      },
      options: [
        { id: 'A', text: { en: 'Azure Files', de: 'Azure Files' } },
        { id: 'B', text: { en: 'Azure Queues', de: 'Azure Queues' } },
        { id: 'C', text: { en: 'Azure Tables', de: 'Azure Tables' } },
        { id: 'D', text: { en: 'Managed disks', de: 'Verwaltete Datenträger' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Azure Files is the managed file share service in Azure and supports SMB and NFS protocols.',
        de: 'Azure Files ist der verwaltete Dateifreigabedienst in Azure und unterstützt die Protokolle SMB und NFS.'
      },
      hint: {
        en: 'Choose the Azure storage service for shared file systems.',
        de: 'Wählen Sie den Azure-Speicherdienst für gemeinsam genutzte Dateisysteme.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/files/storage-files-introduction'
    },
    {
      id: 'az104-155',
      type: 'single',
      domain: { en: 'Implement and Manage Storage', de: 'Speicher implementieren und verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'At Contoso, Ltd., several branch offices need a local cache of shared company files, but the central authoritative copy must stay in Azure.',
        de: 'Bei Contoso, Ltd.: mehrere Niederlassungen benötigen einen lokalen Cache gemeinsam genutzter Unternehmensdateien, die zentrale maßgebliche Kopie muss jedoch 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 on Windows Servers', de: 'Azure File Sync auf Windows Servern' } },
        { id: 'B', text: { en: 'Azure Firewall', de: 'Azure Firewall' } },
        { id: 'C', text: { en: 'VPN Gateway only', de: 'Nur VPN Gateway' } },
        { id: 'D', text: { en: 'Availability zones', de: 'Verfügbarkeitszonen' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Azure File Sync keeps Azure Files as the cloud endpoint while caching selected data on local Windows Servers.',
        de: 'Azure File Sync verwendet Azure Files als Cloud-Endpunkt und cached ausgewählte Daten auf lokalen Windows-Servern.'
      },
      hint: {
        en: 'This is the hybrid file-sharing service.',
        de: 'Dies ist der hybride Dienst für Dateifreigaben.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/file-sync/file-sync-introduction'
    },
    {
      id: 'az104-156',
      type: 'single',
      domain: { en: 'Implement and Manage Storage', de: 'Speicher implementieren und verwalten' },
      difficulty: 'easy',
      scenario: {
        en: 'An administrator at Fabrikam, Inc. accidentally deletes several blobs and wants the quickest built-in recovery option.',
        de: 'Ein Administrator bei Fabrikam, Inc. löscht versehentlich mehrere Blobs und möchte die schnellste integrierte Wiederherstellungsoption.'
      },
      question: {
        en: 'Which feature should have been enabled?',
        de: 'Welche Funktion hätte aktiviert sein sollen?'
      },
      options: [
        { id: 'A', text: { en: 'Blob soft delete', de: 'Blob Soft Delete' } },
        { id: 'B', text: { en: 'ExpressRoute', de: 'ExpressRoute' } },
        { id: 'C', text: { en: 'Administrative units', de: 'Administrative Einheiten' } },
        { id: 'D', text: { en: 'Application Gateway', de: 'Application Gateway' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Blob soft delete retains deleted blobs for a retention period so they can be restored without restoring the whole account.',
        de: 'Blob Soft Delete bewahrt gelöschte Blobs für einen Aufbewahrungszeitraum auf, sodass sie wiederhergestellt werden können, ohne das gesamte Konto zurückzuspielen.'
      },
      hint: {
        en: 'Use the protection feature designed for accidental blob deletion.',
        de: 'Verwenden Sie die Schutzfunktion für versehentliches Löschen von Blobs.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/blobs/soft-delete-blob-overview'
    },
    {
      id: 'az104-157',
      type: 'single',
      domain: { en: 'Implement and Manage Storage', de: 'Speicher implementieren und verwalten' },
      difficulty: 'easy',
      scenario: null,
      question: {
        en: 'Which redundancy option keeps multiple copies of data within a single datacenter only?',
        de: 'Welche Redundanzoption hält mehrere Datenkopien nur innerhalb eines einzelnen Rechenzentrums?' 
      },
      options: [
        { id: 'A', text: { en: 'LRS', de: 'LRS' } },
        { id: 'B', text: { en: 'GRS', de: 'GRS' } },
        { id: 'C', text: { en: 'RA-GZRS', de: 'RA-GZRS' } },
        { id: 'D', text: { en: 'ZRS', de: 'ZRS' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Locally redundant storage stores multiple copies in one datacenter and does not replicate to other zones or regions.',
        de: 'Local Redundant Storage speichert mehrere Kopien in einem Rechenzentrum und repliziert nicht in andere Zonen oder Regionen.'
      },
      hint: {
        en: 'The name includes local redundancy only.',
        de: 'Der Name weist nur auf lokale Redundanz hin.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/common/storage-redundancy'
    },
    {
      id: 'az104-158',
      type: 'multiple',
      domain: { en: 'Implement and Manage Storage', de: 'Speicher implementieren und verwalten' },
      difficulty: 'medium',
      scenario: null,
      question: {
        en: 'Which blob access tiers are available for standard GPv2 accounts? Choose all that apply.',
        de: 'Welche Blob-Zugriffsebenen sind für Standard-GPv2-Konten verfügbar? 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: 'Premium', de: 'Premium' } }
      ],
      correct: ['A', 'B', 'C'],
      explanation: {
        en: 'Standard GPv2 blob storage supports Hot, Cool, and Archive tiers. Premium is a performance offering, not a blob access tier.',
        de: 'Standard-GPv2-Blobspeicher unterstützt die Ebenen Hot, Cool und Archive. Premium ist ein Leistungsangebot und keine Blob-Zugriffsebene.'
      },
      hint: {
        en: 'Three tiers describe access frequency and cost.',
        de: 'Drei Ebenen beschreiben Zugriffshäufigkeit und Kosten.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/blobs/access-tiers-overview'
    },
    {
      id: 'az104-159',
      type: 'single',
      domain: { en: 'Deploy and Manage Azure Compute Resources', de: 'Azure-Compute-Ressourcen bereitstellen und verwalten' },
      difficulty: 'easy',
      scenario: null,
      question: {
        en: 'Which Azure VM size family is optimized for memory-intensive workloads such as large in-memory databases?',
        de: 'Welche Azure-VM-Größenfamilie ist für speicherintensive Workloads wie große In-Memory-Datenbanken optimiert?'
      },
      options: [
        { id: 'A', text: { en: 'B-series', de: 'B-Serie' } },
        { id: 'B', text: { en: 'D-series', de: 'D-Serie' } },
        { id: 'C', text: { en: 'E-series', de: 'E-Serie' } },
        { id: 'D', text: { en: 'F-series', de: 'F-Serie' } }
      ],
      correct: ['C'],
      explanation: {
        en: 'E-series virtual machines are designed for memory-optimized workloads.',
        de: 'Virtuelle Computer der E-Serie sind für speicheroptimierte Workloads ausgelegt.'
      },
      hint: {
        en: 'Think of the Azure VM family known for high RAM.',
        de: 'Denken Sie an die Azure-VM-Familie mit viel RAM.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/overview'
    },
    {
      id: 'az104-160',
      type: 'single',
      domain: { en: 'Deploy and Manage Azure Compute Resources', de: 'Azure-Compute-Ressourcen bereitstellen und verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'You work for Northwind Traders. Use the feature built for planned and unplanned maintenance separation.',
        de: 'Sie arbeiten für Northwind Traders. Verwenden Sie die Funktion zur Trennung geplanter und ungeplanter Wartung.'
      },
      question: {
        en: 'Which feature should you use?',
        de: 'Welche Funktion sollten Sie verwenden?'
      },
      options: [
        { id: 'A', text: { en: 'Availability set', de: 'Verfügbarkeitsgruppe' } },
        { id: 'B', text: { en: 'Administrative unit', de: 'Administrative Einheit' } },
        { id: 'C', text: { en: 'Stored access policy', de: 'Stored Access Policy' } },
        { id: 'D', text: { en: 'Route table', de: 'Routentabelle' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Availability sets distribute VMs across fault and update domains within a datacenter.',
        de: 'Verfügbarkeitsgruppen verteilen VMs innerhalb eines Rechenzentrums auf Fehler- und Updatedomänen.'
      },
      hint: {
        en: 'Use the feature built for planned and unplanned maintenance separation.',
        de: 'Verwenden Sie die Funktion zur Trennung geplanter und ungeplanter Wartung.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/virtual-machines/availability'
    },
    {
      id: 'az104-161',
      type: 'single',
      domain: { en: 'Deploy and Manage Azure Compute Resources', de: 'Azure-Compute-Ressourcen bereitstellen und verwalten' },
      difficulty: 'hard',
      scenario: {
        en: 'At Fabrikam, Inc., a new application needs a virtual machine scale set that can include different VM sizes and support a mix of Spot and regular VMs.',
        de: 'Bei Fabrikam, Inc.: eine neue Anwendung benötigt ein Skalierungsset für virtuelle Maschinen, das unterschiedliche VM-Größen enthalten und eine Mischung aus Spot- und regulären VMs unterstützen kann.'
      },
      question: {
        en: 'Which VMSS orchestration mode best fits this requirement?',
        de: 'Welcher VMSS-Orchestrierungsmodus passt am besten zu dieser Anforderung?'
      },
      options: [
        { id: 'A', text: { en: 'Uniform', de: 'Uniform' } },
        { id: 'B', text: { en: 'Flexible', de: 'Flexible' } },
        { id: 'C', text: { en: 'Dedicated host only', de: 'Nur Dedicated Host' } },
        { id: 'D', text: { en: 'Availability set mode', de: 'Verfügbarkeitsgruppenmodus' } }
      ],
      correct: ['B'],
      explanation: {
        en: 'Flexible orchestration offers more heterogeneous VM scenarios, including mixes of sizes and pricing models.',
        de: 'Flexible Orchestrierung unterstützt heterogenere VM-Szenarien, einschließlich Mischungen aus Größen und Preismodellen.'
      },
      hint: {
        en: 'Choose the VMSS mode with the least homogeneity requirements.',
        de: 'Wählen Sie den VMSS-Modus mit den geringsten Homogenitätsanforderungen.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/virtual-machine-scale-sets/overview'
    },
    {
      id: 'az104-162',
      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 image catalog service rather than a single managed image.',
        de: 'Sie arbeiten für Contoso, Ltd. Verwenden Sie den Bildkatalogdienst statt eines einzelnen verwalteten Images.'
      },
      question: {
        en: 'Which Azure service should you use?',
        de: 'Welchen Azure-Dienst sollten Sie verwenden?'
      },
      options: [
        { id: 'A', text: { en: 'Azure Compute Gallery', de: 'Azure Compute Gallery' } },
        { id: 'B', text: { en: 'Azure DNS', de: 'Azure DNS' } },
        { id: 'C', text: { en: 'Action group', de: 'Aktionsgruppe' } },
        { id: 'D', text: { en: 'Traffic Manager', de: 'Traffic Manager' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Azure Compute Gallery is designed for managing, replicating, versioning, and sharing VM images at scale.',
        de: 'Azure Compute Gallery ist für das Verwalten, Replizieren, Versionieren und Freigeben von VM-Images im großen Maßstab konzipiert.'
      },
      hint: {
        en: 'Use the image catalog service rather than a single managed image.',
        de: 'Verwenden Sie den Bildkatalogdienst statt eines einzelnen verwalteten Images.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/virtual-machines/azure-compute-gallery'
    },
    {
      id: 'az104-163',
      type: 'single',
      domain: { en: 'Deploy and Manage Azure Compute Resources', de: 'Azure-Compute-Ressourcen bereitstellen und verwalten' },
      difficulty: 'easy',
      scenario: {
        en: 'At Northwind Traders, security policy forbids public IP addresses on virtual machines, but administrators still need browser-based RDP and SSH access from the Azure portal.',
        de: 'Bei Northwind Traders: die Sicherheitsrichtlinie verbietet öffentliche IP-Adressen auf virtuellen Maschinen, Administratoren benötigen aber weiterhin browserbasierten RDP- und SSH-Zugriff aus dem Azure-Portal.'
      },
      question: {
        en: 'Which service should you deploy?',
        de: 'Welchen Dienst sollten Sie bereitstellen?'
      },
      options: [
        { id: 'A', text: { en: 'Azure Bastion', de: 'Azure Bastion' } },
        { id: 'B', text: { en: 'Azure DNS', de: 'Azure DNS' } },
        { id: 'C', text: { en: 'Azure Queue Storage', de: 'Azure Queue Storage' } },
        { id: 'D', text: { en: 'Azure Traffic Manager', de: 'Azure Traffic Manager' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Azure Bastion provides RDP and SSH connectivity over TLS through the portal without exposing public IP addresses on the VMs.',
        de: 'Azure Bastion bietet RDP- und SSH-Konnektivität über TLS durch das Portal, ohne öffentliche IP-Adressen auf den VMs bereitzustellen.'
      },
      hint: {
        en: 'Use the managed jump-host service.',
        de: 'Verwenden Sie den verwalteten Jump-Host-Dienst.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/bastion/bastion-overview'
    },
    {
      id: 'az104-164',
      type: 'single',
      domain: { en: 'Deploy and Manage Azure Compute Resources', de: 'Azure-Compute-Ressourcen bereitstellen und verwalten' },
      difficulty: 'easy',
      scenario: null,
      question: {
        en: 'What does a Bicep file compile to before deployment?',
        de: 'Wozu wird eine Bicep-Datei vor der Bereitstellung kompiliert?'
      },
      options: [
        { id: 'A', text: { en: 'ARM JSON template', de: 'ARM-JSON-Vorlage' } },
        { id: 'B', text: { en: 'PowerShell script only', de: 'Nur PowerShell-Skript' } },
        { id: 'C', text: { en: 'Docker image', de: 'Docker-Image' } },
        { id: 'D', text: { en: 'VHD file', de: 'VHD-Datei' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Bicep is a higher-level language that transpiles to a standard ARM JSON template for deployment.',
        de: 'Bicep ist eine höhere Sprachebene, die für die Bereitstellung in eine standardmäßige ARM-JSON-Vorlage transpiliert.'
      },
      hint: {
        en: 'Bicep is a simpler authoring layer on top of ARM.',
        de: 'Bicep ist eine einfachere Autorenschicht auf ARM.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-resource-manager/bicep/overview'
    },
    {
      id: 'az104-165',
      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 blue-green style feature in App Service.',
        de: 'Sie arbeiten für Fabrikam, Inc. Verwenden Sie die Blue-Green-Funktion in App Service.'
      },
      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 Policy', de: 'Azure Policy' } },
        { id: 'D', text: { en: 'Management groups', de: 'Verwaltungsgruppen' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Deployment slots let you stage, warm up, and swap versions to production with reduced downtime.',
        de: 'Bereitstellungsslots ermöglichen das Staging, Vorwärmen und Austauschen von Versionen in Produktion mit reduzierter Ausfallzeit.'
      },
      hint: {
        en: 'Use the blue-green style feature in App Service.',
        de: 'Verwenden Sie die Blue-Green-Funktion in App Service.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/app-service/deploy-staging-slots'
    },
    {
      id: 'az104-166',
      type: 'single',
      domain: { en: 'Deploy and Manage Azure Compute Resources', de: 'Azure-Compute-Ressourcen bereitstellen und verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'At Contoso, Ltd., an App Service plan must add and remove instances automatically based on CPU usage.',
        de: 'Bei Contoso, Ltd.: ein App-Service-Plan muss Instanzen basierend auf der CPU-Auslastung automatisch hinzufügen und entfernen.'
      },
      question: {
        en: 'Which feature should you configure?',
        de: 'Welche Funktion sollten Sie konfigurieren?'
      },
      options: [
        { id: 'A', text: { en: 'Autoscale', de: 'Autoscale' } },
        { id: 'B', text: { en: 'Resource lock', de: 'Ressourcensperre' } },
        { id: 'C', text: { en: 'Azure Backup', de: 'Azure Backup' } },
        { id: 'D', text: { en: 'Administrative unit', de: 'Administrative Einheit' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Autoscale can increase or decrease the instance count of supported plans based on metrics or schedules.',
        de: 'Autoscale kann die Instanzanzahl unterstützter Pläne basierend auf Metriken oder Zeitplänen erhöhen oder verringern.'
      },
      hint: {
        en: 'You need automatic scale out and scale in.',
        de: 'Sie benötigen automatisches Hoch- und Herunterskalieren.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-monitor/autoscale/autoscale-overview'
    },
    {
      id: 'az104-167',
      type: 'single',
      domain: { en: 'Deploy and Manage Azure Compute Resources', de: 'Azure-Compute-Ressourcen bereitstellen und verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'You work for Northwind Traders. Think of the built-in no-cost certificate option in App Service.',
        de: 'Sie arbeiten für Northwind Traders. Ihr Team evaluiert die integrierte, kostenlose Zertifikatsoption in App Service.'
      },
      question: {
        en: 'Which certificate option should you choose first?',
        de: 'Welche Zertifikatsoption sollten Sie zuerst wählen?'
      },
      options: [
        { id: 'A', text: { en: 'App Service managed certificate', de: 'App-Service-verwaltetes Zertifikat' } },
        { id: 'B', text: { en: 'Recovery Services vault certificate', de: 'Recovery-Services-Vault-Zertifikat' } },
        { id: 'C', text: { en: 'NSG certificate', de: 'NSG-Zertifikat' } },
        { id: 'D', text: { en: 'Boot diagnostics certificate', de: 'Startdiagnose-Zertifikat' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'For supported non-wildcard custom domains, App Service can provision and renew a managed certificate for HTTPS.',
        de: 'Für unterstützte benutzerdefinierte Nicht-Wildcard-Domänen kann App Service ein verwaltetes Zertifikat für HTTPS bereitstellen und erneuern.'
      },
      hint: {
        en: 'Think of the built-in no-cost certificate option in App Service.',
        de: 'Denken Sie an die integrierte, kostenlose Zertifikatsoption in App Service.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/app-service/configure-ssl-certificate'
    },
    {
      id: 'az104-168',
      type: 'single',
      domain: { en: 'Deploy and Manage Azure Compute Resources', de: 'Azure-Compute-Ressourcen bereitstellen und verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'At Fabrikam, Inc., after creating a VM, you must run a script inside the guest operating system to install company software automatically.',
        de: 'Bei Fabrikam, Inc.: nach dem Erstellen einer VM müssen Sie automatisch ein Skript im Gastbetriebssystem ausführen, um Unternehmenssoftware zu installieren.'
      },
      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: 'Azure DNS', de: 'Azure DNS' } },
        { id: 'C', text: { en: 'Traffic Manager', de: 'Traffic Manager' } },
        { id: 'D', text: { en: 'Application security group', de: 'Anwendungssicherheitsgruppe' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'VM extensions such as Custom Script Extension can configure or automate tasks inside the guest after deployment.',
        de: 'VM-Erweiterungen wie die Custom Script Extension können Aufgaben im Gastbetriebssystem nach der Bereitstellung konfigurieren oder automatisieren.'
      },
      hint: {
        en: 'Use a guest extension, not a network feature.',
        de: 'Verwenden Sie eine Gasterweiterung und keine Netzwerkfunktion.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/virtual-machines/extensions/overview'
    },
    {
      id: 'az104-169',
      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 a key benefit of Azure managed disks compared to unmanaged disks?',
        de: 'Was ist ein wesentlicher Vorteil von Azure Managed Disks gegenüber nicht verwalteten Datenträgern?'
      },
      options: [
        { id: 'A', text: { en: 'You must manually create storage accounts for every disk', de: 'Sie müssen manuell Speicherkonten für jeden Datenträger erstellen' } },
        { id: 'B', text: { en: 'Azure manages the underlying storage account complexity', de: 'Azure verwaltet die Komplexität der zugrunde liegenden Speicherkonten' } },
        { id: 'C', text: { en: 'Managed disks can only be used with classic VMs', de: 'Managed Disks können nur mit klassischen VMs verwendet werden' } },
        { id: 'D', text: { en: 'Managed disks do not support snapshots', de: 'Managed Disks unterstützen keine Snapshots' } }
      ],
      correct: ['B'],
      explanation: {
        en: 'Managed disks abstract storage account management and simplify scaling, availability, and disk administration.',
        de: 'Managed Disks abstrahieren die Verwaltung von Speicherkonten und vereinfachen Skalierung, Verfügbarkeit und Datenträgeradministration.'
      },
      hint: {
        en: 'Azure handles the storage account layer for you.',
        de: 'Azure übernimmt die Speicherkontoebene für Sie.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/virtual-machines/managed-disks-overview'
    },
    {
      id: 'az104-170',
      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 critical database VM needs the highest disk IOPS and throughput available in Azure managed disks.',
        de: 'Bei Northwind Traders: eine kritische Datenbank-VM benötigt die höchste in Azure Managed Disks verfügbare IOPS- und Durchsatzleistung.'
      },
      question: {
        en: 'Which disk type should you choose?',
        de: 'Welchen Datenträgertyp sollten Sie wählen?'
      },
      options: [
        { id: 'A', text: { en: 'Standard HDD', de: 'Standard HDD' } },
        { id: 'B', text: { en: 'Standard SSD', de: 'Standard SSD' } },
        { id: 'C', text: { en: 'Premium SSD', de: 'Premium SSD' } },
        { id: 'D', text: { en: 'Ultra Disk', de: 'Ultra Disk' } }
      ],
      correct: ['D'],
      explanation: {
        en: 'Ultra Disk is the top-performance managed disk offering for demanding data workloads.',
        de: 'Ultra Disk ist das leistungsstärkste Managed-Disk-Angebot für anspruchsvolle Daten-Workloads.'
      },
      hint: {
        en: 'Pick the disk tier designed for maximum performance.',
        de: 'Wählen Sie die Datenträgerebene für maximale Leistung.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/virtual-machines/disks-types#ultra-disk'
    },
    {
      id: 'az104-171',
      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. Use the simplest container runtime option in Azure.',
        de: 'Sie arbeiten für Contoso, Ltd. Verwenden Sie die einfachste Containerlaufzeitoption 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 Bastion', de: 'Azure Bastion' } },
        { id: 'C', text: { en: 'Azure Policy', de: 'Azure Policy' } },
        { id: 'D', text: { en: 'Azure DNS', de: 'Azure DNS' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Azure Container Instances runs containers on demand without any cluster management overhead.',
        de: 'Azure Container Instances führt Container bedarfsgesteuert aus, ohne Overhead für das Clustermanagement.'
      },
      hint: {
        en: 'Use the simplest container runtime option in Azure.',
        de: 'Verwenden Sie die einfachste Containerlaufzeitoption in Azure.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/container-instances/container-instances-overview'
    },
    {
      id: 'az104-172',
      type: 'single',
      domain: { en: 'Deploy and Manage Azure Compute Resources', de: 'Azure-Compute-Ressourcen bereitstellen und verwalten' },
      difficulty: 'easy',
      scenario: null,
      question: {
        en: 'In Azure Kubernetes Service (AKS), who manages the Kubernetes control plane?',
        de: 'Wer verwaltet in Azure Kubernetes Service (AKS) die Kubernetes-Steuerungsebene?'
      },
      options: [
        { id: 'A', text: { en: 'The customer manages the control plane VMs directly', de: 'Der Kunde verwaltet die Steuerungsebenen-VMs direkt' } },
        { id: 'B', text: { en: 'Microsoft manages the control plane', de: 'Microsoft verwaltet die Steuerungsebene' } },
        { id: 'C', text: { en: 'Traffic Manager manages the control plane', de: 'Traffic Manager verwaltet die Steuerungsebene' } },
        { id: 'D', text: { en: 'Azure Policy manages the control plane', de: 'Azure Policy verwaltet die Steuerungsebene' } }
      ],
      correct: ['B'],
      explanation: {
        en: 'AKS is a managed Kubernetes service, so Microsoft operates the control plane while you manage node pools and workloads.',
        de: 'AKS ist ein verwalteter Kubernetes-Dienst, daher betreibt Microsoft die Steuerungsebene, während Sie Node Pools und Workloads verwalten.'
      },
      hint: {
        en: 'AKS reduces cluster management burden by hiding the control plane.',
        de: 'AKS reduziert den Clusterverwaltungsaufwand, indem die Steuerungsebene verwaltet wird.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/aks/what-is-aks'
    },
    {
      id: 'az104-173',
      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 disk copy feature, not a networking feature.',
        de: 'Sie arbeiten für Fabrikam, Inc. Verwenden Sie die Datenträgerkopiefunktion und keine Netzwerkfunktion.'
      },
      question: {
        en: 'Which feature should you use?',
        de: 'Welche Funktion sollten Sie verwenden?'
      },
      options: [
        { id: 'A', text: { en: 'Managed disk snapshot', de: 'Managed-Disk-Snapshot' } },
        { id: 'B', text: { en: 'Administrative unit', de: 'Administrative Einheit' } },
        { id: 'C', text: { en: 'Load balancer rule', de: 'Load-Balancer-Regel' } },
        { id: 'D', text: { en: 'Route table', de: 'Routentabelle' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'A managed disk snapshot captures a point-in-time copy that can be used for backup or recovery scenarios.',
        de: 'Ein Managed-Disk-Snapshot erfasst eine zeitpunktgenaue Kopie, die für Sicherungs- oder Wiederherstellungsszenarien verwendet werden kann.'
      },
      hint: {
        en: 'Use the disk copy feature, not a networking feature.',
        de: 'Verwenden Sie die Datenträgerkopiefunktion und keine Netzwerkfunktion.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/virtual-machines/snapshot-copy-managed-disk'
    },
    {
      id: 'az104-174',
      type: 'multiple',
      domain: { en: 'Deploy and Manage Azure Compute Resources', de: 'Azure-Compute-Ressourcen bereitstellen und verwalten' },
      difficulty: 'medium',
      scenario: null,
      question: {
        en: 'Which statements about Bicep are correct? Choose all that apply.',
        de: 'Welche Aussagen zu Bicep sind korrekt? Wählen Sie alle zutreffenden Antworten aus.'
      },
      options: [
        { id: 'A', text: { en: 'It supports modules for reusable deployments', de: 'Es unterstützt Module für wiederverwendbare Bereitstellungen' } },
        { id: 'B', text: { en: 'It offers simpler syntax than raw ARM JSON', de: 'Es bietet eine einfachere Syntax als reines ARM-JSON' } },
        { id: 'C', text: { en: 'It transpiles to ARM templates before deployment', de: 'Es wird vor der Bereitstellung in ARM-Vorlagen transpiliert' } },
        { id: 'D', text: { en: 'It requires a dedicated VM to run in Azure', de: 'Es erfordert eine dedizierte VM, um in Azure ausgeführt zu werden' } }
      ],
      correct: ['A', 'B', 'C'],
      explanation: {
        en: 'Bicep is a domain-specific language for ARM that supports modules, cleaner syntax, and transpilation to JSON templates.',
        de: 'Bicep ist eine domänenspezifische Sprache für ARM, die Module, eine klarere Syntax und die Transpilierung in JSON-Vorlagen unterstützt.'
      },
      hint: {
        en: 'Bicep is an authoring language, not a runtime service.',
        de: 'Bicep ist eine Autorensprache und kein Laufzeitdienst.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-resource-manager/bicep/overview'
    },
    {
      id: 'az104-175',
      type: 'single',
      domain: { en: 'Deploy and Manage Azure Compute Resources', de: 'Azure-Compute-Ressourcen bereitstellen und verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'You work for Northwind Traders. This feature isolates production and staging versions.',
        de: 'Sie arbeiten für Northwind Traders. Diese Funktion trennt Produktions- und Staging-Versionen.'
      },
      question: {
        en: 'What is the best App Service feature to use?',
        de: 'Welche App-Service-Funktion ist dafür am besten geeignet?'
      },
      options: [
        { id: 'A', text: { en: 'Deployment slot', de: 'Bereitstellungsslot' } },
        { id: 'B', text: { en: 'Administrative unit', de: 'Administrative Einheit' } },
        { id: 'C', text: { en: 'Recovery Services vault', de: 'Recovery-Services-Tresor' } },
        { id: 'D', text: { en: 'Availability set', de: 'Verfügbarkeitsgruppe' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'A deployment slot lets you run and test the new version separately before swapping it into production.',
        de: 'Ein Bereitstellungsslot ermöglicht es, die neue Version separat auszuführen und zu testen, bevor sie in die Produktion getauscht wird.'
      },
      hint: {
        en: 'This feature isolates production and staging versions.',
        de: 'Diese Funktion trennt Produktions- und Staging-Versionen.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/app-service/deploy-staging-slots'
    },
    {
      id: 'az104-176',
      type: 'multiple',
      domain: { en: 'Deploy and Manage Azure Compute Resources', de: 'Azure-Compute-Ressourcen bereitstellen und verwalten' },
      difficulty: 'medium',
      scenario: null,
      question: {
        en: 'Which tasks can Azure VM extensions help with? Choose all that apply.',
        de: 'Bei welchen Aufgaben können Azure-VM-Erweiterungen helfen? Wählen Sie alle zutreffenden Antworten aus.'
      },
      options: [
        { id: 'A', text: { en: 'Run post-deployment scripts', de: 'Skripte nach der Bereitstellung ausführen' } },
        { id: 'B', text: { en: 'Install or configure security software', de: 'Sicherheitssoftware installieren oder konfigurieren' } },
        { id: 'C', text: { en: 'Apply desired state configuration inside the guest', de: 'Desired State Configuration im Gast anwenden' } },
        { id: 'D', text: { en: 'Change the VM size family instantly', de: 'Die VM-Größenfamilie sofort ändern' } }
      ],
      correct: ['A', 'B', 'C'],
      explanation: {
        en: 'Extensions perform guest-level configuration and automation tasks. VM resizing is a platform operation, not an extension task.',
        de: 'Erweiterungen führen Konfigurations- und Automatisierungsaufgaben im Gast aus. Das Ändern der VM-Größe ist ein Plattformvorgang und keine Erweiterungsaufgabe.'
      },
      hint: {
        en: 'Focus on guest configuration capabilities.',
        de: 'Konzentrieren Sie sich auf Fähigkeiten zur Gastkonfiguration.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/virtual-machines/extensions/overview'
    },
    {
      id: 'az104-177',
      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 web tier runs on a VM scale set and must add instances automatically when average CPU exceeds 70 percent.',
        de: 'Bei Contoso, Ltd.: eine Webebene läuft auf einem VM-Skalierungsset und muss automatisch Instanzen hinzufügen, wenn die durchschnittliche CPU-Auslastung 70 Prozent überschreitet.'
      },
      question: {
        en: 'Which feature should you configure?',
        de: 'Welche Funktion sollten Sie konfigurieren?'
      },
      options: [
        { id: 'A', text: { en: 'Autoscale settings', de: 'Autoscale-Einstellungen' } },
        { id: 'B', text: { en: 'Stored access policy', de: 'Stored Access Policy' } },
        { id: 'C', text: { en: 'Private DNS zone', de: 'Private DNS-Zone' } },
        { id: 'D', text: { en: 'Resource lock', de: 'Ressourcensperre' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'VM scale sets integrate with autoscale rules so instance count can react to metrics such as CPU.',
        de: 'VM-Skalierungssets integrieren sich mit Autoscale-Regeln, sodass die Instanzanzahl auf Metriken wie CPU reagieren kann.'
      },
      hint: {
        en: 'You need metric-based scaling.',
        de: 'Sie benötigen metrikbasiertes Skalieren.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-monitor/autoscale/autoscale-overview'
    },
    {
      id: 'az104-178',
      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 gallery service for image sharing at scale.',
        de: 'Contoso, Ltd. – Ihr Image-Team muss versionierte VM-Images veröffentlichen, die von mehreren Abonnements genutzt und in mehrere Regionen repliziert werden können.'
      },
      question: {
        en: 'What should you implement?',
        de: 'Was sollten Sie implementieren?'
      },
      options: [
        { id: 'A', text: { en: 'Azure Compute Gallery', de: 'Azure Compute Gallery' } },
        { id: 'B', text: { en: 'Azure Queue Storage', de: 'Azure Queue Storage' } },
        { id: 'C', text: { en: 'ExpressRoute', de: 'ExpressRoute' } },
        { id: 'D', text: { en: 'Action group', de: 'Aktionsgruppe' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Azure Compute Gallery supports versioned image definitions and regional replication for broad reuse.',
        de: 'Azure Compute Gallery unterstützt versionierte Image-Definitionen und regionale Replikation für eine breite Wiederverwendung.'
      },
      hint: {
        en: 'Use the gallery service for image sharing at scale.',
        de: 'Verwenden Sie den Galeriedienst für die gemeinsame Nutzung von Images im großen Maßstab.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/virtual-machines/azure-compute-gallery'
    },
    {
      id: 'az104-179',
      type: 'single',
      domain: { en: 'Deploy and Manage Azure Compute Resources', de: 'Azure-Compute-Ressourcen bereitstellen und verwalten' },
      difficulty: 'easy',
      scenario: null,
      question: {
        en: 'In App Service, what does scale up mean?',
        de: 'Was bedeutet in App Service Scale Up?'
      },
      options: [
        { id: 'A', text: { en: 'Increase the pricing tier or instance size of the App Service plan', de: 'Die Preisstufe oder Instanzgröße des App-Service-Plans erhöhen' } },
        { id: 'B', text: { en: 'Add more deployment slots automatically', de: 'Automatisch mehr Bereitstellungsslots hinzufügen' } },
        { id: 'C', text: { en: 'Move the app to another tenant', de: 'Die App in einen anderen Mandanten verschieben' } },
        { id: 'D', text: { en: 'Enable private endpoints only', de: 'Nur Private Endpoints aktivieren' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Scale up changes the compute resources of the plan, while scale out changes the number of instances.',
        de: 'Scale Up ändert die Computeressourcen des Plans, während Scale Out die Anzahl der Instanzen ändert.'
      },
      hint: {
        en: 'Up means bigger, out means more.',
        de: 'Up bedeutet größer, Out bedeutet mehr.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/app-service/manage-scale-up'
    },
    {
      id: 'az104-180',
      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. Your team needs the policy designed for batch jobs.',
        de: 'Sie arbeiten für Fabrikam, Inc. Ihr Team benötigt die Richtlinie, die für Batchjobs vorgesehen ist.'
      },
      question: {
        en: 'Which restart policy should you select?',
        de: 'Welche Neustartrichtlinie sollten Sie auswählen?'
      },
      options: [
        { id: 'A', text: { en: 'Always', de: 'Always' } },
        { id: 'B', text: { en: 'OnFailure', de: 'OnFailure' } },
        { id: 'C', text: { en: 'Manual', de: 'Manual' } },
        { id: 'D', text: { en: 'Disabled', de: 'Disabled' } }
      ],
      correct: ['B'],
      explanation: {
        en: 'OnFailure restarts the container only when the workload exits with a non-zero status code.',
        de: 'OnFailure startet den Container nur neu, wenn die Workload mit einem Fehlercode ungleich null beendet wird.'
      },
      hint: {
        en: 'Choose the policy designed for batch jobs.',
        de: 'Wählen Sie die Richtlinie, die für Batchjobs vorgesehen ist.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/container-instances/container-instances-overview'
    },
    {
      id: 'az104-181',
      type: 'single',
      domain: { en: 'Deploy and Manage Azure Compute Resources', de: 'Azure-Compute-Ressourcen bereitstellen und verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'At Northwind Traders, an AKS cluster must host both Linux and Windows containers.',
        de: 'Northwind Traders – Ein AKS-Cluster muss sowohl Linux- als auch Windows-Container hosten.'
      },
      question: {
        en: 'What should you configure?',
        de: 'Was sollten Sie konfigurieren?'
      },
      options: [
        { id: 'A', text: { en: 'Separate node pools for Linux and Windows', de: 'Separate Node Pools für Linux und Windows' } },
        { id: 'B', text: { en: 'A single Bastion host', de: 'Einen einzelnen Bastion-Host' } },
        { id: 'C', text: { en: 'Only a private DNS zone', de: 'Nur eine Private DNS-Zone' } },
        { id: 'D', text: { en: 'A resource lock on the cluster', de: 'Eine Ressourcensperre auf dem Cluster' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'AKS uses separate node pools because Windows and Linux containers require different node operating systems.',
        de: 'AKS verwendet separate Node Pools, da Windows- und Linux-Container unterschiedliche Node-Betriebssysteme benötigen.'
      },
      hint: {
        en: 'Container OS types map to node pool OS types.',
        de: 'Container-Betriebssystemtypen entsprechen den Betriebssystemtypen der Node Pools.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/aks/what-is-aks'
    },
    {
      id: 'az104-182',
      type: 'single',
      domain: { en: 'Implement and Manage Virtual Networking', de: 'Virtuelle Netzwerke implementieren und verwalten' },
      difficulty: 'medium',
      scenario: null,
      question: {
        en: 'Which statement about Azure VNet peering is correct?',
        de: 'Welche Aussage zu Azure-VNet-Peering ist korrekt?'
      },
      options: [
        { id: 'A', text: { en: 'Peering is transitive by default', de: 'Peering ist standardmäßig transitiv' } },
        { id: 'B', text: { en: 'Peering enables direct private connectivity between the peered VNets', de: 'Peering ermöglicht direkte private Konnektivität zwischen den gekoppelten VNets' } },
        { id: 'C', text: { en: 'Peering requires a VPN gateway in every VNet', de: 'Peering erfordert in jedem VNet ein VPN-Gateway' } },
        { id: 'D', text: { en: 'Peering automatically creates public IP addresses', de: 'Peering erstellt automatisch öffentliche IP-Adressen' } }
      ],
      correct: ['B'],
      explanation: {
        en: 'VNet peering connects VNets over the Azure backbone with private IP reachability, but it is not transitive by default.',
        de: 'VNet-Peering verbindet VNets über das Azure-Backbone mit Erreichbarkeit über private IPs, ist aber nicht standardmäßig transitiv.'
      },
      hint: {
        en: 'Think private backbone connectivity.',
        de: 'Denken Sie an private Backbone-Konnektivität.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/virtual-network/virtual-network-peering-overview'
    },
    {
      id: 'az104-183',
      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 subnet by using a private IP address inside the virtual network.',
        de: 'Bei Contoso, Ltd. muss aus einem Subnetz über eine private IP-Adresse innerhalb des virtuellen Netzwerks erreichbar sein.'
      },
      question: {
        en: 'Which feature should you use?',
        de: 'Welche Funktion sollten Sie verwenden?'
      },
      options: [
        { id: 'A', text: { en: 'Service endpoint', de: 'Service Endpoint' } },
        { id: 'B', text: { en: 'Private endpoint', de: 'Private Endpoint' } },
        { id: 'C', text: { en: 'Application security group', de: 'Anwendungssicherheitsgruppe' } },
        { id: 'D', text: { en: 'NSG flow log', de: 'NSG-Flowlog' } }
      ],
      correct: ['B'],
      explanation: {
        en: 'A private endpoint maps the PaaS service to a private IP in your VNet through Azure Private Link.',
        de: 'Ein Private Endpoint ordnet den PaaS-Dienst über Azure Private Link einer privaten IP in Ihrem VNet zu.'
      },
      hint: {
        en: 'Use the option that gives the service a private IP in the subnet.',
        de: 'Verwenden Sie die Option, die dem Dienst eine private IP im Subnetz gibt.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/private-link/private-endpoint-overview'
    },
    {
      id: 'az104-184',
      type: 'single',
      domain: { en: 'Implement and Manage Virtual Networking', de: 'Virtuelle Netzwerke implementieren und verwalten' },
      difficulty: 'easy',
      scenario: null,
      question: {
        en: 'How are NSG rules processed when multiple rules match the same traffic?',
        de: 'Wie werden NSG-Regeln verarbeitet, wenn mehrere Regeln auf denselben Datenverkehr zutreffen?'
      },
      options: [
        { id: 'A', text: { en: 'The rule with the lowest priority number is evaluated first', de: 'Die Regel mit der niedrigsten Prioritätsnummer wird zuerst ausgewertet' } },
        { id: 'B', text: { en: 'The most recently created rule wins', de: 'Die zuletzt erstellte Regel gewinnt' } },
        { id: 'C', text: { en: 'Deny rules always run after allow rules', de: 'Deny-Regeln werden immer nach Allow-Regeln ausgeführt' } },
        { id: 'D', text: { en: 'Azure chooses a rule at random', de: 'Azure wählt eine Regel zufällig aus' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'NSG rules are processed in ascending priority order, so lower numbers are evaluated before higher numbers.',
        de: 'NSG-Regeln werden in aufsteigender Prioritätsreihenfolge verarbeitet, daher werden niedrigere Nummern vor höheren ausgewertet.'
      },
      hint: {
        en: 'Lower number means higher priority.',
        de: 'Eine niedrigere Zahl bedeutet eine höhere Priorität.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/virtual-network/network-security-groups-overview'
    },
    {
      id: 'az104-185',
      type: 'single',
      domain: { en: 'Implement and Manage Virtual Networking', de: 'Virtuelle Netzwerke implementieren und verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'You work for Fabrikam, Inc. Think of grouping workloads for NSG rule targets.',
        de: 'Sie arbeiten für Fabrikam, Inc. Ihr Team evaluiert das Gruppieren von Workloads für Ziele in NSG-Regeln.'
      },
      question: {
        en: 'Which feature should you use?',
        de: 'Welche Funktion sollten Sie verwenden?'
      },
      options: [
        { id: 'A', text: { en: 'Application security groups', de: 'Anwendungssicherheitsgruppen' } },
        { id: 'B', text: { en: 'Administrative units', de: 'Administrative Einheiten' } },
        { id: 'C', text: { en: 'Boot diagnostics', de: 'Startdiagnose' } },
        { id: 'D', text: { en: 'Stored access policies', de: 'Stored Access Policies' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Application security groups let you group VM NICs logically and reference those groups in NSG rules.',
        de: 'Mit Anwendungssicherheitsgruppen können Sie VM-NICs logisch gruppieren und diese Gruppen in NSG-Regeln referenzieren.'
      },
      hint: {
        en: 'Think of grouping workloads for NSG rule targets.',
        de: 'Denken Sie an das Gruppieren von Workloads für Ziele in NSG-Regeln.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/virtual-network/application-security-groups'
    },
    {
      id: 'az104-186',
      type: 'single',
      domain: { en: 'Implement and Manage Virtual Networking', de: 'Virtuelle Netzwerke implementieren und verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'At Northwind Traders, virtual machines in a VNet must resolve names in an Azure private DNS zone.',
        de: 'Bei Northwind Traders virtuelle Maschinen in einem VNet müssen Namen in einer Azure Private DNS Zone auflösen können.'
      },
      question: {
        en: 'What must you configure?',
        de: 'Was müssen Sie konfigurieren?'
      },
      options: [
        { id: 'A', text: { en: 'Link the private DNS zone to the VNet', de: 'Die Private DNS Zone mit dem VNet verknüpfen' } },
        { id: 'B', text: { en: 'Create a public load balancer', de: 'Einen öffentlichen Load Balancer erstellen' } },
        { id: 'C', text: { en: 'Enable boot diagnostics', de: 'Startdiagnose aktivieren' } },
        { id: 'D', text: { en: 'Deploy Azure File Sync', de: 'Azure File Sync bereitstellen' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Private DNS zones resolve for resources in linked VNets.',
        de: 'Private DNS-Zonen werden für Ressourcen in verknüpften VNets aufgelöst.'
      },
      hint: {
        en: 'The zone must know which VNets can use it.',
        de: 'Die Zone muss wissen, welche VNets sie verwenden dürfen.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/dns/private-dns-overview'
    },
    {
      id: 'az104-187',
      type: 'single',
      domain: { en: 'Implement and Manage Virtual Networking', de: 'Virtuelle Netzwerke implementieren und verwalten' },
      difficulty: 'easy',
      scenario: null,
      question: {
        en: 'Which Azure DNS zone type hosts records that are resolvable from the public internet?',
        de: 'Welcher Azure-DNS-Zonentyp hostet Einträge, die aus dem öffentlichen Internet auflösbar sind?'
      },
      options: [
        { id: 'A', text: { en: 'Private DNS zone', de: 'Private DNS-Zone' } },
        { id: 'B', text: { en: 'Public DNS zone', de: 'Öffentliche DNS-Zone' } },
        { id: 'C', text: { en: 'Recovery Services zone', de: 'Recovery-Services-Zone' } },
        { id: 'D', text: { en: 'Application Gateway zone', de: 'Application-Gateway-Zone' } }
      ],
      correct: ['B'],
      explanation: {
        en: 'Public DNS zones host records for internet-facing name resolution.',
        de: 'Öffentliche DNS-Zonen hosten Einträge für die namensbasierte Auflösung im Internet.'
      },
      hint: {
        en: 'Choose the DNS zone type for internet-visible names.',
        de: 'Wählen Sie den DNS-Zonentyp für internetweit sichtbare Namen.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/dns/dns-overview'
    },
    {
      id: 'az104-188',
      type: 'single',
      domain: { en: 'Implement and Manage Virtual Networking', de: 'Virtuelle Netzwerke implementieren und verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'You work for Contoso, Ltd. This is network-to-network connectivity.',
        de: 'Sie arbeiten für Contoso, Ltd. Dies ist Netzwerk-zu-Netzwerk-Konnektivität.'
      },
      question: {
        en: 'Which VPN option should you use?',
        de: 'Welche VPN-Option sollten Sie verwenden?'
      },
      options: [
        { id: 'A', text: { en: 'Site-to-site VPN', de: 'Site-to-Site-VPN' } },
        { id: 'B', text: { en: 'Point-to-site VPN', de: 'Point-to-Site-VPN' } },
        { id: 'C', text: { en: 'VNet peering only', de: 'Nur VNet-Peering' } },
        { id: 'D', text: { en: 'Application Gateway', de: 'Application Gateway' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Site-to-site VPN connects entire on-premises networks to Azure over IPsec/IKE through a VPN gateway.',
        de: 'Site-to-Site-VPN verbindet vollständige lokale Netzwerke über IPsec/IKE und ein VPN-Gateway mit Azure.'
      },
      hint: {
        en: 'This is network-to-network connectivity.',
        de: 'Dies ist Netzwerk-zu-Netzwerk-Konnektivität.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/vpn-gateway/vpn-gateway-about-vpngateways'
    },
    {
      id: 'az104-189',
      type: 'single',
      domain: { en: 'Implement and Manage Virtual Networking', de: 'Virtuelle Netzwerke implementieren und verwalten' },
      difficulty: 'easy',
      scenario: {
        en: 'At Fabrikam, Inc., remote users working from home need secure individual connectivity into an Azure virtual network from their laptops.',
        de: 'Bei Fabrikam, Inc.: remote-Benutzer im Homeoffice benötigen eine sichere individuelle Konnektivität aus ihren Laptops in ein Azure Virtual Network.'
      },
      question: {
        en: 'Which VPN option should you choose?',
        de: 'Welche VPN-Option sollten Sie wählen?'
      },
      options: [
        { id: 'A', text: { en: 'Point-to-site VPN', de: 'Point-to-Site-VPN' } },
        { id: 'B', text: { en: 'Site-to-site VPN', de: 'Site-to-Site-VPN' } },
        { id: 'C', text: { en: 'ExpressRoute Direct', de: 'ExpressRoute Direct' } },
        { id: 'D', text: { en: 'VNet peering', de: 'VNet-Peering' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Point-to-site VPN is intended for individual client devices connecting securely to Azure VNets.',
        de: 'Point-to-Site-VPN ist für einzelne Clientgeräte gedacht, die sich sicher mit Azure-VNets verbinden.'
      },
      hint: {
        en: 'One user device at a time is the key clue.',
        de: 'Das entscheidende Merkmal ist ein einzelnes Benutzergerät.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/vpn-gateway/vpn-gateway-about-vpngateways'
    },
    {
      id: 'az104-190',
      type: 'single',
      domain: { en: 'Implement and Manage Virtual Networking', de: 'Virtuelle Netzwerke implementieren und verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'Fabrikam, Inc. wants a private dedicated connection from its datacenter to Microsoft cloud services without traversing the public internet.',
        de: 'Fabrikam, Inc. möchte eine private dedizierte Verbindung von seinem Rechenzentrum zu Microsoft-Cloud-Diensten, ohne das öffentliche Internet zu durchqueren.'
      },
      question: {
        en: 'Which Azure service should you use?',
        de: 'Welchen Azure-Dienst sollten Sie verwenden?'
      },
      options: [
        { id: 'A', text: { en: 'ExpressRoute', de: 'ExpressRoute' } },
        { id: 'B', text: { en: 'Point-to-site VPN', de: 'Point-to-Site-VPN' } },
        { id: 'C', text: { en: 'Public DNS zone', de: 'Öffentliche DNS-Zone' } },
        { id: 'D', text: { en: 'Application security group', de: 'Anwendungssicherheitsgruppe' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'ExpressRoute provides private connectivity to Microsoft cloud services through a connectivity provider.',
        de: 'ExpressRoute bietet private Konnektivität zu Microsoft-Cloud-Diensten über einen Verbindungsanbieter.'
      },
      hint: {
        en: 'Use the dedicated private WAN option.',
        de: 'Verwenden Sie die dedizierte private WAN-Option.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/expressroute/expressroute-introduction'
    },
    {
      id: 'az104-191',
      type: 'single',
      domain: { en: 'Implement and Manage Virtual Networking', de: 'Virtuelle Netzwerke implementieren und verwalten' },
      difficulty: 'medium',
      scenario: null,
      question: {
        en: 'Which Azure Load Balancer SKU is recommended for production workloads and is secure by default?',
        de: 'Welche Azure-Load-Balancer-SKU wird für Produktionsworkloads empfohlen und ist standardmäßig sicher?' 
      },
      options: [
        { id: 'A', text: { en: 'Basic', de: 'Basic' } },
        { id: 'B', text: { en: 'Standard', de: 'Standard' } },
        { id: 'C', text: { en: 'Classic', de: 'Klassisch' } },
        { id: 'D', text: { en: 'Free', de: 'Kostenlos' } }
      ],
      correct: ['B'],
      explanation: {
        en: 'Standard Load Balancer is the recommended production SKU and uses a closed-by-default security posture.',
        de: 'Standard Load Balancer ist die empfohlene Produktions-SKU und verwendet standardmäßig ein geschlossenes Sicherheitsmodell.'
      },
      hint: {
        en: 'Choose the newer production-grade SKU.',
        de: 'Wählen Sie die neuere, produktionsreife SKU.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/load-balancer/load-balancer-overview'
    },
    {
      id: 'az104-192',
      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 application-layer routing and WAF together.',
        de: 'Sie arbeiten für Northwind Traders. Sie benötigen Routing auf Anwendungsebene und WAF zusammen.'
      },
      question: {
        en: 'Which Azure service should you deploy?',
        de: 'Welchen Azure-Dienst sollten Sie bereitstellen?'
      },
      options: [
        { id: 'A', text: { en: 'Application Gateway', de: 'Application Gateway' } },
        { id: 'B', text: { en: 'Traffic Manager only', de: 'Nur Traffic Manager' } },
        { id: 'C', text: { en: 'Azure Queue Storage', de: 'Azure Queue Storage' } },
        { id: 'D', text: { en: 'Azure File Sync', de: 'Azure File Sync' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Application Gateway is a Layer 7 load balancer that supports URL-based routing and optional WAF capabilities.',
        de: 'Application Gateway ist ein Load Balancer auf Schicht 7, der URL-basiertes Routing und optionale WAF-Funktionen unterstützt.'
      },
      hint: {
        en: 'You need application-layer routing and WAF together.',
        de: 'Sie benötigen Routing auf Anwendungsebene und WAF zusammen.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/application-gateway/overview'
    },
    {
      id: 'az104-193',
      type: 'single',
      domain: { en: 'Implement and Manage Virtual Networking', de: 'Virtuelle Netzwerke implementieren und verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'Users at Contoso, Ltd. across the world should be directed to the best application endpoint by using DNS-based traffic distribution.',
        de: 'Benutzer bei Contoso, Ltd. auf der ganzen Welt sollen mithilfe DNS-basierter Verkehrsverteilung zum besten Anwendungsendpunkt geleitet werden.'
      },
      question: {
        en: 'Which Azure service is designed for this?',
        de: 'Welcher Azure-Dienst ist dafür vorgesehen?'
      },
      options: [
        { id: 'A', text: { en: 'Traffic Manager', de: 'Traffic Manager' } },
        { id: 'B', text: { en: 'NSG', de: 'NSG' } },
        { id: 'C', text: { en: 'Azure Files', de: 'Azure Files' } },
        { id: 'D', text: { en: 'Management group', de: 'Verwaltungsgruppe' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Traffic Manager uses DNS to direct clients to endpoints based on routing methods such as priority, performance, or geographic rules.',
        de: 'Traffic Manager verwendet DNS, um Clients anhand von Routingmethoden wie Priorität, Leistung oder geografischen Regeln zu Endpunkten zu leiten.'
      },
      hint: {
        en: 'This is global DNS traffic steering.',
        de: 'Dies ist globale DNS-Verkehrslenkung.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/traffic-manager/traffic-manager-overview'
    },
    {
      id: 'az104-194',
      type: 'single',
      domain: { en: 'Implement and Manage Virtual Networking', de: 'Virtuelle Netzwerke implementieren und verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'The security team at Fabrikam, Inc. wants centralized outbound filtering, network rules, and FQDN-based application rules for multiple subnets.',
        de: 'Das Sicherheitsteam von Fabrikam, Inc. möchte zentralisierte Ausgangsfilterung, Netzwerkregeln und FQDN-basierte Anwendungsregeln für mehrere Subnetze.'
      },
      question: {
        en: 'Which Azure service best fits this design?',
        de: 'Welcher Azure-Dienst passt am besten zu diesem Design?'
      },
      options: [
        { id: 'A', text: { en: 'Azure Firewall', de: 'Azure Firewall' } },
        { id: 'B', text: { en: 'Azure DNS', de: 'Azure DNS' } },
        { id: 'C', text: { en: 'Administrative unit', de: 'Administrative Einheit' } },
        { id: 'D', text: { en: 'Azure Files', de: 'Azure Files' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Azure Firewall provides centralized stateful filtering with network, application, and NAT rule capabilities.',
        de: 'Azure Firewall bietet zentralisierte zustandsbehaftete Filterung mit Netzwerk-, Anwendungs- und NAT-Regeln.'
      },
      hint: {
        en: 'Choose the managed cloud firewall service.',
        de: 'Wählen Sie den verwalteten Cloud-Firewall-Dienst.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/firewall/overview'
    },
    {
      id: 'az104-195',
      type: 'single',
      domain: { en: 'Implement and Manage Virtual Networking', de: 'Virtuelle Netzwerke implementieren und verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'You work for Northwind Traders. Control the path with custom routing.',
        de: 'Sie arbeiten für Northwind Traders. Steuern Sie den Pfad mit benutzerdefiniertem Routing.'
      },
      question: {
        en: 'What should you configure?',
        de: 'Was sollten Sie konfigurieren?'
      },
      options: [
        { id: 'A', text: { en: 'A user-defined route with next hop set to Virtual appliance', de: 'Eine benutzerdefinierte Route mit nächstem Hop Virtual Appliance' } },
        { id: 'B', text: { en: 'A public DNS zone', de: 'Eine öffentliche DNS-Zone' } },
        { id: 'C', text: { en: 'An action group', de: 'Eine Aktionsgruppe' } },
        { id: 'D', text: { en: 'A resource lock', de: 'Eine Ressourcensperre' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'A route table with a UDR can force selected traffic to a virtual appliance as the next hop.',
        de: 'Eine Routentabelle mit einer UDR kann ausgewählten Datenverkehr zu einer virtuellen Appliance als nächstem Hop erzwingen.'
      },
      hint: {
        en: 'Control the path with custom routing.',
        de: 'Steuern Sie den Pfad mit benutzerdefiniertem Routing.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/virtual-network/virtual-networks-udr-overview'
    },
    {
      id: 'az104-196',
      type: 'single',
      domain: { en: 'Implement and Manage Virtual Networking', de: 'Virtuelle Netzwerke implementieren und verwalten' },
      difficulty: 'hard',
      scenario: null,
      question: {
        en: 'Which statement correctly compares service endpoints and private endpoints?',
        de: 'Welche Aussage vergleicht Service Endpoints und Private Endpoints korrekt?'
      },
      options: [
        { id: 'A', text: { en: 'Service endpoints give the service a private IP in your subnet', de: 'Service Endpoints geben dem Dienst eine private IP in Ihrem Subnetz' } },
        { id: 'B', text: { en: 'Private endpoints keep the service on its public endpoint only', de: 'Private Endpoints belassen den Dienst nur auf seinem öffentlichen Endpunkt' } },
        { id: 'C', text: { en: 'Service endpoints extend VNet identity to the service public endpoint, while private endpoints use a private IP in the VNet', de: 'Service Endpoints erweitern die VNet-Identität auf den öffentlichen Dienstendpunkt, während Private Endpoints eine private IP im VNet verwenden' } },
        { id: 'D', text: { en: 'Both features require a VPN gateway', de: 'Beide Funktionen erfordern ein VPN-Gateway' } }
      ],
      correct: ['C'],
      explanation: {
        en: 'Service endpoints secure traffic to the service public endpoint, whereas private endpoints place the service behind a private IP inside your VNet.',
        de: 'Service Endpoints sichern den Datenverkehr zum öffentlichen Dienstendpunkt, während Private Endpoints den Dienst hinter einer privaten IP innerhalb Ihres VNets platzieren.'
      },
      hint: {
        en: 'Public endpoint versus private IP is the core difference.',
        de: 'Öffentlicher Endpunkt versus private IP ist der Kernunterschied.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/virtual-network/virtual-network-service-endpoints-overview'
    },
    {
      id: 'az104-197',
      type: 'single',
      domain: { en: 'Implement and Manage Virtual Networking', de: 'Virtuelle Netzwerke implementieren und verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'You work for Contoso, Ltd. Think cross-region peering.',
        de: 'Sie arbeiten für Contoso, Ltd. Ihr Team evaluiert regionenübergreifendes Peering.'
      },
      question: {
        en: 'Which feature should you use?',
        de: 'Welche Funktion sollten Sie verwenden?'
      },
      options: [
        { id: 'A', text: { en: 'Global VNet peering', de: 'Globales VNet-Peering' } },
        { id: 'B', text: { en: 'Stored access policy', de: 'Stored Access Policy' } },
        { id: 'C', text: { en: 'Application Gateway', de: 'Application Gateway' } },
        { id: 'D', text: { en: 'Public DNS alias record only', de: 'Nur ein öffentlicher DNS-Alias-Eintrag' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Global VNet peering extends private VNet connectivity across Azure regions using the Microsoft backbone network.',
        de: 'Globales VNet-Peering erweitert die private VNet-Konnektivität über Azure-Regionen hinweg unter Verwendung des Microsoft-Backbone-Netzwerks.'
      },
      hint: {
        en: 'Think cross-region peering.',
        de: 'Denken Sie an regionenübergreifendes Peering.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/virtual-network/virtual-network-peering-overview'
    },
    {
      id: 'az104-198',
      type: 'single',
      domain: { en: 'Implement and Manage Virtual Networking', de: 'Virtuelle Netzwerke implementieren und verwalten' },
      difficulty: 'hard',
      scenario: {
        en: 'At Fabrikam, Inc., a hub VNet contains a VPN gateway. A spoke VNet must use that same gateway through VNet peering instead of deploying its own gateway.',
        de: 'Bei Fabrikam, Inc. enthält ein VPN-Gateway. Ein Spoke-VNet soll dasselbe Gateway über VNet-Peering verwenden, statt ein eigenes Gateway bereitzustellen.'
      },
      question: {
        en: 'Which peering capability should you configure?',
        de: 'Welche Peering-Funktion sollten Sie konfigurieren?'
      },
      options: [
        { id: 'A', text: { en: 'Gateway transit', de: 'Gateway Transit' } },
        { id: 'B', text: { en: 'Azure File Sync', de: 'Azure File Sync' } },
        { id: 'C', text: { en: 'Administrative unit', de: 'Administrative Einheit' } },
        { id: 'D', text: { en: 'Boot diagnostics', de: 'Startdiagnose' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Gateway transit allows spoke VNets to use a gateway located in a peered hub VNet.',
        de: 'Gateway Transit ermöglicht es Spoke-VNets, ein Gateway zu verwenden, das sich in einem gekoppelten Hub-VNet befindet.'
      },
      hint: {
        en: 'This is the hub-and-spoke shared gateway setting.',
        de: 'Dies ist die Einstellung für gemeinsam genutzte Gateways im Hub-and-Spoke-Modell.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/virtual-network/virtual-network-peering-overview'
    },
    {
      id: 'az104-199',
      type: 'single',
      domain: { en: 'Implement and Manage Virtual Networking', de: 'Virtuelle Netzwerke implementieren und verwalten' },
      difficulty: 'medium',
      scenario: {
        en: 'Developers at Northwind Traders must reach Azure virtual machines privately, but outbound internet access from workloads must be filtered by FQDN for many subnets.',
        de: 'Entwickler bei Northwind Traders müssen Azure-VMs privat erreichen können, aber der ausgehende Internetzugriff von Workloads muss für viele Subnetze per FQDN gefiltert werden.'
      },
      question: {
        en: 'Which service is best for the outbound filtering requirement?',
        de: 'Welcher Dienst ist für die Anforderung der ausgehenden Filterung am besten geeignet?'
      },
      options: [
        { id: 'A', text: { en: 'Azure Firewall', de: 'Azure Firewall' } },
        { id: 'B', text: { en: 'Private DNS zone', de: 'Private DNS-Zone' } },
        { id: 'C', text: { en: 'Application security group', de: 'Anwendungssicherheitsgruppe' } },
        { id: 'D', text: { en: 'ReadOnly lock', de: 'ReadOnly-Sperre' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Azure Firewall supports centralized outbound control, including FQDN-based application rules.',
        de: 'Azure Firewall unterstützt zentrale Ausgangskontrolle, einschließlich FQDN-basierter Anwendungsregeln.'
      },
      hint: {
        en: 'FQDN filtering is the key requirement.',
        de: 'FQDN-Filterung ist die Schlüsselforderung.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/firewall/overview'
    },
    {
      id: 'az104-200',
      type: 'single',
      domain: { en: 'Implement and Manage Virtual Networking', de: 'Virtuelle Netzwerke implementieren und verwalten' },
      difficulty: 'easy',
      scenario: null,
      question: {
        en: 'Which subnet name is required when deploying Azure Bastion?',
        de: 'Welcher Subnetzname ist bei der Bereitstellung von Azure Bastion erforderlich?'
      },
      options: [
        { id: 'A', text: { en: 'GatewaySubnet', de: 'GatewaySubnet' } },
        { id: 'B', text: { en: 'AzureFirewallSubnet', de: 'AzureFirewallSubnet' } },
        { id: 'C', text: { en: 'AzureBastionSubnet', de: 'AzureBastionSubnet' } },
        { id: 'D', text: { en: 'BastionGateway', de: 'BastionGateway' } }
      ],
      correct: ['C'],
      explanation: {
        en: 'Azure Bastion must be deployed into a dedicated subnet named AzureBastionSubnet.',
        de: 'Azure Bastion muss in ein dediziertes Subnetz mit dem Namen AzureBastionSubnet bereitgestellt werden.'
      },
      hint: {
        en: 'Bastion requires a specific reserved subnet name.',
        de: 'Bastion erfordert einen bestimmten reservierten Subnetznamen.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/bastion/configuration-settings'
    },
    {
      id: 'az104-201',
      type: 'single',
      domain: { en: 'Implement and Manage Virtual Networking', de: 'Virtuelle Netzwerke implementieren und verwalten' },
      difficulty: 'medium',
      scenario: null,
      question: {
        en: 'Which statement about Azure private DNS zones is correct?',
        de: 'Welche Aussage zu Azure Private DNS Zones ist korrekt?'
      },
      options: [
        { id: 'A', text: { en: 'They are automatically resolvable from the public internet', de: 'Sie sind automatisch aus dem öffentlichen Internet auflösbar' } },
        { id: 'B', text: { en: 'They are intended for name resolution inside linked virtual networks', de: 'Sie sind für die Namensauflösung innerhalb verknüpfter virtueller Netzwerke gedacht' } },
        { id: 'C', text: { en: 'They replace Azure RBAC', de: 'Sie ersetzen Azure RBAC' } },
        { id: 'D', text: { en: 'They require ExpressRoute in every case', de: 'Sie erfordern in jedem Fall ExpressRoute' } }
      ],
      correct: ['B'],
      explanation: {
        en: 'Private DNS zones are designed for private name resolution in linked VNets, not for public internet queries.',
        de: 'Private DNS-Zonen sind für die private Namensauflösung in verknüpften VNets und nicht für öffentliche Internetabfragen gedacht.'
      },
      hint: {
        en: 'Private DNS is for private network resolution.',
        de: 'Private DNS ist für die Auflösung in privaten Netzwerken.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/dns/private-dns-overview'
    },
    {
      id: 'az104-202',
      type: 'single',
      domain: { en: 'Monitor and Maintain Azure Resources', de: 'Azure-Ressourcen überwachen und warten' },
      difficulty: 'easy',
      scenario: {
        en: 'You work for Contoso, Ltd. KQL and centralized logs point to one core Azure Monitor component.',
        de: 'Sie arbeiten für Contoso, Ltd. KQL und zentralisierte Protokolle verweisen auf eine zentrale Azure-Monitor-Komponente.'
      },
      question: {
        en: 'Which Azure resource should you use?',
        de: 'Welche Azure-Ressource sollten Sie verwenden?'
      },
      options: [
        { id: 'A', text: { en: 'Log Analytics workspace', de: 'Log-Analytics-Arbeitsbereich' } },
        { id: 'B', text: { en: 'Application security group', de: 'Anwendungssicherheitsgruppe' } },
        { id: 'C', text: { en: 'Private DNS zone', de: 'Private DNS-Zone' } },
        { id: 'D', text: { en: 'Management group', de: 'Verwaltungsgruppe' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'A Log Analytics workspace stores logs for Azure Monitor and supports KQL queries across collected data.',
        de: 'Ein Log-Analytics-Arbeitsbereich speichert Protokolle für Azure Monitor und unterstützt KQL-Abfragen über die erfassten Daten.'
      },
      hint: {
        en: 'KQL and centralized logs point to one core Azure Monitor component.',
        de: 'KQL und zentralisierte Protokolle verweisen auf eine zentrale Azure-Monitor-Komponente.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-monitor/logs/log-analytics-workspace-overview'
    },
    {
      id: 'az104-203',
      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 hour?',
        de: 'Welche Klausel filtert in KQL Datensätze auf die letzte Stunde?'
      },
      options: [
        { id: 'A', text: { en: 'where TimeGenerated > ago(1h)', de: 'where TimeGenerated > ago(1h)' } },
        { id: 'B', text: { en: 'sort by 1h', de: 'sort by 1h' } },
        { id: 'C', text: { en: 'take lasthour', de: 'take lasthour' } },
        { id: 'D', text: { en: 'group TimeGenerated = 1h', de: 'group TimeGenerated = 1h' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'The where operator with ago(1h) filters records by timestamp for the previous hour.',
        de: 'Der where-Operator mit ago(1h) filtert Datensätze per Zeitstempel auf die vorherige Stunde.'
      },
      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-204',
      type: 'single',
      domain: { en: 'Monitor and Maintain Azure Resources', de: 'Azure-Ressourcen überwachen und warten' },
      difficulty: 'medium',
      scenario: null,
      question: {
        en: 'What does the KQL statement summarize count() by Computer do?',
        de: 'Was macht die KQL-Anweisung summarize count() by Computer?'
      },
      options: [
        { id: 'A', text: { en: 'Deletes old rows from the table', de: 'Löscht alte Zeilen aus der Tabelle' } },
        { id: 'B', text: { en: 'Groups records by computer and returns a count per computer', de: 'Gruppiert Datensätze nach Computer und gibt eine Anzahl pro Computer zurück' } },
        { id: 'C', text: { en: 'Exports all records to CSV', de: 'Exportiert alle Datensätze nach CSV' } },
        { id: 'D', text: { en: 'Restarts each computer in the result set', de: 'Startet jeden Computer im Ergebnissatz neu' } }
      ],
      correct: ['B'],
      explanation: {
        en: 'summarize count() by Computer aggregates the result set and returns one row per computer with the number of matching records.',
        de: 'summarize count() by Computer aggregiert den Ergebnissatz und gibt pro Computer eine Zeile mit der Anzahl passender Datensätze zurück.'
      },
      hint: {
        en: 'Summarize performs aggregation.',
        de: 'Summarize führt eine Aggregation aus.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-monitor/logs/get-started-queries'
    },
    {
      id: 'az104-205',
      type: 'single',
      domain: { en: 'Monitor and Maintain Azure Resources', de: 'Azure-Ressourcen überwachen und warten' },
      difficulty: 'easy',
      scenario: {
        en: 'You work for Fabrikam, Inc. CPU percentage is a metric, not a log event.',
        de: 'Sie arbeiten für Fabrikam, Inc. CPU-Prozent ist eine Metrik und kein Protokollereignis.'
      },
      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: 'Activity log alert', de: 'Activity-Log-Alarm' } },
        { id: 'C', text: { en: 'Budget alert', de: 'Budgetalarm' } },
        { id: 'D', text: { en: 'RBAC alert', de: 'RBAC-Alarm' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Metric alerts are used for near-real-time evaluation of numeric platform metrics such as CPU percentage.',
        de: 'Metrikalarme werden für die nahezu Echtzeit-Auswertung numerischer Plattformmetriken wie CPU-Prozentwerten verwendet.'
      },
      hint: {
        en: 'CPU percentage is a metric, not a log event.',
        de: 'CPU-Prozent ist eine Metrik und kein Protokollereignis.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-monitor/alerts/alerts-metric-overview'
    },
    {
      id: 'az104-206',
      type: 'single',
      domain: { en: 'Monitor and Maintain Azure Resources', de: 'Azure-Ressourcen überwachen und warten' },
      difficulty: 'medium',
      scenario: {
        en: 'You work for Northwind Traders. Administrative and service health events come from the Activity Log.',
        de: 'Sie arbeiten für Northwind Traders. Verwaltungs- und Service-Health-Ereignisse stammen aus dem Activity Log.'
      },
      question: {
        en: 'Which alert type should you use?',
        de: 'Welchen Alarmtyp sollten Sie verwenden?'
      },
      options: [
        { id: 'A', text: { en: 'Activity log alert', de: 'Activity-Log-Alarm' } },
        { id: 'B', text: { en: 'Metric alert', de: 'Metrikalarm' } },
        { id: 'C', text: { en: 'NSG rule alert', de: 'NSG-Regel-Alarm' } },
        { id: 'D', text: { en: 'Scale set alert', de: 'Skalierungsset-Alarm' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Activity log alerts are used for subscription-level events such as administrative actions, service health, and resource health events.',
        de: 'Activity-Log-Alarme werden für Ereignisse auf Abonnementebene wie Verwaltungsaktionen, Service Health und Resource Health verwendet.'
      },
      hint: {
        en: 'Administrative and service health events come from the Activity Log.',
        de: 'Verwaltungs- und Service-Health-Ereignisse stammen aus dem Activity Log.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-monitor/alerts/alerts-activity-log'
    },
    {
      id: 'az104-207',
      type: 'single',
      domain: { en: 'Monitor and Maintain Azure Resources', de: 'Azure-Ressourcen überwachen und warten' },
      difficulty: 'easy',
      scenario: null,
      question: {
        en: 'What is the purpose of an Azure Monitor action group?',
        de: 'Was ist der Zweck einer Azure-Monitor-Aktionsgruppe?'
      },
      options: [
        { id: 'A', text: { en: 'It defines what notifications or automation run when an alert fires', de: 'Sie definiert, welche Benachrichtigungen oder Automatisierungen ausgeführt werden, wenn ein Alarm ausgelöst wird' } },
        { id: 'B', text: { en: 'It stores backup recovery points', de: 'Sie speichert Backup-Wiederherstellungspunkte' } },
        { id: 'C', text: { en: 'It provides DNS resolution', de: 'Sie stellt DNS-Auflösung bereit' } },
        { id: 'D', text: { en: 'It is required to create VNets', de: 'Sie ist erforderlich, um VNets zu erstellen' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Action groups hold the notification and action targets that alert rules can reuse.',
        de: 'Aktionsgruppen enthalten die Benachrichtigungs- und Aktionsziele, die Alarmregeln wiederverwenden können.'
      },
      hint: {
        en: 'Think alert delivery and response actions.',
        de: 'Denken Sie an Alarmzustellung und Reaktionsaktionen.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-monitor/alerts/action-groups'
    },
    {
      id: 'az104-208',
      type: 'single',
      domain: { en: 'Monitor and Maintain Azure Resources', de: 'Azure-Ressourcen überwachen und warten' },
      difficulty: 'medium',
      scenario: {
        en: 'At Contoso, Ltd., a VM cannot reach a web server, and you want to know whether an NSG rule allows or denies that exact traffic flow.',
        de: 'Bei Contoso, Ltd. kann einen Webserver nicht erreichen, und Sie möchten wissen, ob eine NSG-Regel genau diesen Datenverkehr erlaubt oder verweigert.'
      },
      question: {
        en: 'Which Network Watcher feature should you use?',
        de: 'Welche Network-Watcher-Funktion sollten Sie verwenden?'
      },
      options: [
        { id: 'A', text: { en: 'IP flow verify', de: 'IP Flow Verify' } },
        { id: 'B', text: { en: 'Packet capture', de: 'Packet Capture' } },
        { id: 'C', text: { en: 'Traffic Manager', de: 'Traffic Manager' } },
        { id: 'D', text: { en: 'Recovery Services vault', de: 'Recovery-Services-Tresor' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'IP flow verify checks whether inbound or outbound traffic is allowed or denied for a specific five-tuple and identifies the matching NSG rule.',
        de: 'IP Flow Verify prüft, ob eingehender oder ausgehender Datenverkehr für ein bestimmtes Fünf-Tupel erlaubt oder verweigert wird, und identifiziert die passende NSG-Regel.'
      },
      hint: {
        en: 'You need allow-or-deny validation for one flow.',
        de: 'Sie benötigen eine Allow-oder-Deny-Validierung für einen einzelnen Fluss.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/network-watcher/ip-flow-verify-overview'
    },
    {
      id: 'az104-209',
      type: 'single',
      domain: { en: 'Monitor and Maintain Azure Resources', de: 'Azure-Ressourcen überwachen und warten' },
      difficulty: 'medium',
      scenario: {
        en: 'At Fabrikam, Inc., a VM sends traffic to an IP address, but you are not sure whether Azure routes it to the internet, a virtual appliance, or a virtual network gateway.',
        de: 'Bei Fabrikam, Inc. sendet Datenverkehr an eine IP-Adresse, aber Sie wissen nicht, ob Azure ihn ins Internet, zu einer virtuellen Appliance oder zu einem Virtual Network Gateway routet.'
      },
      question: {
        en: 'Which Network Watcher tool should you use?',
        de: 'Welches Network-Watcher-Tool sollten Sie verwenden?'
      },
      options: [
        { id: 'A', text: { en: 'Next hop', de: 'Next Hop' } },
        { id: 'B', text: { en: 'IP flow verify', de: 'IP Flow Verify' } },
        { id: 'C', text: { en: 'Azure Backup', de: 'Azure Backup' } },
        { id: 'D', text: { en: 'Management group', de: 'Verwaltungsgruppe' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Next hop shows the route that Azure will use to reach a destination from a VM.',
        de: 'Next Hop zeigt die Route, die Azure verwendet, um ein Ziel von einer VM aus zu erreichen.'
      },
      hint: {
        en: 'You need route path analysis, not security rule analysis.',
        de: 'Sie benötigen eine Analyse des Routings, nicht der Sicherheitsregeln.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/network-watcher/next-hop-overview'
    },
    {
      id: 'az104-210',
      type: 'single',
      domain: { en: 'Monitor and Maintain Azure Resources', de: 'Azure-Ressourcen überwachen und warten' },
      difficulty: 'medium',
      scenario: {
        en: 'At Northwind Traders, a server in Azure cannot connect to an on-premises endpoint over VPN, and you want a one-time end-to-end connectivity test with hop details.',
        de: 'Bei Northwind Traders: ein Server in Azure kann über VPN keine Verbindung zu einem lokalen Endpunkt herstellen, und Sie möchten einen einmaligen End-to-End-Konnektivitätstest mit Hop-Details.'
      },
      question: {
        en: 'Which Network Watcher feature should you use?',
        de: 'Welche Network-Watcher-Funktion sollten Sie verwenden?'
      },
      options: [
        { id: 'A', text: { en: 'Connection troubleshoot', de: 'Connection Troubleshoot' } },
        { id: 'B', text: { en: 'Action group', de: 'Aktionsgruppe' } },
        { id: 'C', text: { en: 'Stored access policy', de: 'Stored Access Policy' } },
        { id: 'D', text: { en: 'Application Gateway', de: 'Application Gateway' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Connection troubleshoot performs on-demand connectivity checks and identifies the path and blocking hop when possible.',
        de: 'Connection Troubleshoot führt bedarfsgesteuerte Konnektivitätsprüfungen durch und identifiziert nach Möglichkeit den Pfad und den blockierenden Hop.'
      },
      hint: {
        en: 'Use the one-time troubleshooting test, not continuous monitoring.',
        de: 'Verwenden Sie den einmaligen Fehlerbehebungstest und nicht die kontinuierliche Überwachung.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/network-watcher/connection-troubleshoot-overview'
    },
    {
      id: 'az104-211',
      type: 'single',
      domain: { en: 'Monitor and Maintain Azure Resources', de: 'Azure-Ressourcen überwachen und warten' },
      difficulty: 'medium',
      scenario: {
        en: 'At Contoso, Ltd., security analysts need records of allowed and denied network flows for NSG-protected subnets.',
        de: 'Bei Contoso, Ltd.: sicherheitsanalysten benötigen Aufzeichnungen über erlaubte und verweigerte Netzwerkflü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: 'Management groups', de: 'Verwaltungsgruppen' } },
        { id: 'D', text: { en: 'Private DNS zones', de: 'Private DNS-Zonen' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'NSG flow logs capture information about flows processed by network security groups for analysis and troubleshooting.',
        de: 'NSG-Flowlogs erfassen Informationen über von Netzwerksicherheitsgruppen verarbeitete Flüsse für Analyse und Fehlerbehebung.'
      },
      hint: {
        en: 'You need recorded network flow decisions.',
        de: 'Sie benötigen aufgezeichnete Entscheidungen zu Netzwerkflüssen.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/network-watcher/network-watcher-nsg-flow-logging-overview'
    },
    {
      id: 'az104-212',
      type: 'single',
      domain: { en: 'Monitor and Maintain Azure Resources', de: 'Azure-Ressourcen überwachen und warten' },
      difficulty: 'medium',
      scenario: {
        en: 'You work for Northwind Traders. Your team needs the backup vault resource.',
        de: 'Sie arbeiten für Northwind Traders. Ihr Team benötigt die Tresorressource für Sicherungen.'
      },
      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-Tresor' } },
        { id: 'B', text: { en: 'Application security group', de: 'Anwendungssicherheitsgruppe' } },
        { id: 'C', text: { en: 'Azure DNS zone', de: 'Azure-DNS-Zone' } },
        { id: 'D', text: { en: 'Availability set', de: 'Verfügbarkeitsgruppe' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Azure VM backup commonly uses a Recovery Services vault to store backup metadata and recovery points.',
        de: 'Azure-VM-Backups verwenden üblicherweise einen Recovery-Services-Tresor, um Sicherungsmetadaten und Wiederherstellungspunkte zu speichern.'
      },
      hint: {
        en: 'Choose the backup vault resource.',
        de: 'Wählen Sie die Tresorressource für Sicherungen.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/backup/quick-backup-vm-portal'
    },
    {
      id: 'az104-213',
      type: 'single',
      domain: { en: 'Monitor and Maintain Azure Resources', de: 'Azure-Ressourcen überwachen und warten' },
      difficulty: 'easy',
      scenario: null,
      question: {
        en: 'In Azure Backup, what does a backup policy define for protected VMs?',
        de: 'Was definiert eine Backup-Richtlinie in Azure Backup für geschützte VMs?'
      },
      options: [
        { id: 'A', text: { en: 'The backup schedule and retention settings', de: 'Den Sicherungszeitplan und die Aufbewahrungseinstellungen' } },
        { id: 'B', text: { en: 'The VNet peering topology', de: 'Die VNet-Peering-Topologie' } },
        { id: 'C', text: { en: 'The VM size family', de: 'Die VM-Größenfamilie' } },
        { id: 'D', text: { en: 'The public DNS records', de: 'Die öffentlichen DNS-Einträge' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Backup policies control when backups run and how long recovery points are retained.',
        de: 'Backup-Richtlinien steuern, wann Sicherungen ausgeführt werden und wie lange Wiederherstellungspunkte aufbewahrt werden.'
      },
      hint: {
        en: 'Think schedule plus retention.',
        de: 'Denken Sie an Zeitplan plus Aufbewahrung.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/backup/backup-overview'
    },
    {
      id: 'az104-214',
      type: 'single',
      domain: { en: 'Monitor and Maintain Azure Resources', de: 'Azure-Ressourcen überwachen und warten' },
      difficulty: 'medium',
      scenario: {
        en: 'At Fabrikam, Inc., a backup administrator accidentally deletes backup data. You want a built-in feature that retains the deleted backup items for a period of time.',
        de: 'Bei Fabrikam, Inc.: ein Backup-Administrator löscht versehentlich Sicherungsdaten. Sie möchten eine integrierte Funktion, die gelöschte Sicherungselemente für einen bestimmten Zeitraum aufbewahrt.'
      },
      question: {
        en: 'Which Azure Backup feature helps here?',
        de: 'Welche Azure-Backup-Funktion hilft hier?'
      },
      options: [
        { id: 'A', text: { en: 'Soft delete', de: 'Soft Delete' } },
        { id: 'B', text: { en: 'Azure DNS', de: 'Azure DNS' } },
        { id: 'C', text: { en: 'Application Gateway', de: 'Application Gateway' } },
        { id: 'D', text: { en: 'Azure Policy deny effect', de: 'Azure-Policy-Effekt Deny' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Soft delete protects backup data from accidental or malicious deletion by retaining it for a recovery period.',
        de: 'Soft Delete schützt Sicherungsdaten vor versehentlichem oder böswilligem Löschen, indem sie für einen Wiederherstellungszeitraum aufbewahrt werden.'
      },
      hint: {
        en: 'Use the retention protection feature for deleted backups.',
        de: 'Verwenden Sie die Schutzfunktion zur Aufbewahrung gelöschter Sicherungen.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/backup/backup-azure-security-feature-cloud'
    },
    {
      id: 'az104-215',
      type: 'multiple',
      domain: { en: 'Monitor and Maintain Azure Resources', de: 'Azure-Ressourcen überwachen und warten' },
      difficulty: 'medium',
      scenario: null,
      question: {
        en: 'Which destinations can Azure Monitor diagnostic settings send resource logs to? Choose all that apply.',
        de: 'An welche Ziele können Azure-Monitor-Diagnoseeinstellungen Ressourcenprotokolle 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: 'Management group only', de: 'Nur Verwaltungsgruppe' } }
      ],
      correct: ['A', 'B', 'C'],
      explanation: {
        en: 'Diagnostic settings can route supported logs and metrics to Log Analytics, Storage, or Event Hubs.',
        de: 'Diagnoseeinstellungen können unterstützte Protokolle und Metriken an Log Analytics, Storage oder Event Hubs weiterleiten.'
      },
      hint: {
        en: 'Think analysis, archival, and streaming destinations.',
        de: 'Denken Sie an Analyse-, Archivierungs- und Streaming-Ziele.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/diagnostic-settings'
    },
    {
      id: 'az104-216',
      type: 'multiple',
      domain: { en: 'Monitor and Maintain Azure Resources', de: 'Azure-Ressourcen überwachen und warten' },
      difficulty: 'medium',
      scenario: null,
      question: {
        en: 'Which statements about Azure Monitor metrics and logs are correct? Choose all that apply.',
        de: 'Welche Aussagen zu Azure-Monitor-Metriken und -Protokollen sind korrekt? Wählen Sie alle zutreffenden Antworten aus.'
      },
      options: [
        { id: 'A', text: { en: 'Platform metrics are collected automatically for many Azure resources', de: 'Plattformmetriken werden für viele Azure-Ressourcen automatisch erfasst' } },
        { id: 'B', text: { en: 'Resource logs often require diagnostic settings to be sent to a destination', de: 'Ressourcenprotokolle erfordern häufig Diagnoseeinstellungen, um an ein Ziel gesendet zu werden' } },
        { id: 'C', text: { en: 'Metrics are queried by KQL only after they are converted into DNS records', de: 'Metriken werden erst per KQL abgefragt, nachdem sie in DNS-Einträge konvertiert wurden' } },
        { id: 'D', text: { en: 'Logs generally provide richer event detail than basic platform metrics', de: 'Protokolle liefern im Allgemeinen detailliertere Ereignisinformationen als einfache Plattformmetriken' } }
      ],
      correct: ['A', 'B', 'D'],
      explanation: {
        en: 'Metrics are lightweight numeric signals, while logs usually require explicit routing and provide richer detail for analysis.',
        de: 'Metriken sind leichte numerische Signale, während Protokolle meist explizit weitergeleitet werden müssen und reichere Details für Analysen liefern.'
      },
      hint: {
        en: 'Separate automatic numeric signals from configurable detailed logs.',
        de: 'Trennen Sie automatische numerische Signale von konfigurierbaren detaillierten Protokollen.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/diagnostic-settings'
    },
    {
      id: 'az104-217',
      type: 'single',
      domain: { en: 'Monitor and Maintain Azure Resources', de: 'Azure-Ressourcen überwachen und warten' },
      difficulty: 'medium',
      scenario: {
        en: 'You work for Contoso, Ltd. If the trigger comes from KQL results, use a log-based alert.',
        de: 'Sie arbeiten für Contoso, Ltd. Wenn der Auslöser aus KQL-Ergebnissen kommt, verwenden Sie einen protokollbasierten Alarm.'
      },
      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: 'ReadOnly alert', de: 'ReadOnly-Alarm' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Log alerts evaluate KQL query results in Log Analytics or other supported log stores.',
        de: 'Log-Alarme werten KQL-Abfrageergebnisse in Log Analytics oder anderen unterstützten Protokollspeichern aus.'
      },
      hint: {
        en: 'If the trigger comes from KQL results, use a log-based alert.',
        de: 'Wenn der Auslöser aus KQL-Ergebnissen kommt, verwenden Sie einen protokollbasierten Alarm.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-monitor/alerts/alerts-metric-overview'
    },
    {
      id: 'az104-218',
      type: 'single',
      domain: { en: 'Monitor and Maintain Azure Resources', de: 'Azure-Ressourcen überwachen und warten' },
      difficulty: 'medium',
      scenario: {
        en: 'At Northwind Traders, operations wants continuous monitoring of latency and connectivity between an Azure VM and a SQL endpoint over time.',
        de: 'Bei Northwind Traders: das Betriebsteam möchte Latenz und Konnektivität zwischen einer Azure-VM und einem SQL-Endpunkt kontinuierlich über die Zeit überwachen.'
      },
      question: {
        en: 'Which Network Watcher feature 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: 'Next hop', de: 'Next Hop' } },
        { id: 'C', text: { en: 'Azure DNS', de: 'Azure DNS' } },
        { id: 'D', text: { en: 'Stored access policy', de: 'Stored Access Policy' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Connection Monitor is built for ongoing end-to-end connectivity and latency monitoring.',
        de: 'Connection Monitor ist für die fortlaufende End-to-End-Überwachung von Konnektivität und Latenz ausgelegt.'
      },
      hint: {
        en: 'Use the continuous monitor, not the one-time test.',
        de: 'Verwenden Sie die kontinuierliche Überwachung und nicht den einmaligen Test.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/network-watcher/connection-monitor-overview'
    },
    {
      id: 'az104-219',
      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 packet-level evidence.',
        de: 'Sie arbeiten für Fabrikam, Inc. Sie benötigen Beweise 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: 'Action group', de: 'Aktionsgruppe' } },
        { id: 'C', text: { en: 'Traffic Manager', de: 'Traffic Manager' } },
        { id: 'D', text: { en: 'Administrative unit', de: 'Administrative Einheit' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Packet capture records network traffic from supported VMs for detailed troubleshooting.',
        de: 'Packet Capture zeichnet Netzwerkverkehr von unterstützten VMs für eine detaillierte Fehleranalyse auf.'
      },
      hint: {
        en: 'You need packet-level evidence.',
        de: 'Sie benötigen Beweise auf Paketebene.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/network-watcher/packet-capture-overview'
    },
    {
      id: 'az104-220',
      type: 'single',
      domain: { en: 'Monitor and Maintain Azure Resources', de: 'Azure-Ressourcen überwachen und warten' },
      difficulty: 'easy',
      scenario: {
        en: 'At Contoso, Ltd., a specific virtual machine in Azure is unavailable, and you want health information for that exact resource rather than a broad service incident summary.',
        de: 'Bei Contoso, Ltd.: eine bestimmte virtuelle Maschine in Azure ist nicht verfügbar, und Sie möchten Gesundheitsinformationen für genau diese Ressource statt einer allgemeinen Zusammenfassung eines Dienstvorfalls.'
      },
      question: {
        en: 'Which Azure feature should you check first?',
        de: 'Welche Azure-Funktion sollten Sie zuerst prüfen?'
      },
      options: [
        { id: 'A', text: { en: 'Resource Health', de: 'Resource Health' } },
        { id: 'B', text: { en: 'Public DNS zone', de: 'Öffentliche DNS-Zone' } },
        { id: 'C', text: { en: 'Stored access policy', de: 'Stored Access Policy' } },
        { id: 'D', text: { en: 'Management group', de: 'Verwaltungsgruppe' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Resource Health reports the current and historical health state of a specific Azure resource.',
        de: 'Resource Health meldet den aktuellen und historischen Gesundheitszustand einer bestimmten 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-221',
      type: 'single',
      domain: { en: 'Monitor and Maintain Azure Resources', de: 'Azure-Ressourcen überwachen und warten' },
      difficulty: 'hard',
      scenario: {
        en: 'You work for Northwind Traders. Think of the restore feature based on recent snapshots.',
        de: 'Sie arbeiten für Northwind Traders. Ihr Team evaluiert die Wiederherstellungsfunktion auf Basis aktueller Snapshots.'
      },
      question: {
        en: 'Which Azure Backup capability supports fast restore of recent VM backups?',
        de: 'Welche Azure-Backup-Funktion unterstützt die schnelle Wiederherstellung aktueller VM-Backups?'
      },
      options: [
        { id: 'A', text: { en: 'Instant Restore', de: 'Instant Restore' } },
        { id: 'B', text: { en: 'Administrative units', de: 'Administrative Einheiten' } },
        { id: 'C', text: { en: 'Traffic Manager', de: 'Traffic Manager' } },
        { id: 'D', text: { en: 'Application security groups', de: 'Anwendungssicherheitsgruppen' } }
      ],
      correct: ['A'],
      explanation: {
        en: 'Instant Restore uses snapshots retained for recent recovery points to speed up Azure VM restores.',
        de: 'Instant Restore verwendet Snapshots, die für aktuelle Wiederherstellungspunkte aufbewahrt werden, um Azure-VM-Wiederherstellungen zu beschleunigen.'
      },
      hint: {
        en: 'Think of the restore feature based on recent snapshots.',
        de: 'Denken Sie an die Wiederherstellungsfunktion auf Basis aktueller Snapshots.'
      },
      reference: 'https://learn.microsoft.com/en-us/azure/backup/backup-instant-restore-capability'
    }
  ];
  if (window.ExamData && window.ExamData['az-104']) {
    window.ExamData['az-104'].questions = window.ExamData['az-104'].questions.concat(extra);
  }
})();
