Ako projektujete GC, koje pristupe sakupljanju smeća poznajete osim prolaska kroz graf dostupnosti?
Java
Šta je deadlock? Čime se razlikuje od race condition? Kako izbeći deadlock, čak i ako nije moguće unapred odrediti redosled zahvata zaključavanja?
Implementirajte RecommenderService sa metodama getTop(User user, int limit) i addDocument(Document document), koristeći in-memory skladište
Koliko teži pokazivač? Šta je to?
Zašto je potreban stek i zašto je potreban heap? Koja je razlika?
Zašto je test pao sa NullPointerException i kako to popraviti?
Šta je heap (hrpa)?
Kako se u Javi vrši brisanje objekata iz heap-a? Pričaj o Garbage Collector-u.
Uporedite performanse sledećih delova koda koji kopiraju elemente iz niza Integer u niz int i obrnuto, uključujući slučaj kada se kreiraju novi objekti Integer iz int vrednosti: ```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]); } } ``` Analizirajte i objasnite razlike u performansu i ponašanju između ovih pristupa.
Koje SOLID načelo je prekršeno u trenutnoj implementaciji, gde je servis čvrsto vezan za konkretnu implementaciju skladišta (ArrayList)?
Koje načine komunikacije između procesa (IPC) poznajete na nivou interfejsa operativnog sistema Unix?
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]); } }
Зашто је потребан synchronized? Шта би користио за имплементацију безбедног бројача за нитеве уместо synchronized?
Koji problem može nastati u produkcionom okruženju pri višestrukom paralelnom pristupu servisu putem REST zahteva?
Koje su mane trenutnog pristupa sortiranja celog spiska pri svakom pozivu getTop?
Kako se primitiv pojavljuje u steku, a kako u hrpi?
/** * Проналажење два броја у низу којих је збир једнак датом броју * <p> * Напишите функцију која прихвата као први аргумент низ неуређених позитивних бројева * и као други аргумент позитиван број. Функција треба да врати true ако у низу * постоје 2 броја чији збир даје други аргумент. * <p> * Улаз: ([10, 15, 3, 7], 17) * Излаз: true */
Kako pravilno implementirati zavisnosti (Dependency Injection) u servisu — koji pristup je poželjniji?
Razjasnite skraćenicu ACID i objasnite svako svojstvo.
Šta je sistemski poziv fork u operativnim sistemima porodice Unix?