SWAR offene Fragen

nur offene fragen

nur offene fragen


Kartei Details

Karten 43
Sprache Deutsch
Kategorie Informatik
Stufe Universität
Erstellt / Aktualisiert 05.02.2018 / 05.02.2018
Weblink
https://card2brain.ch/box/20180205_swar_offene_fragen
Einbinden
<iframe src="https://card2brain.ch/box/20180205_swar_offene_fragen/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>

Nennen Sie vier Software-Architekturen

Ball of Mud

2.    Schichtenarchitektur

3.    Komponentenbasierte Architektur

4.    Extendable Architecture

5.    Persistent Architecture

6.    Enterprise Architecture

Nennen Sie 3 Aufgaben eines Architekten

Kostenschätzung

Zuordnung der Aufgaben an Entwickler

Verantwortung für Qualität des Codes und Architektur

Nennen Sie 3 Aufgaben eines Projektmanagers

Kostenkontrolle

Einhalten der Fristen

Überwachung des Fortschritts

Was sagt die Cost of Change Kurve bei Softwareprojekten aus?

Mit voranschreitender Zeit steigen die Kosten zur Fehlerbehebung exponentiell

Nennen Sie die vier wichtigsten messbaren Parameter bei Projekten

.             Zeit, Kosten, Qualität, Umfang

Nennen Sie vier Vorgehensmodelle bei der Softwareentwicklung

Wasserfallmodell, Scrum, V-Modell, Spiral-Modell

Wofür Steht “MVC”?

Model, View, Controller

Erklären Sie kurz den Begriff Inversion of Control

Der Aufruf eines Moduls wird umgekehrt durch Einführung einer Abstraktion. Dies ist besonders wichtig mit mehreren Instanzen

Was ist Architektonisch auf die Schichten gesehen der Unterschied zwischen Libraries und Frameworks?

    1. Libraries befinden sich in der Schichtung separiert ganz unten.

    2. Frameworks umgeben die Anwendung.

Was ist der Unterschied zwischen verifizieren und validieren?

Verifizieren ist ein mathematischer Ansatz bei einem Problem wo man eine Checkliste überprüft(zB 2+2=4).

Validieren ist ein “Thinking out of the box” Ansatz. Macht eine zusätzliche  Überprüfung nach der Verifikation: was passiert bei Ausnahmen, in Grenzfällen(zB Was passiert wenn 2+3=4?)

Frage: Was ist OSGI und nennen Sie Beispiele?

    1. Ein Framework auf Java Basis (Komponentenmodell), welches Rahmenbedingungen für Plugins schafft.

    2. Equinox, Apache,

Was ist Google Guice?

    1. Ein leichtgewichtiges Dependency Injection Framework auf Java Basis

Wozu benötigt man Dependency Injection?

    1. Auslagerung der "new" Operators

    2. Entlastung für den Compieler

Nennen Sie vier verschiedene Scopes

  1. a. Unscoped

b. Singleton
    c. RequestScoped

d. SessionScoped   

   

Was ist der Gradle Wrapper und was ist seine Aufgabe?

Ist ein Leichtgewichtiges Script, das Gradle herunterlädt, installiert und die Tasks ausführt, wodurch eine separate Installation nicht notwendig wird.

Wie werden die db40 Daten gespeichert?

    In einer Datei, welche im Dateisystem persistiert wird.

Nennen Sie zwei Merkmale von db4o.

    1. Keine Konvertierung oder Mapping erforderlich.

    2. Eine Zeile Code um Objekten beliebiger Komplexität zu speichern.

    3. ACID(Atomacity, Consistency, Isolation, Durability)

Geben Sie ein Beispiel an dem Serializable scheitert.

Ein Objekt das übersetzt werden soll enthält nicht nur primitive Datentypen sondern auch ein anderes Objekt, dann funktioniert Serializable nicht mehr

Was bedeutet Serialisieren

    1. Serialisierung ist das konvertieren eines Objektes in Bytestrom. Es dient zur persistenten Objekt Speicherung.

Parallelisierung: bis zu welchem Faktor ist es bei einem normalen PC effizient?

Faktor 20,8(zB. 1 CPUKern = 20,8, 2 CPUKerne = 10,4)

Was ist der Unterschied zwischen SQL und HQL?

HQL wird nur zur Suche verwendet nicht für die Aktualisierung. Es versteht Vererbung, Polymorphismus und objektorientierten Besitz von Referenzen.

