Allgemein Flashcards

1
Q

Wie lang braucht es ein Element aus einer HashMap, Binary Tree und einer Linked List zu bekommen?

A

HashMap o(1)
Binary Tree o(log n)
Linked List o(n)
n steht für Anzahl der Elemente

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Was ist der Unterschied zwischen Overriding und Overloading?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Was ist der Unterschied von einem Prozess forken und einen Thread spawnen?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Was ist eine Critical Section?

A

Ein sehr wichtige Abschnitt Code, auf den nur ein Thread gleichzeitig zugreifen kann

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Was ist der Unterschied zwischen einem Value und Reference Type?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Was ist der Heap und was der Stack?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Was ist der Unterschied zwischen Valid und Well-formed XML?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Was ist der Unterschied zwischen einem DOM und einem SAX Parser?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Wie hängen Prozesse und Threads zusammen?

A

Ein Prozess kann mehrere Threads haben, jedem Thread ist genau ein Prozess zugeteilt. Prozesse teilen sich keinen Speicher, während Threads das tun.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Was ist eine Immutable Klasse?

A

Die State einer Immutable Klasse kann nicht geändert werden, was gut für multi-threading ist.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Was ist ein Mock Objekt?

A

Mock Objekte werden genutzt um Abschnitte des Programms zu testen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Was ist SQL Injection?

A

Das Einsetzen von SQL Code um Daten zugewinnen oder Schaden zu ersetzen. Dies kann mit Prepared Satements verhindert werden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Was ist der Unterschied zwischen einem Inner und Left Join?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Was ist MVC?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Was ist eine lose Kopplung?

A

Das bedeutet das es möglich ist Teile eines Programmes zu ändern ohne damit andere Teiles zu beeinflussen. Ein Merkmal von guter Software.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Was ist eine Association, Aggregtaion und Compoisition?

A

Assoziation ist wenn zwei Objekte miteinander in Verbindung sind.
Aggregation ist eine Ansammlung von Objekten.
Composition ist eine Ansammlung von Objekten die nur als ganzes bestehen können, z.B. Körper aus Organen.

17
Q

Was ist der Unterschied eines Interface und einer abstrakten Klasse?

A

In abstrakte Klassen können Methoden deklariert und definiert werden. In Interfaces können Methoden und Attribute nur deklariert werden. Abstrakte Methoden müssen überschrieben werden. Alle deklarierten eines Interface müssen implementiert werden. Ein Interface kann keine Attribute haben.

18
Q

Was sind drei verschiedene Testarten?

A

Unit Tests, zum Testen von Individuellen Einheiten
Integration Tests, zum Testen ob verschiedene Module miteinander funktionieren können
Smoke Tests, zum Testen von Highlevel Funktionalitäten.

19
Q

Was ist der Unterschied zwischen & und &&?

A

& ist ein Bitwise Operrator, er kann int und bool Werte vergleichen. && ist ein Bool Operator und kann nur Boolean werte vergleichen, & führt immer beide Seiten aus.

20
Q

Was ist der Unterschied zwischen einem Binary Tree und einem Binary Search Tree?

A

Ein Binary Search Tree ist ein geordneter Binary Tree in dem die Werte des Linken Nodes immer kleiner als die des rechten sind.

21
Q

Was ist die Zeit Komplexität eines Algorithmus?

A

Die Darstellung in o Notation gibt das Verhältnis von Zeit und Eingabe wieder.

22
Q

Was sind die wichtigsten Unterschiede zwischen einem Array und einer Linked List?

A

Ein Array speichert Daten an einem festgelegtem Ort während eine Liste Daten irgendwo im Speicher ablegt. Dies gibt der Liste die Möglichkeit zu wachsen.

23
Q

Wie können Kollisionen bei Hash Tables verhindert werden?

A

Durch Linear Probing, Double Hasing und Chaining. Bee linearem Probing wird bei einer Kollision nach dem nächsten freien Bucket gesucht. Bei Chaining werden mehrere Einträge in einen Bucket gespeichert.

24
Q

Was sind Regular Expressions?

A

Eine Methode um Patternmatching bei Text Daten durchzuführen?

25
Q

Schreibe eine SQL Query um den Mitarbeiter mit dem zweit höchsten Gehalt zu bekommen?

A

SELECT MAX(Salary) FROM Employee WHERE Salary NOT IN (SELECT MAX(Salary) FROM Employee)

26
Q

Was ist der Unterschied einer correlated und non-correlated Subquery?

A

In einer correlated Subquery hängt die innere Subquery von der äußeren ab und wird dann für jede Reihe der äußeren ausgeführt? Eine non-correlated Subquery hängt nicht mit der äußeren Query zusammen und kann auch einzeln ausgeführt werden?

27
Q

Wie findet man das mittlere Element einer Linked List mit einem durchlauf?

A

In dem man zwei Pointer nutzt. Einer iteriert normal, der Andere nur bei jedem zweiten Sprung. Wenn der erste auf dem letzten Node ist ist der Zweite in der Mitte.

28
Q

Wie findet man ob eine Linked List eine Schleife hat?

A

Vorgehen mit zwei Pointern, sollten diese auf den gleichen node zeigen, hat man eine Schleife.

29
Q

Wie findet man den doppelten Wert in einem Array, das von 1 bis 100 geht?

A

Alle Werte zusammen zählen, dann n(n-1)/2 rechnen und abziehen, das Ergebnis ist der doppelte Wert.

30
Q

Was ist ein Observer Pattern?

A

Ein Design Pattern in dem man verschiedene Observer deklarieren kann welche eine Melde bekommen sobald sich ein bestimmter Wert im Subjekt ändert.