Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Hauptstudiumsprüfungen » Lehrstuhl 4 » WBS 7.5 ECTS Prüfung 26.03.2025

WBS 7.5 ECTS Prüfung 26.03.2025

Meta Information

  • Klausurart: mündlich
  • Prüfer: Kapitza
  • Note: Sehr gut
  • Vorbereitung
    • Alle Folien zusammengefasst, ggf. bei bestimmten Sachen in die Begleitliteratur geschaut (Folien sind manchmal sehr schwammig/fehlerhaft).

Atmosphäre war sehr entspannt. Prüfung würde ich allgemein als fair betiteln. Themen beginnen meist sehr oberflächlich, gehen aber auch sehr in die Tiefe. Wenn man mal einen Fachbegriff nicht weiß ist das nicht ganz so schlimm, wenn man das Thema tiefgründig erklären kann. Bei gewissen Fragen hat man einen Vorteil wenn man die Vorlesung besucht hat, da dort oft Zusammenhänge erklärt werden die so nicht direkt auf den Folien stehen.

Prüfung

WICHTIG: Wenn ihr das lest, bitte erstellt auch ein Gedächtnisprotokoll von eurer Prüfung.

* Kapitza: Die Vorlesung dreht sich um ein großes, allumfassendes Thema. Wie heißt das, wer hat es erfunden, wann wurde es erfunden, wo wurde es erfunden und was waren die drei Hauptkonzepte? (Ja, das wurde alles in einer Frage gestellt)

Das World-Wide-Web, erfunden hat's Tim-Berners Lee, … <siehe ersten Foliensatz>. Die Drei Konzepte sind HTTP <erklärt>, HTML <erklärt> und URIs <erklärt>.

* Fangen wir mal mit HTML an. Was ist das, wie sieht ein Element aus und welche verschiedenen Nodes gibt es?

HTML ist eine Auszeichnungssprache, mit der man Inhalte erstellen und formatieren kann. Es gibt Blockbildende Tags <Beispiele genannt> und Inline Tags <Beispiele genannt>.

* Du hast schon die zwei verschiedenen Arten von Inline Tags gesagt. Wie heißt denn der Überbegriff? Warum genau macht man diese Trennung?

Logisch vs. physisch <erklärt>

* Mal doch mal auf wie man CSS auf einen Paragraph anwendet

p {
font-size=12;

}

* Was genau tut diese Regel denn jetzt?

Wendet fontsize auf alle p's an

* Angenommen ich hab jetzt mehrere, wer legt dann fest was angewendet wird?

War mir nicht ganz sicher und habe Klassen, IDs etc erklärt

* Das meinte ich nicht. Beispielsweise, ich hab jetzt mehrere Regeln, welche wird angewendet.

Die letzte Regel

* Sicher? Angenommen ich hab jetzt darüber noch die Regel p#footnote stehen, würde dann die weiter unten im Dokument angewendet?

Nein. Als erstes Inline Style, dann wie spezifisch der Deskriptor ist, dann das letzte.

* Was ist denn ein Vorteil von CSS?

Muss ich nur an einer Stelle definieren um Änderungen an vielen Stellen zu erwirken

* Was ist denn noch ein Vorteil von CSS, z.B. wenn ich das im laufenden Betrieb habe?

Kann aus Scripts verändert werden

* Was wäre denn noch ein Vorteil im Laufenden Betrieb?

*geraten* Corporate Identity?

* Nein, das meinte ich nicht. Denk mal eher an den Fall, wenn ich mehrere HTML Seiten von einer Domain lade.

Achso, muss nur ein CSS File herunterladen

* Ok. Gehen wir mal weiter. Was ist denn der Begriff Web2.0 und welche im Browser liegende Technologie hat das ermöglicht?

Mehr Interaktivität, Einbeziehung nicht technisch versierter Nutzer. Technologie: XMLHTTPRequests (XHR)

* XHR hat auch einige Probleme mit sich gebracht. Was wären denn die?

XSS <aufwändig erklärt>

* Was ist denn jetzt noch ein großes Problem, gerade bei Interaktivität?

Polling

* Ja genau, <erklärt dass polling viel Datenverkehr verursacht> Wie kann man das denn besser machen?

Delayed Polling, Server hält Antwort zurück, bis Antwort vorhanden. Verursacht aber höheren Speicherverbrauch…

* Jo. Was wäre denn Latenzweise das Problem?

Naja, eigentlich sollte es besser sein als normales Polling da ich beim Antworten keinen erneuten Handshake brauche…

* Ja ne. Das Problem ist, wenn eine zweite Antwort kommt wenn ich gerade die erste Antwort zurückschicke.

* Wir haben auch noch ein paar weitere Technologien kennen gelernt. Was wären denn die?

SSE <ausführlich erklärt>

* Was gibt's noch?

WebSockets. Look and Feel wie Unix Socket, wird über ein HTTP Upgrade initiiert.

* Wir hatten ja besprochen dass man bei diesen zwei anderen nicht-HTTP Protokollen sich implizit auf ein Protokoll einigt, ausgehend vom Kontext. Wie kann man das trotzdem festlegen?

Meinst du jetzt bei einer anderen Technologie?

* Ja.

WebRTC gibt's noch…

* Nein nein, das meine ich nicht, schon noch bei WebSockets

Unterprotokoll kann über header ausgehandelt werden.

* Ok kommen wir zu Caching. Angenommen ich bin in einem Datenzentrum, welche Möglichkeiten habe ich denn um Daten zu cachen, in Bezug auf die Zugriffszeit?

RAM, SSD, anderer Computer, z.B. key-value store.

* Bei den Key-Value Stores, da hatten wir einen in der Vorlesung. Wie hieß der und wie funktioniert ein Key-Value Store allgemein?

Key-Value Store speichert Keys und zugehörige Values. In der Vorlesung hatten wir Memcached, der liegt auf TCP-Ebene.

* Was wäre denn ein sehr wichtiges Kriterium auf die Zugriffszeit bezogen?

Konstante Zeit

* Ok. Es gibt noch ein zweites Kritierium, was ist das?

Wo speichert man welche Daten

* Und der englische Fachbegriff heißt:

* HitRate.

Oh (facepalm)

* Angenommen ich möchte jetzt Daten im Browser Cachen. Was für Möglichkeiten gibt's da?

cache-controll header. Baum aus Vorlesung hingemalt und jedes Flag ausführlich erklärt.
Gibt auch noch ETags.

Dann war die Zeit auch schon vorbei.

Fragen/Themen anderer Studenten

* Single-Page-Applications

  • Was sind die Probleme
  • Wie kann man Links erzeugen
  • Welche API verwendet man und wie funktioniert die

* Browser Architekturen

  • Firefox Engine Diagramm hinmalen

* HTTP Versionen und Entwicklung

  • Was steht in den Headern
  • Was macht das User-Agent Flag
  • HTTP/0.9
  • HTTP/1.X, Probleme, Workarounds
    • TCP Slow start
    • Probleme paralleler Verbindungen
  • HTTP/2
    • HPACK
    • Streams
    • Priorisierung (inkl. Graphen zeichnen)

* Browser Interface

  • Events
  • Welche Event-Phase verwendet man standardmäßig?
  • Wann verwendet man die andere?

* Clientseitige/Serverseitige Architekturen

  • Common Gateway Interface
  • Django