Welche Möglichkeiten zum Datenmapping bietet Hibernate?

Als Annotation in den Klassen oder als externe XML Datei.

Wozu benötigt man NoSQL-Datenbanken?

    1. Zu große Daten z.B. Videos können nicht/nur mit sehr schlechter Performance in einer Relationale Datenbank gespeichert werden.

Was bedeutet REST?

    1. Representationoal State Transfer.

REST hat das Ziel, einen Architekturstil zu schaffen, der die Anforderungen des modernen Web besser darstellt

Was bedeutet “append-only” im Zusammenhang mit Datenbanken

Append-only: Es werden immer nur Daten hinzugefügt(oben drauf gesetzt) und es gibt keinen(offiziellen) Weg um Daten aus der DB zu entfernen. Man kann Enträge als gelöscht markieren, jedoch bleiben sie auf physikalischer Ebene in der Datenbank enthalten.

Erläuten Sie Funktionalität von Object-Relational-Mapping?

die Daten der Datenbank werden bei Lesen in Objekte umgewandelt und beim Schreiben wieder zurückverwandelt.

Welche Methoden vereinigt DAGσPERT?

Delphi und PERT

Welche Gründe sprechen nicht für die Optimierung von Code?

    1. Optimierungen führen dazu, dass der Code schwer versändlich und nicht wartbar ist

    2. Einige der Techniken erhöhen die Geschwindigkeit durch die Reduzierung der Erweiterbarkeit des Codes

Wie gut oder schlecht sind folgende Kostenschätzungsmethoden?

    1. COCOMO:       

    2. Pert:        

    3. Function Points:   

Dagopert:       

    1. COCOMO:        schlecht (zu alt)

    2. Pert:            vertretbar aber ungenau

    3. Function Points:    schlecht (funktioniert nicht)

Dagopert:        medium(ähnlich wie scrum)

Erklären Sie grob den Begriff des Designe Patterns!

A: Im Software-Engineering ist ein Design Pattern eine wiederverwendbare    Gesamtlösung    für häufig auftretende    Probleme. Sie beschreiben und erfassen bewährte Designe-Ideen. Es ist keine fertige Lösung für ein Problem sondern eher eine Vorlagen.

Frage: Was verbindet Design Patterns der Informatik mit Design Patterns in der Architektur?

Design Patterns beschreiben Lösungsmöglichkeiten - müssen aber auf das Problem angepasst werden.

: Was ist die Template Method

Definition eines Grundgerüstes eines Algorithmus . Die Schritte werden innerhalb des Algorithmus  in Unterklassen und Methoden  implementiert und können pro Algorithmus angepasst werden.

Beschreiben Sie das State Pattern

    A : Das State Pattern erlaubt einem Objekt sein Verhalten zu ändern, wenn sich der

    Interne Status ändert. Das Objekt wird seine implementierende Klasse anpassen.

Beispiel : Ventilator : Off, Low, Medium, High

Was ermöglicht Composite?

    A: Es ermöglicht eine Gruppe von Objekten auf die gleiche Weise zu behandeln.

  1. Was ist ein Singleton-Muster

Ist ein Entwurfsmuster, das verwendet wird , um die Instanziierung einer Klasse    auf ein Objekt zu beschränken.

  1. Frage: Nennen sie Drei Bestandteile eines Use-Case-Diagramms

    1. Use-Case (Anwendungsfall)

    2. Akteur

    3. Assoziation

    4. Systemkontext

    5. Generalisierung

  1. Frage: Wozu verwendet man Use-Case-Diagramme?

Antwort: Um eine Grundlage zur Kommunikation zwischen Programmierer und Fachanwender zu schaffen. (relativ einfach zu verstehen)

Nennen Sie Kritikpunkte zu Delphi und PERT

a. Delphi: basiert auf Expertenschätzung und sehr grob und ungenau
b. PERT: basierend auf Abhängigkeiten von kleinen Aufgaben und konzentriert sich auf kritischen Pfad

Um die Performance zu verbessern können einige Entwurfsmuster verwendet werden, um die Leistung zu optimieren. Nennen Sie 3.

  1. Flyweight reduziert den Speicherverbrauch

  2. Object Pool reduziert den Speicherverbrauch

  3. Prototyp beschleunigt die Objekterzeugung

Was macht ein Proxy?

Antwort: Ein Proxy kontrolliert die bestehenden Objekte dahingehend, dass der

  Speicherverbrauch und dessen Verwendung limitiert wird