Sobes.tech

Java

Wenn du einen GC entwerfen würdest, welche Ansätze der Garbage Collection kennst du neben der Durchlauf des Erreichbarkeitsgraphen?

Senior
284

Was ist ein Deadlock? Worin besteht der Unterschied zu einem Race Condition? Wie kann man Deadlocks vermeiden, auch wenn es unmöglich ist, die Reihenfolge der Sperrung im Voraus zu bestimmen?

Senior
281

Implementieren Sie RecommenderService mit den Methoden getTop(User user, int limit) und addDocument(Document document), unter Verwendung eines In-Memory-Speichers

Senior
223

Wie viel wiegt ein Zeiger? Was ist das?

Senior
201

Wozu dient der Stack und wozu der Heap? Was ist der Unterschied?

Senior
192

Warum ist der Test mit einer NullPointerException fehlgeschlagen und wie kann man das beheben?

Senior
189

Was ist ein Heap (Haufen)?

Senior
189

Wie werden Objekte im Heap in Java gelöscht? Erzählen Sie vom Garbage Collector.

Senior
183

Vergleichen Sie die Leistung der folgenden Codeausschnitte, die Elemente von einem Integer-Array in ein int-Array und umgekehrt kopieren, einschließlich des Falls, in dem neue Integer-Objekte aus int-Werten erstellt werden: ```java int SIZE = 1000000; int[] x = new int[SIZE]; Integer[] y = new Integer[SIZE]; for (;;) { for (int i = 0; i < SIZE; ++i) { x[i] = y[i]; } } ``` ```java int SIZE = 1000000; int[] x = new int[SIZE]; Integer[] y = new Integer[SIZE]; for (;;) { for (int i = 0; i < SIZE; ++i) { y[i] = x[i]; } } ``` ```java int SIZE = 1000000; int[] x = new int[SIZE]; Integer[] y = new Integer[SIZE]; for (;;) { for (int i = 0; i < SIZE; ++i) { y[i] = new Integer(x[i]); } } ``` Analysieren und erklären Sie die Unterschiede in Leistung und Verhalten zwischen diesen Ansätzen.

Senior
176

Welches SOLID-Prinzip wird in der aktuellen Implementierung verletzt, bei der der Service stark an eine konkrete Speicherimplementierung (ArrayList) gebunden ist?

Senior
167

Welche Methoden der Interprozesskommunikation (IPC) kennen Sie auf der Ebene der Schnittstellen des Unix-Betriebssystems?

Senior
166

int SIZE = 1000000; int[] x = new int[SIZE]; Integer[] y = new Integer[SIZE]; for (;;) { for (int i = 0; i < SIZE; ++i) { y[i] = new Integer(x[i]); } }

Senior
162

Welches Problem kann in einer Produktionsumgebung bei gleichzeitiger Zugriff auf den Service durch mehrere REST-Anfragen auftreten?

Senior
161

Wozu ist synchronized notwendig? Was würdest du verwenden, um einen thread-sicheren Zähler anstelle von synchronized zu implementieren?

Senior
161

Wie erscheint ein Primitive im Stack und wie im Heap?

Senior
158

Was sind die Nachteile des aktuellen Ansatzes, bei dem die gesamte Liste bei jedem Aufruf von getTop sortiert wird?

Senior
155

/** * Suche zwei Zahlen in einem Array, deren Summe einer vorgegebenen Zahl entspricht * <p> * Schreibe eine Funktion, die ein Array aus unordentlichen positiven Zahlen als erstes Argument annimmt * und eine positive Zahl als zweites Argument. Die Funktion soll true zurückgeben, wenn im Array * 2 Zahlen sind, deren Summe das zweite Argument ergibt. * <p> * Eingabe: ([10, 15, 3, 7], 17) * Ausgabe: true */

Senior
155

Wie man Abhängigkeiten (Dependency Injection) in einem Service richtig implementiert — welcher Ansatz ist vorzuziehen?

Senior
153

Entschlüsseln Sie die Abkürzung ACID und erklären Sie jede Eigenschaft.

Senior
152

Was ist der Systemaufruf fork in Betriebssystemen der Unix-Familie?

Senior
150
/2