Allgemein Flashcards
Wie lang braucht es ein Element aus einer HashMap, Binary Tree und einer Linked List zu bekommen?
HashMap o(1)
Binary Tree o(log n)
Linked List o(n)
n steht für Anzahl der Elemente
Was ist der Unterschied zwischen Overriding und Overloading?
Overriding findet in Runtime statt und bedeutet das Überschreiben einer Methode, z.B. in einer Child Klasse
Overloading findet während des Compiling statt. Overloading bedeute eine Methode mit gleichen Namen aber anderen/mehr Parametern zu erstellen
Was ist der Unterschied von einem Prozess forken und einen Thread spawnen?
Ein geforkter Prozess führt den gleichen Code wie das Parent aber in einem anderen Speicherraum aus.
Ein gespanter Thread führt unabhängige Befehle aus und läuft dabei im gleichen Speicherraum wie der Prozess von dem er erstellt wurde.
Was ist eine Critical Section?
Ein sehr wichtige Abschnitt Code, auf den nur ein Thread gleichzeitig zugreifen kann
Was ist der Unterschied zwischen einem Value und Reference Type?
Ein Value Type ist optimiert und nicht veränderbar, z.B. Typen wie int, long, double….
Ein Reference Type zeigt auf Objekte welche veränderbar oder nicht veränderbar sein können.
Was ist der Heap und was der Stack?
Es handelt sich um zwei verschiedene Speicher. Im Stack werden Values gespeichert, im Stack werden References zu Objekten gespeichert.
Heap Speicher wird durch alle Threads geteilt, während jeder Thread seinen eigene Stack hat.
Was ist der Unterschied zwischen Valid und Well-formed XML?
Ein XML ist valid wenn alle Tags richtig geschlossen und alle Attribute richtig benannt sind, also richtige Syntax.
Ein Well-Formed XML entspricht dem XSD file oder einem Schema.
Was ist der Unterschied zwischen einem DOM und einem SAX Parser?
Ein DOM Parser lädt das komplette XML in den Arbeitsspeicher, während ein SAX Parser eventbasiert funktioniert, sprich nach Start oder Ende von Attributen.
Wie hängen Prozesse und Threads zusammen?
Ein Prozess kann mehrere Threads haben, jedem Thread ist genau ein Prozess zugeteilt. Prozesse teilen sich keinen Speicher, während Threads das tun.
Was ist eine Immutable Klasse?
Die State einer Immutable Klasse kann nicht geändert werden, was gut für multi-threading ist.
Was ist ein Mock Objekt?
Mock Objekte werden genutzt um Abschnitte des Programms zu testen.
Was ist SQL Injection?
Das Einsetzen von SQL Code um Daten zugewinnen oder Schaden zu ersetzen. Dies kann mit Prepared Satements verhindert werden.
Was ist der Unterschied zwischen einem Inner und Left Join?
In einem Inner Join werden nur Einträge zurückgegeben die übereinander stimmen, beim Left Join werden diese und alle des linken Tables zurückgegeben.
Was ist MVC?
MVC steht für Model-View-Controller. Das Model ist die Logik des Programms. Über View kann der Nutzer die Daten des Programmes einsehen. Der Controller steuert das Model.
Was ist eine lose Kopplung?
Das bedeutet das es möglich ist Teile eines Programmes zu ändern ohne damit andere Teiles zu beeinflussen. Ein Merkmal von guter Software.