Ha terveznél egy GC-t, milyen szemétgyűjtési megközelítéseket ismersz a hozzáférhetőségi gráf bejárása mellett?
Java
Mi az a deadlock? Miben különbözik a race condition-től? Hogyan lehet elkerülni a deadlockot, még akkor is, ha nem lehet előre meghatározni a zárolások megszerzésének sorrendjét?
Implementálja a RecommenderService-t a getTop(User user, int limit) és addDocument(Document document) módszerekkel, memória alapú tárolás használatával
Mennyit nyom egy mutató? Mi ez?
Miért szükséges a verem és miért a halom? Mi a különbség?
Miért esett le a teszt NullPointerException hibával, és hogyan javítható?
Mi az a heap?
Hogyan történik az objektumok törlése a heap-ből Java-ban? Beszélj a Garbage Collector-ról.
Hasonlítsa össze az alábbi kódrészletek teljesítményét, amelyek elemeket másolnak egy Integer tömbből egy int tömbbe és fordítva, beleértve azt az esetet is, amikor új Integer objektumokat hoznak létre int értékekből: ```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]); } } ``` Elemezze és magyarázza el a különbségeket a teljesítmény és a viselkedés tekintetében ezek között a megközelítések között.
Melyik SOLID elv sérül a jelenlegi megvalósításban, ahol a szolgáltatás szorosan kötött egy konkrét tárolási megoldáshoz (ArrayList)?
Milyen folyamatok közötti kommunikációs (IPC) módszereket ismersz az Unix operációs rendszer interfészeinek szintjén?
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]); } }
Milyen probléma léphet fel egy produkciós környezetben, ha több szálon keresztül férünk hozzá a szolgáltatáshoz (több REST-kérés párhuzamosan)?
Miért szükséges a synchronized? Mit használnál a szálbiztos számláló megvalósításához a synchronized helyett?
Hogyan jelenik meg egy primitív a veremben, és hogyan a halomban?
Mik a jelenlegi megközelítés hátrányai, amikor minden hívásnál az egész listát rendezik a getTop esetében?
/** * Két szám keresése egy tömbben, amelyek összege egy adott számnak felel meg * <p> * Írj egy függvényt, amely első argumentumként egy nem rendezett pozitív számokat tartalmazó tömböt fogad * és második argumentumként egy pozitív számot. A függvénynek igazat kell adnia, ha a tömbben * van 2 szám, amelyek összege megegyezik a második argumentummal. * <p> * Bemenet: ([10, 15, 3, 7], 17) * Kimenet: true */
Fejtsd meg az ACID rövidítést, és magyarázd el minden tulajdonságát.
Mi az a fork rendszerhívás az Unix család operációs rendszereiben?
Hogyan helyesen alkalmazzuk a függőségeket (Dependency Injection) egy szolgáltatásban — melyik megközelítés a legelőnyösebb?