Sobes.tech

Java

Gdybyś projektował GC, jakie podejścia do zbierania śmieci znasz oprócz przechodzenia grafu osiągalności?

Senior
279

Czym jest deadlock? Czym różni się od warunku wyścigu? Jak unikać deadlocka, nawet jeśli nie można wcześniej określić kolejności przejęcia blokad?

Senior
273

Zaimplementuj RecommenderService z metodami getTop(User user, int limit) i addDocument(Document document), korzystając z pamięci operacyjnej

Senior
220

Ile waży wskaźnik? Co to jest?

Senior
200

Do czego służy stos i do czego służy sterta? Jaka jest różnica?

Senior
190

Dlaczego test kończył się NullPointerException i jak to naprawić?

Senior
188

Czym jest heap (stos)?

Senior
187

Jak w Javie odbywa się usuwanie obiektów z heap? Opowiedz o Garbage Collector.

Senior
177

Porównaj wydajność następujących fragmentów kodu, które kopiują elementy z tablicy Integer do tablicy int i odwrotnie, w tym przypadek, gdy tworzone są nowe obiekty Integer z wartości int: ```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]); } } ``` Przeanalizuj i wyjaśnij różnice w wydajności i zachowaniu między tymi podejściami.

Senior
173

Któła zasada SOLID jest naruszona w obecnej implementacji, gdzie serwis jest mocno związany z konkretną implementacją przechowywania (ArrayList)?

Senior
166

Jakie metody komunikacji międzyprocesowej (IPC) znasz na poziomie interfejsów systemu operacyjnego Unix?

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
161

Do czego służy synchronized? Co byś użył do zaimplementowania bezpiecznego dla wątków licznika zamiast synchronized?

Senior
159

Jakie problemy mogą wystąpić w środowisku produkcyjnym przy wielowątkowym dostępie do usługi (kilka równoległych zapytań REST)?

Senior
156

Jakie są wady obecnego podejścia polegającego na sortowaniu całej listy przy każdym wywołaniu getTop?

Senior
155

/** * Szukanie dwóch liczb w tablicy, których suma jest równa podanej liczbie * <p> * Napisz funkcję, która jako pierwszy argument przyjmuje tablicę nieuporządkowanych liczb dodatnich * i jako drugi argument liczbę dodatnią. Funkcja powinna zwracać true, jeśli w tablicy * znajdują się 2 liczby, których suma daje drugi argument. * <p> * Input: ([10, 15, 3, 7], 17) * Output: true */

Senior
154

Jak primitive pojawia się na stosie, a jak na stercie?

Senior
154

Jak poprawnie wdrażać zależności (Dependency Injection) w serwisie — które podejście jest bardziej preferowane?

Senior
152

Rozszyfruj skrót ACID i wyjaśnij każdą cechę.

Senior
151

Czym jest wywołanie systemowe fork w systemach operacyjnych rodziny Unix?

Senior
149
/2