470 lines
31 KiB
XML
470 lines
31 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
||
<quiz>
|
||
|
||
<!-- ============================================================
|
||
223015c – Grundlagen IT- und Internettechnik
|
||
40 Punkte / 40 Minuten
|
||
Michael Czechowski – HdM Stuttgart – WS 2025/26
|
||
============================================================ -->
|
||
|
||
<!-- ─── 3 pt – Von-Neumann: 5 Komponenten ─── -->
|
||
<question type="matching">
|
||
<n><text>Q1 – Von-Neumann: Komponenten zuordnen</text></n>
|
||
<questiontext type="html">
|
||
<text><![CDATA[
|
||
<p>Ordne jeder Komponente der Von-Neumann-Architektur ihre
|
||
Funktion zu.</p>
|
||
]]></text>
|
||
</questiontext>
|
||
<generalfeedback type="html"><text>Die 5 Komponenten: ALU (Rechnen), Steuerwerk (Befehle steuern), Speicherwerk (Programme UND Daten), Ein-/Ausgabe (Peripherie), Bus-System (Verbindung).</text></generalfeedback>
|
||
<defaultgrade>3</defaultgrade>
|
||
<penalty>0.25</penalty>
|
||
<hidden>0</hidden>
|
||
<shuffleanswers>true</shuffleanswers>
|
||
<answer fraction="100"><text>Rechenwerk (ALU)</text><match>Führt arithmetische und logische Operationen durch.</match></answer>
|
||
<answer fraction="100"><text>Steuerwerk</text><match>Holt, dekodiert und steuert die Ausführung von Befehlen.</match></answer>
|
||
<answer fraction="100"><text>Speicherwerk</text><match>Enthält sowohl Programme als auch Daten (Stored Program Concept).</match></answer>
|
||
<answer fraction="100"><text>Ein-/Ausgabe</text><match>Schnittstelle zu externen Geräten wie Tastatur, Bildschirm, Netzwerk.</match></answer>
|
||
<answer fraction="100"><text>Bus-System</text><match>Verbindet alle Komponenten mittels Adress-, Daten- und Steuerbus.</match></answer>
|
||
</question>
|
||
|
||
<!-- ─── 2 pt – Von-Neumann vs Harvard: Transfer ─── -->
|
||
<question type="multichoice">
|
||
<n><text>Q2 – Von-Neumann vs. Harvard</text></n>
|
||
<questiontext type="html">
|
||
<text><![CDATA[
|
||
<p>Ein Arduino-Mikrocontroller nutzt die <strong>Harvard-Architektur</strong>.
|
||
Ein modernes Smartphone nutzt eine (modifizierte) Von-Neumann-Architektur.</p>
|
||
<p><strong>Warum ist die Harvard-Architektur für Echtzeit-Anwendungen
|
||
auf dem Arduino vorteilhafter, und was wäre der Nachteil, wenn
|
||
das Smartphone diese Architektur verwenden würde?</p>
|
||
]]></text>
|
||
</questiontext>
|
||
<generalfeedback type="html"><text>Harvard: separate Code/Daten-Speicher → paralleler Zugriff, schneller. Nachteil: Code und Daten nicht aus gleichem Speicher nahtlos mischbar → weniger Flexibilität, kein „Laden beliebiger Apps" wie bei Von-Neumann.</text></generalfeedback>
|
||
<defaultgrade>2</defaultgrade>
|
||
<penalty>0.25</penalty>
|
||
<hidden>0</hidden>
|
||
<single>true</single>
|
||
<shuffleanswers>true</shuffleanswers>
|
||
<correctfeedback type="html"><text>Genau – Speed vs. Flexibilität.</text></correctfeedback>
|
||
<incorrectfeedback type="html"><text>Nein – überlege, was getrennte Speicher für Code und Daten bedeuten.</text></incorrectfeedback>
|
||
<answer fraction="100"><text><![CDATA[Harvard nutzt <strong>separate Speicher</strong> für Code und Daten → paralleler Zugriff, schneller. Beim Smartphone wäre es schwieriger, beliebige Apps zu laden – weniger Flexibilität.]]></text></answer>
|
||
<answer fraction="0"><text><![CDATA[Harvard ist langsamer, aber sicherer – daher für Echtzeit geeignet. Smartphones brauchen die Geschwindigkeit nicht.]]></text></answer>
|
||
<answer fraction="0"><text><![CDATA[Beide Architekturen sind funktional identisch – der Unterschied liegt nur im Gehäuse.]]></text></answer>
|
||
<answer fraction="0"><text><![CDATA[Von-Neumann ist schneller durch gemeinsamen Speicher. Harvard wird gewählt, weil Echtzeit-Apps weniger Speicher brauchen.]]></text></answer>
|
||
</question>
|
||
|
||
<!-- ─── 2 pt – Stored Program Concept Transfer ─── -->
|
||
<question type="multichoice">
|
||
<n><text>Q3 – Stored Program Concept</text></n>
|
||
<questiontext type="html">
|
||
<text><![CDATA[
|
||
<p>Vor der Von-Neumann-Architektur mussten bei Maschinen wie dem
|
||
ENIAC Programme durch <strong>Umstecken von Kabeln</strong> eingegeben
|
||
werden.</p>
|
||
<p><strong>Was konkret ermöglicht das Stored Program Concept, was
|
||
vorher nicht möglich war? Nenne zwei Beispiele.</p>
|
||
]]></text>
|
||
</questiontext>
|
||
<generalfeedback type="html"><text>Stored Program: Programme werden als Daten im Speicher abgelegt → austauschbar ohne Hardwareänderung. Ermöglicht: Betriebssysteme, Apps installieren/löschen, Multitasking, Updates.</text></generalfeedback>
|
||
<defaultgrade>2</defaultgrade>
|
||
<penalty>0.25</penalty>
|
||
<hidden>0</hidden>
|
||
<single>true</single>
|
||
<shuffleanswers>true</shuffleanswers>
|
||
<correctfeedback type="html"><text>Genau – Programme als Daten im Speicher = Flexibilität.</text></correctfeedback>
|
||
<incorrectfeedback type="html"><text>Nein – der Kern liegt darin, dass Programme im Speicher als Daten residieren.</text></incorrectfeedback>
|
||
<answer fraction="100"><text><![CDATA[Programme werden als <strong>Daten im Speicher</strong> abgelegt → z. B. Apps können installiert/gelöscht werden und <strong>Multitasking</strong> (mehrere Programme gleichzeitig) wird möglich.]]></text></answer>
|
||
<answer fraction="0"><text><![CDATA[Programme werden auf separater Hardware gespeichert → die Hauptspeicher-Kapazität wird ums Doppelte gesteigert.]]></text></answer>
|
||
<answer fraction="0"><text><![CDATA[Die Hardware kann jetzt selbst Befehle erfinden – kein Mensch muss mehr programmieren.]]></text></answer>
|
||
<answer fraction="0"><text><![CDATA[Nur ein einzelnes Programm kann gleichzeitig laufen, aber es kann schneller geladenen werden.]]></text></answer>
|
||
</question>
|
||
|
||
<!-- ─── 2 pt – HTML Metadaten: Transfer ─── -->
|
||
<question type="multichoice">
|
||
<n><text>Q4 – HTML: <head> vs. <body></text></n>
|
||
<questiontext type="html">
|
||
<text><![CDATA[
|
||
<p>Ein Student erstellt eine Webseite und platziert <em>alles</em>
|
||
im <code><body></code> – auch den <code><title></code>
|
||
und die <code><meta name="description"></code>.</p>
|
||
<p><strong>Welche zwei konkreten Konsequenzen hat das?</p>
|
||
]]></text>
|
||
</questiontext>
|
||
<generalfeedback type="html"><text>title und meta description gehören in <head>. Im <body>: (1) kein Titel im Browser-Tab / Suchergebnis, (2) keine Beschreibung für Suchmaschinen/Screen-Reader → SEO und Accessibility beeinträchtigt.</text></generalfeedback>
|
||
<defaultgrade>2</defaultgrade>
|
||
<penalty>0.25</penalty>
|
||
<hidden>0</hidden>
|
||
<single>true</single>
|
||
<shuffleanswers>true</shuffleanswers>
|
||
<correctfeedback type="html"><text>Genau – Metadaten im Body werden nicht als solche interpretiert.</text></correctfeedback>
|
||
<incorrectfeedback type="html"><text>Nein – <head> und <body> haben spezifische Funktionen.</text></incorrectfeedback>
|
||
<answer fraction="100"><text><![CDATA[(1) Der Browser-Tab zeigt <strong>keinen Titel</strong> an. (2) Suchmaschinen haben <strong>keine Beschreibung</strong> für das Snippet → schlechte SEO und Screen-Reader können die Seite nicht richtig vorlesen.]]></text></answer>
|
||
<answer fraction="0"><text><![CDATA[Kein Problem – Browser ignorieren die Unterscheidung zwischen <code><head></code> und <code><body></code>.]]></text></answer>
|
||
<answer fraction="0"><text><![CDATA[(1) Der Titel wird im Seiteninhalt sichtbar angezeigt. (2) Die description wird als Text auf der Seite eingeblendet.]]></text></answer>
|
||
<answer fraction="0"><text><![CDATA[Nur das Fehlen von <code><meta charset></code> ist ein Problem – title und description funktionieren überall.]]></text></answer>
|
||
</question>
|
||
|
||
<!-- ─── 3 pt – Accessibility Transfer ─── -->
|
||
<question type="multichoice">
|
||
<n><text>Q5 – Barrierefreiheit: Curb-Cut-Effekt</text></n>
|
||
<questiontext type="html">
|
||
<text><![CDATA[
|
||
<p>Der <strong>Curb-Cut-Effekt</strong> beschreibt, wie eine
|
||
barrierefreie Lösung – ursprünglich für Menschen mit Behinderung –
|
||
letztendlich <em>allen</em> zugute kommt.</p>
|
||
<p><strong>Nenne ein konkretes Web-Beispiel, das diesen Effekt
|
||
demonstriert, und erkläre, wer davon profitiert.</p>
|
||
]]></text>
|
||
</questiontext>
|
||
<generalfeedback type="html"><text>Beispiel: Untertitel (für Gehörlose) → helfen auch in lauter Umgebung, beim Sprachlernen, bei Ton aus. Alt-Texte (für Screen-Reader) → helfen auch SEO. Semantisches HTML → besser für alle.</text></generalfeedback>
|
||
<defaultgrade>3</defaultgrade>
|
||
<penalty>0.25</penalty>
|
||
<hidden>0</hidden>
|
||
<single>true</single>
|
||
<shuffleanswers>true</shuffleanswers>
|
||
<correctfeedback type="html"><text>Genau – Barrierefreiheit hilft allen.</text></correctfeedback>
|
||
<incorrectfeedback type="html"><text>Nein – überlege, welche barrierefreien Maßnahmen auch Menschen ohne Behinderung nutzen.</text></incorrectfeedback>
|
||
<answer fraction="100"><text><![CDATA[<strong>Untertitel:</strong> Gedacht für Gehörlose, helfen aber auch in lauter Umgebung, beim Sprachlernen oder wenn der Ton aus ist – profitiert fast jedermann.]]></text></answer>
|
||
<answer fraction="0"><text><![CDATA[Barrierefreie Webseiten sind langsamer zu laden – der Curb-Cut-Effekt beschreibt diesen negativen Nebeneffekt.]]></text></answer>
|
||
<answer fraction="0"><text><![CDATA[Der Curb-Cut-Effekt bedeutet, dass barrierefreie Seiten nur für Menschen mit Behinderung nützlich sind.]]></text></answer>
|
||
<answer fraction="0"><text><![CDATA[<strong>Dark Mode:</strong> Gedacht für Sehbehinderung, hilft auch in dunkler Umgebung – Beispiel für den Curb-Cut-Effekt.]]></text></answer>
|
||
</question>
|
||
|
||
<!-- ─── 2 pt – EAA / WCAG ─── -->
|
||
<question type="multichoice">
|
||
<n><text>Q6 – European Accessibility Act</text></n>
|
||
<questiontext type="html">
|
||
<text><![CDATA[
|
||
<p>Der <strong>European Accessibility Act (EAA)</strong> ist seit
|
||
Juni 2025 in Kraft.</p>
|
||
<p><strong>Was bedeutet das konkret für ein deutsches
|
||
E-Commerce-Unternehmen, das eine Webseite betreibt?</p>
|
||
]]></text>
|
||
</questiontext>
|
||
<generalfeedback type="html"><text>EAA verpflichtet u. a. E-Commerce-Anbieter zur Barrierefreiheit. Die Webseite muss WCAG-Standards erfüllen. Bei Verstoß: Bußgelder bis 100.000 € möglich.</text></generalfeedback>
|
||
<defaultgrade>2</defaultgrade>
|
||
<penalty>0.25</penalty>
|
||
<hidden>0</hidden>
|
||
<single>true</single>
|
||
<shuffleanswers>true</shuffleanswers>
|
||
<correctfeedback type="html"><text>Genau – rechtliche Pflicht zur Barrierefreiheit.</text></correctfeedback>
|
||
<incorrectfeedback type="html"><text>Nein – der EAA erstellt eine rechtliche Verpflichtung für bestimmte Sektoren.</text></incorrectfeedback>
|
||
<answer fraction="100"><text><![CDATA[Die Webseite <strong>muss barrierefreiheitstechnisch</strong> WCAG-Standards erfüllen – E-Commerce ist explizit im EAA geregelt. Bei Verstoß: Bußgelder möglich.]]></text></answer>
|
||
<answer fraction="0"><text><![CDATA[Der EAA betrifft nur öffentliche Behörden – private Unternehmen sind ausgenommen.]]></text></answer>
|
||
<answer fraction="0"><text><![CDATA[Das Unternehmen muss nur eine englische Version der Webseite bereitstellen.]]></text></answer>
|
||
<answer fraction="0"><text><![CDATA[Der EAA regelt nur die Barrierefreiheit von mobilen Apps, nicht von Webseiten.]]></text></answer>
|
||
</question>
|
||
|
||
<!-- ─── 3 pt – TCP/IP Schichten: Protokoll → Schicht ─── -->
|
||
<question type="matching">
|
||
<n><text>Q7 – TCP/IP: Protokoll → Schicht</text></n>
|
||
<questiontext type="html">
|
||
<text><![CDATA[
|
||
<p>Ordne jedem Protokoll die richtige TCP/IP-Schicht zu.</p>
|
||
]]></text>
|
||
</questiontext>
|
||
<generalfeedback type="html"><text>Anwendung: HTTP, DNS, SMTP. Transport: TCP, UDP. Internet: IP. Netzzugang: Ethernet, WLAN.</text></generalfeedback>
|
||
<defaultgrade>3</defaultgrade>
|
||
<penalty>0.25</penalty>
|
||
<hidden>0</hidden>
|
||
<shuffleanswers>true</shuffleanswers>
|
||
<answer fraction="100"><text>HTTP</text><match>Anwendung</match></answer>
|
||
<answer fraction="100"><text>TCP</text><match>Transport</match></answer>
|
||
<answer fraction="100"><text>IP</text><match>Internet</match></answer>
|
||
<answer fraction="100"><text>Ethernet</text><match>Netzzugang</match></answer>
|
||
<answer fraction="100"><text>DNS</text><match>Anwendung</match></answer>
|
||
<answer fraction="100"><text>UDP</text><match>Transport</match></answer>
|
||
</question>
|
||
|
||
<!-- ─── 3 pt – Encapsulation: D-S-P-F ─── -->
|
||
<question type="matching">
|
||
<n><text>Q8 – Encapsulation: Dateneinheit → Schicht</text></n>
|
||
<questiontext type="html">
|
||
<text><![CDATA[
|
||
<p>Bei der Übertragung wird eine Nachricht von Schicht zu Schicht
|
||
verpackt (Encapsulation). Ordne jeder Dateneinheit die zugehörige
|
||
Schicht zu.</p>
|
||
]]></text>
|
||
</questiontext>
|
||
<generalfeedback type="html"><text>Daten (Anwendung) → Segment (Transport, +Ports) → Paket (Internet, +IP) → Frame (Netzzugang, +MAC). Merkhilfe: D-S-P-F.</text></generalfeedback>
|
||
<defaultgrade>3</defaultgrade>
|
||
<penalty>0.25</penalty>
|
||
<hidden>0</hidden>
|
||
<shuffleanswers>true</shuffleanswers>
|
||
<answer fraction="100"><text>Daten</text><match>Anwendungsschicht – die eigentliche Nachricht (z. B. HTML-Seite).</match></answer>
|
||
<answer fraction="100"><text>Segment</text><match>Transportschicht – Daten + Ports und Sequenznummern.</match></answer>
|
||
<answer fraction="100"><text>Paket</text><match>Internetschicht – Segment + IP-Adressen (Quelle und Ziel).</match></answer>
|
||
<answer fraction="100"><text>Frame</text><match>Netzzugangsschicht – Paket + MAC-Adressen und Prüfsumme.</match></answer>
|
||
</question>
|
||
|
||
<!-- ─── 3 pt – IP vs MAC vs Port Transfer ─── -->
|
||
<question type="multichoice">
|
||
<n><text>Q9 – IP vs. MAC vs. Port: Transfer-Szenario</text></n>
|
||
<questiontext type="html">
|
||
<text><![CDATA[
|
||
<p>Dein Laptop sendet eine HTTPS-Anfrage an einen Webserver in
|
||
einem anderen Land. Das Paket durchläuft mehrere Router.</p>
|
||
<p><strong>Welche der folgenden Aussagen über die Adressen auf dem
|
||
Weg ist korrekt?</p>
|
||
]]></text>
|
||
</questiontext>
|
||
<generalfeedback type="html"><text>IP-Adresse des Ziel-Servers bleibt konstant (global). MAC-Adresse ändert sich bei jedem Hop (lokal, nächster Router). Port 443 (HTTPS) bleibt konstant.</text></generalfeedback>
|
||
<defaultgrade>3</defaultgrade>
|
||
<penalty>0.25</penalty>
|
||
<hidden>0</hidden>
|
||
<single>true</single>
|
||
<shuffleanswers>true</shuffleanswers>
|
||
<correctfeedback type="html"><text>Genau – nur MAC ändert sich unterwegs.</text></correctfeedback>
|
||
<incorrectfeedback type="html"><text>Nein – überlege, welche Adresse bei jedem Hop neu gesetzt wird.</text></incorrectfeedback>
|
||
<answer fraction="100"><text><![CDATA[Die <strong>IP-Adresse</strong> des Servers bleibt konstant, der <strong>Port</strong> (443) ändert sich nicht – die <strong>MAC-Adresse</strong> wird an jedem Router neu gesetzt (lokal, ein Hop).]]></text></answer>
|
||
<answer fraction="0"><text><![CDATA[Alle drei Adressen (IP, MAC, Port) ändert sich bei jedem Router.]]></text></answer>
|
||
<answer fraction="0"><text><![CDATA[Die MAC-Adresse bleibt konstant, die IP-Adresse ändert sich bei jedem Hop.]]></text></answer>
|
||
<answer fraction="0"><text><![CDATA[IP und Port ändert sich, MAC bleibt konstant – MAC ist die globale Adresse.]]></text></answer>
|
||
</question>
|
||
|
||
<!-- ─── 3 pt – 3-Way Handshake: Transfer ─── -->
|
||
<question type="multichoice">
|
||
<n><text>Q10 – TCP 3-Way-Handshake: Was passiert wäre?</text></n>
|
||
<questiontext type="html">
|
||
<text><![CDATA[
|
||
<p>Der Client sendet ein <strong>SYN</strong> zum Server.
|
||
Das SYN-Paket geht verloren – es erreicht den Server nie.</p>
|
||
<p><strong>Was passiert als nächstes, und warum wird keine
|
||
Verbindung aufgebaut?</p>
|
||
]]></text>
|
||
</questiontext>
|
||
<generalfeedback type="html"><text>Der Server erhält kein SYN → sendet kein SYN-ACK zurück → der Client bekommt keine Antwort → Verbindung wird nicht aufgebaut. TCP wird das SYN nach einem Timeout erneut senden (Neuübertragung).</text></generalfeedback>
|
||
<defaultgrade>3</defaultgrade>
|
||
<penalty>0.25</penalty>
|
||
<hidden>0</hidden>
|
||
<single>true</single>
|
||
<shuffleanswers>true</shuffleanswers>
|
||
<correctfeedback type="html"><text>Genau – ohne SYN beim Server: kein SYN-ACK, kein Handshake.</text></correctfeedback>
|
||
<incorrectfeedback type="html"><text>Nein – überlege, was der Server ohne SYN tun kann.</text></incorrectfeedback>
|
||
<answer fraction="100"><text><![CDATA[Der Server kennt die Anfrage nicht → sendet <strong>kein SYN-ACK</strong> → der Client erhält keine Antwort → <strong>keine Verbindung</strong>. Der Client wird das SYN nach einem Timeout erneut senden.]]></text></answer>
|
||
<answer fraction="0"><text><![CDATA[Der Server sendet trotzdem ein SYN-ACK, da die IP-Adresse bekannt ist – die Verbindung wird trotzdem aufgebaut.]]></text></answer>
|
||
<answer fraction="0"><text><![CDATA[Der Client sendet direkt ein ACK als Fallback – die Verbindung wird mit zwei Paketen aufgebaut.]]></text></answer>
|
||
<answer fraction="0"><text><![CDATA[Das verloren gegangene SYN wird automatisch vom Netzwerk rekonstruiert – kein Problem.]]></text></answer>
|
||
</question>
|
||
|
||
<!-- ─── 2 pt – TCP vs UDP Transfer ─── -->
|
||
<question type="multichoice">
|
||
<n><text>Q11 – TCP vs. UDP: Videostreaming</text></n>
|
||
<questiontext type="html">
|
||
<text><![CDATA[
|
||
<p>Ein Videostreaming-Dienst sendet Daten an deinen Browser.
|
||
Ein einzelnes Paket geht verloren.</p>
|
||
<p><strong>Warum wählt der Dienst <strong>UDP</strong> statt TCP,
|
||
obwohl ein Paket verloren geht?</p>
|
||
]]></text>
|
||
</questiontext>
|
||
<generalfeedback type="html"><text>Bei Echtzeit-Video ist Verzögerung schlimmer als Paketverlust. TCP würde das Paket erneut anfordern → Video friert. UDP ignoriert das Verlust → kurzer Artefakt, Video läuft weiter.</text></generalfeedback>
|
||
<defaultgrade>2</defaultgrade>
|
||
<penalty>0.25</penalty>
|
||
<hidden>0</hidden>
|
||
<single>true</single>
|
||
<shuffleanswers>true</shuffleanswers>
|
||
<correctfeedback type="html"><text>Genau – bei Echtzeit ist Verzögerung ärger als Verlust.</text></correctfeedback>
|
||
<incorrectfeedback type="html"><text>Nein – überlege, was TCP bei einem verlorenen Paket tun würde.</text></incorrectfeedback>
|
||
<answer fraction="100"><text><![CDATA[Bei <strong>Echtzeit</strong> ist Verzögerung schlimmer als Verlust. TCP würde das Paket <strong>erneut anfordern</strong> → Video friert ein. UDP ignoriert es → kurzer Glitch, Video läuft weiter.]]></text></answer>
|
||
<answer fraction="0"><text><![CDATA[UDP sendet jedes Paket doppelt, daher geht statistisch nie etwas verloren.]]></text></answer>
|
||
<answer fraction="0"><text><![CDATA[TCP kann bei Videostreaming nicht verwendet werden, da es zu langsam für Multimedia ist.]]></text></answer>
|
||
<answer fraction="0"><text><![CDATA[UDP ist immer schneller als TCP – deshalb nutzt jeder Streaming-Dienst UDP.]]></text></answer>
|
||
</question>
|
||
|
||
<!-- ─── 2 pt – HTTP Methoden: Transfer ─── -->
|
||
<question type="multichoice">
|
||
<n><text>Q12 – HTTP-Methoden: Szenario</text></n>
|
||
<questiontext type="html">
|
||
<text><![CDATA[
|
||
<p>Ein Nutzer aktualisiert sein Profilbild auf einer Webseite.
|
||
Das Foto wird zum Server gesendet und das <strong>alte Bild
|
||
ersetzt</strong>.</p>
|
||
<p><strong>Welche HTTP-Methode wird für diese Operation verwendet,
|
||
und warum nicht GET?</p>
|
||
]]></text>
|
||
</questiontext>
|
||
<generalfeedback type="html"><text>PUT – Daten ersetzen (eine existierende Ressource wird überschrieben). GET ruft nur Daten ab, sendet keine Daten zum Server.</text></generalfeedback>
|
||
<defaultgrade>2</defaultgrade>
|
||
<penalty>0.25</penalty>
|
||
<hidden>0</hidden>
|
||
<single>true</single>
|
||
<shuffleanswers>true</shuffleanswers>
|
||
<correctfeedback type="html"><text>Genau – PUT für das Ersetzen einer Ressource.</text></correctfeedback>
|
||
<incorrectfeedback type="html"><text>Nein – überlege, was „ersetzen" in HTTP bedeutet.</text></incorrectfeedback>
|
||
<answer fraction="100"><text><![CDATA[<strong>PUT</strong> – ersetzt eine existierende Ressource. GET ruft nur Daten ab und sendet <em>keine</em> Daten zum Server.]]></text></answer>
|
||
<answer fraction="0"><text><![CDATA[<strong>GET</strong> – GET kann auch Daten senden, wenn eine URL mit Parameter verwendet wird.]]></text></answer>
|
||
<answer fraction="0"><text><![CDATA[<strong>POST</strong> – POST ist immer für das Ersetzen von Daten zuständig.]]></text></answer>
|
||
<answer fraction="0"><text><![CDATA[<strong>DELETE</strong> – DELETE sendet das neue Foto und löscht gleichzeitig das alte.]]></text></answer>
|
||
</question>
|
||
|
||
<!-- ─── 2 pt – HTTP Status-Codes Transfer ─── -->
|
||
<question type="multichoice">
|
||
<n><text>Q13 – HTTP Status-Codes: Fehlerdiagnose</text></n>
|
||
<questiontext type="html">
|
||
<text><![CDATA[
|
||
<p>Du rufst eine Webseite auf und der Browser zeigt folgende
|
||
Fehlermeldung an:</p>
|
||
<pre>HTTP/1.1 503 Service Unavailable</pre>
|
||
<p><strong>Was bedeutet dieser Code, und wer ist für die Behebung
|
||
zuständig – du oder der Betreiber der Webseite?</p>
|
||
]]></text>
|
||
</questiontext>
|
||
<generalfeedback type="html"><text>503 ist ein 5xx-Code = Server-Fehler. Der Server ist überlastet oder temporär nicht verfügbar. Verantwortung liegt beim Serverbetreiber, nicht beim Nutzer.</text></generalfeedback>
|
||
<defaultgrade>2</defaultgrade>
|
||
<penalty>0.25</penalty>
|
||
<hidden>0</hidden>
|
||
<single>true</single>
|
||
<shuffleanswers>true</shuffleanswers>
|
||
<correctfeedback type="html"><text>Genau – 5xx = Server-Problem, nicht dein Fehler.</text></correctfeedback>
|
||
<incorrectfeedback type="html"><text>Nein – überlege, was die Ziffer „5" im Code bedeutet.</text></incorrectfeedback>
|
||
<answer fraction="100"><text><![CDATA[<strong>Server-Fehler:</strong> Der Server ist überlastet oder temporär nicht verfügbar. Verantwortung liegt beim <strong>Betreiber</strong> – du kannst nur später erneut versuchen.]]></text></answer>
|
||
<answer fraction="0"><text><![CDATA[Client-Fehler: Du hast die falsche URL eingegeben – ein 5xx-Code bedeutet, dass deine Anfrage falsch war.]]></text></answer>
|
||
<answer fraction="0"><text><![CDATA[Erfolgs-Code: 503 bedeutet, dass der Server die Anfrage erfolgreich umgeleitet hat.]]></text></answer>
|
||
<answer fraction="0"><text><![CDATA[Der Code bedeutet, dass der Server die Seite dauerhaft verschoben hat – du muss die neue URL suchen.]]></text></answer>
|
||
</question>
|
||
|
||
<!-- ─── 2 pt – DNS Ablauf Transfer ─── -->
|
||
<question type="multichoice">
|
||
<n><text>Q14 – DNS: Rolle im Ablauf</text></n>
|
||
<questiontext type="html">
|
||
<text><![CDATA[
|
||
<p>Du gibst <code>https://hdm-stuttgart.de</code> in die
|
||
Adresszeile ein.</p>
|
||
<p><strong>Was passiert <em>vor</em> dem TCP-Handshake, und warum
|
||
ist dieser Schritt zwingend nötig?</p>
|
||
]]></text>
|
||
</questiontext>
|
||
<generalfeedback type="html"><text>DNS-Auflösung: Der Name „hdm-stuttgart.de" wird in eine IP-Adresse umgewandelt. TCP braucht eine IP-Adresse – names können nicht direkt verbunden werden.</text></generalfeedback>
|
||
<defaultgrade>2</defaultgrade>
|
||
<penalty>0.25</penalty>
|
||
<hidden>0</hidden>
|
||
<single>true</single>
|
||
<shuffleanswers>true</shuffleanswers>
|
||
<correctfeedback type="html"><text>Genau – DNS vor TCP, Name → IP.</text></correctfeedback>
|
||
<incorrectfeedback type="html"><text>Nein – überlege, was TCP als Zieladresse braucht.</text></incorrectfeedback>
|
||
<answer fraction="100"><text><![CDATA[<strong>DNS-Auflösung:</strong> Der Name <code>hdm-stuttgart.de</code> wird in eine <strong>IP-Adresse</strong> umgewandelt. TCP kann nur zu IP-Adressen Verbindungen aufbauen, nicht zu Namen.]]></text></answer>
|
||
<answer fraction="0"><text><![CDATA[Der Browser sendet direkt den Namen an den Server – DNS wird erst danach für die Verschlüsselung benötigt.]]></text></answer>
|
||
<answer fraction="0"><text><![CDATA[DNS passiert nach dem TCP-Handshake – erst wird die Verbindung aufgebaut, dann der Name aufgelöst.]]></text></answer>
|
||
<answer fraction="0"><text><![CDATA[DNS ist nur für HTTPS nötig – bei HTTP kann der Name direkt verwendet werden.]]></text></answer>
|
||
</question>
|
||
|
||
<!-- ─── 2 pt – CSS Spezifität Transfer ─── -->
|
||
<question type="multichoice">
|
||
<n><text>Q15 – CSS Spezifität: Welche Regel gewinnt?</text></n>
|
||
<questiontext type="html">
|
||
<text><![CDATA[
|
||
<p>Gegeben folgender CSS-Code:</p>
|
||
<pre>
|
||
p { color: blue; } /* (A) */
|
||
.highlight { color: green; } /* (B) */
|
||
#main { color: red; } /* (C) */
|
||
</pre>
|
||
<p>Ein Element <code><p class="highlight" id="main">Text</p></code>
|
||
wird angezeigt.<br>
|
||
<strong>Welche Farbe zeigt der Text an, und warum?</p>
|
||
]]></text>
|
||
</questiontext>
|
||
<generalfeedback type="html"><text>Spezifität: ID (0,1,0,0) > Klasse (0,0,1,0) > Element (0,0,0,1). Alle drei Regeln treffen das Element – ID #main gewinnt → rot.</text></generalfeedback>
|
||
<defaultgrade>2</defaultgrade>
|
||
<penalty>0.25</penalty>
|
||
<hidden>0</hidden>
|
||
<single>true</single>
|
||
<shuffleanswers>true</shuffleanswers>
|
||
<correctfeedback type="html"><text>Genau – ID gewinnt durch höchste Spezifität.</text></correctfeedback>
|
||
<incorrectfeedback type="html"><text>Nein – überlege die Spezifitätswerte: ID > Klasse > Element.</text></incorrectfeedback>
|
||
<answer fraction="100"><text><![CDATA[<strong>Rot</strong> – die ID-Regel <code>#main</code> hat die höchste Spezifität (0,1,0,0) und gewinnt über Klasse (0,0,1,0) und Element (0,0,0,1).]]></text></answer>
|
||
<answer fraction="0"><text><![CDATA[<strong>Blau</strong> – die Element-Regel steht zuerst im Code und hat daher Vorrang.]]></text></answer>
|
||
<answer fraction="0"><text><![CDATA[<strong>Grün</strong> – Klassen-Selektoren haben immer Vorrang vor IDs.]]></text></answer>
|
||
<answer fraction="0"><text><![CDATA[<strong>Rot</strong> – die letzte Regel im Code gewinnt immer, unabhängig vom Selektor-Typ.]]></text></answer>
|
||
</question>
|
||
|
||
<!-- ─── 2 pt – Responsive Design Transfer ─── -->
|
||
<question type="multichoice">
|
||
<n><text>Q16 – Responsive Design: Mobile First</text></n>
|
||
<questiontext type="html">
|
||
<text><![CDATA[
|
||
<p>Ein Developer schreibt folgendes CSS:</p>
|
||
<pre>
|
||
.container { background: white; }
|
||
|
||
@media (min-width: 768px) {
|
||
.container { background: blue; }
|
||
}
|
||
|
||
@media (min-width: 1024px) {
|
||
.container { background: green; }
|
||
}
|
||
</pre>
|
||
<p><strong>Welche Farbe hat <code>.container</code> bei einem
|
||
Bildschirm von 900 px Breite, und warum?</p>
|
||
]]></text>
|
||
</questiontext>
|
||
<generalfeedback type="html"><text>Mobile First: Basis = white. Bei 900px greift min-width: 768px → blue. min-width: 1024px greift NICHT (900 < 1024). Ergebnis: blau.</text></generalfeedback>
|
||
<defaultgrade>2</defaultgrade>
|
||
<penalty>0.25</penalty>
|
||
<hidden>0</hidden>
|
||
<single>true</single>
|
||
<shuffleanswers>true</shuffleanswers>
|
||
<correctfeedback type="html"><text>Genau – 768px greift, 1024px nicht.</text></correctfeedback>
|
||
<incorrectfeedback type="html"><text>Nein – überlege, welche min-width-Bedingungen bei 900px erfüllt sind.</text></incorrectfeedback>
|
||
<answer fraction="100"><text><![CDATA[<strong>Blau</strong> – bei 900 px greift <code>min-width: 768px</code> (900 ≥ 768), aber <code>min-width: 1024px</code> greift nicht (900 < 1024).]]></text></answer>
|
||
<answer fraction="0"><text><![CDATA[<strong>Weiß</strong> – Media-Queries gelten nur ab 1024 px, darunter bleibt immer die Basis-Farbe.]]></text></answer>
|
||
<answer fraction="0"><text><![CDATA[<strong>Grün</strong> – die letzte Media-Query überschreibt immer alle vorherigen.]]></text></answer>
|
||
<answer fraction="0"><text><![CDATA[<strong>Weiß</strong> – bei 900 px greift keine Media-Query, da 900 zwischen den beiden Breakpoints liegt.]]></text></answer>
|
||
</question>
|
||
|
||
<!-- ─── 1 pt – Zusammen: Der Ablauf eines Klicks ─── -->
|
||
<question type="multichoice">
|
||
<n><text>Q17 – Zusammen: Reihenfolge eines HTTPS-Aufrufs</text></n>
|
||
<questiontext type="html">
|
||
<text><![CDATA[
|
||
<p>Du gibst eine URL ein. <strong>Welche Reihenfolge der Schritte
|
||
ist korrekt?</p>
|
||
]]></text>
|
||
</questiontext>
|
||
<generalfeedback type="html"><text>Korrekte Reihenfolge: (1) DNS-Auflösung, (2) TCP 3-Way-Handshake, (3) HTTP-Request (GET), (4) HTTP-Response (200 OK + HTML).</text></generalfeedback>
|
||
<defaultgrade>1</defaultgrade>
|
||
<penalty>0.25</penalty>
|
||
<hidden>0</hidden>
|
||
<single>true</single>
|
||
<shuffleanswers>true</shuffleanswers>
|
||
<correctfeedback type="html"><text>Genau – DNS → TCP → HTTP Request → HTTP Response.</text></correctfeedback>
|
||
<incorrectfeedback type="html"><text>Nein – an erster Stelle steht immer die DNS-Auflösung.</text></incorrectfeedback>
|
||
<answer fraction="100"><text><![CDATA[(1) DNS → (2) TCP-Handshake → (3) HTTP GET → (4) HTTP 200 OK]]></text></answer>
|
||
<answer fraction="0"><text><![CDATA[(1) TCP-Handshake → (2) DNS → (3) HTTP GET → (4) HTTP 200 OK]]></text></answer>
|
||
<answer fraction="0"><text><![CDATA[(1) HTTP GET → (2) DNS → (3) TCP-Handshake → (4) HTTP 200 OK]]></text></answer>
|
||
<answer fraction="0"><text><![CDATA[(1) DNS → (2) HTTP GET → (3) TCP-Handshake → (4) HTTP 200 OK]]></text></answer>
|
||
</question>
|
||
|
||
<!-- ─── 1 pt – Bonusfrage: Spezifität Edge Case ─── -->
|
||
<question type="multichoice">
|
||
<n><text>Q18 – CSS: 100 Element-Selektoren vs. 1 Klasse</text></n>
|
||
<questiontext type="html">
|
||
<text><![CDATA[
|
||
<p>Es gibt zwei CSS-Regeln für ein <code><p></code>-Element:</p>
|
||
<pre>
|
||
p p p p p p p p p p { color: blue; } /* 100× Element-Selektor */
|
||
.highlight { color: red; } /* 1× Klasse */
|
||
</pre>
|
||
<p>Das Element hat die Klasse <code>highlight</code>.
|
||
<strong>Welche Farbe gewinnt?</p>
|
||
]]></text>
|
||
</questiontext>
|
||
<generalfeedback type="html"><text>Eine einzelne Klasse (0,0,1,0) schlägt immer hundert Element-Selektoren (0,0,0,100). Spezifität wird nicht additiv „aufgezählt" – die Stelle zählt als Einheit.</text></generalfeedback>
|
||
<defaultgrade>1</defaultgrade>
|
||
<penalty>0.25</penalty>
|
||
<hidden>0</hidden>
|
||
<single>true</single>
|
||
<shuffleanswers>true</shuffleanswers>
|
||
<correctfeedback type="html"><text>Genau – eine Klasse gewinnt immer gegen beliebig viele Elemente.</text></correctfeedback>
|
||
<incorrectfeedback type="html"><text>Nein – Spezifität funktioniert nicht durch Addition innerhalb einer Stelle.</text></incorrectfeedback>
|
||
<answer fraction="100"><text><![CDATA[<strong>Rot</strong> – eine Klasse (0,0,1,0) gewinnt immer gegen beliebig viele Element-Selektoren (0,0,0,n). Spezifität-Stellen überschreiben sich, nicht addieren.]]></text></answer>
|
||
<answer fraction="0"><text><![CDATA[<strong>Blau</strong> – 100 Element-Selektoren ergeben 0,0,0,100 = höhere Spezifität als 0,0,1,0.]]></text></answer>
|
||
<answer fraction="0"><text><![CDATA[<strong>Blau</strong> – die längere Regel (mehr Selektoren) hat immer höhere Spezifität.]]></text></answer>
|
||
<answer fraction="0"><text><![CDATA[Unentschieden – die Regeln haben exakt gleiche Spezifität.]]></text></answer>
|
||
</question>
|
||
|
||
</quiz>
|