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?
Libraries befinden sich in der Schichtung separiert ganz unten.
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?
Ein Framework auf Java Basis (Komponentenmodell), welches Rahmenbedingungen für Plugins schafft.
Equinox, Apache,
Was ist Google Guice?
Ein leichtgewichtiges Dependency Injection Framework auf Java Basis
Wozu benötigt man Dependency Injection?
Auslagerung der "new" Operators
Entlastung für den Compieler
Nennen Sie vier verschiedene Scopes
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.
Keine Konvertierung oder Mapping erforderlich.
Eine Zeile Code um Objekten beliebiger Komplexität zu speichern.
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
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?
Zu große Daten z.B. Videos können nicht/nur mit sehr schlechter Performance in einer Relationale Datenbank gespeichert werden.
Was bedeutet REST?
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?
Optimierungen führen dazu, dass der Code schwer versändlich und nicht wartbar ist
Einige der Techniken erhöhen die Geschwindigkeit durch die Reduzierung der Erweiterbarkeit des Codes
Wie gut oder schlecht sind folgende Kostenschätzungsmethoden?
COCOMO:
Pert:
Function Points:
Dagopert:
COCOMO: schlecht (zu alt)
Pert: vertretbar aber ungenau
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.
Was ist ein Singleton-Muster
Ist ein Entwurfsmuster, das verwendet wird , um die Instanziierung einer Klasse auf ein Objekt zu beschränken.
Frage: Nennen sie Drei Bestandteile eines Use-Case-Diagramms
Use-Case (Anwendungsfall)
Akteur
Assoziation
Systemkontext
Generalisierung
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.
Flyweight reduziert den Speicherverbrauch
Object Pool reduziert den Speicherverbrauch
Prototyp beschleunigt die Objekterzeugung
Was macht ein Proxy?
Antwort: Ein Proxy kontrolliert die bestehenden Objekte dahingehend, dass der
Speicherverbrauch und dessen Verwendung limitiert wird