Jei kurtumėte GC, kokius šiukšlių surinkimo būdus žinote, išskyrus prieinamumo grafiko perėjimą?
Java
Kas yra deadlock? kuo jis skiriasi nuo race condition? Kaip išvengti deadlock, net jei neįmanoma iš anksto nustatyti užraktų įsigijimo tvarkos?
Įgyvendinkite RecommenderService su metodais getTop(User user, int limit) ir addDocument(Document document), naudojant atmintyje esančią saugyklą
Kiek sveria rodyklė? Kas tai?
Kam reikalingas stekas ir kam reikalingas heap'as? Kuo jie skiriasi?
Kodėl testas žlugo su NullPointerException ir kaip tai ištaisyti?
Kas yra heap (kalnas)?
Kaip Java vyksta objektų šalinimas iš heap'o? Papasakok apie Garbage Collector.
Palyginkite šių kodo fragmentų našumą, kurie kopijuoja elementus iš Integer masyvo į int masyvą ir atvirkščiai, įskaitant atvejį, kai kuriami nauji Integer objektai iš int reikšmių: ```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]); } } ``` Analizuokite ir paaiškinkite šių požiūrių našumo ir elgesio skirtumus.
Kuris SOLID principas yra pažeistas dabartinėje įgyvendinime, kur paslauga yra stipriai susieta su konkrečia saugojimo įgyvendinimu (ArrayList)?
Kokius procesų tarpusavio ryšio (IPC) būdus žinote Unix operacinės sistemos sąsajų lygyje?
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]); } }
Kam reikalingas synchronized? Ką naudotum norėdamas įgyvendinti srauto saugų skaitiklį vietoje synchronized?
Kokia problema gali iškilti gamybos aplinkoje, kai keli REST užklausos vykdomos lygiagrečiai?
/** * Ieškoti dviejų skaičių masyve, kurių suma lygi duotam skaičiui * <p> * Parašykite funkciją, kuri kaip pirmą argumentą priima nesutvarkytą teigiamų skaičių masyvą * ir kaip antrą argumentą teigiamą skaičių. Funkcija turi grąžinti true, jei masyve * yra 2 skaičiai, kurių suma duoda antrą argumentą. * <p> * Įvestis: ([10, 15, 3, 7], 17) * Išvestis: true */
Kaip primityvas atsiranda stack'e ir kaip heap'e?
Kokie yra dabartinio požiūrio trūkumai, kai kiekvieną kartą iškviečiant getTop, visa sąrašas yra rūšiuojamas?
Iššifruokite ACID santrumpą ir paaiškinkite kiekvieną savybę.
Kaip teisingai įgyvendinti priklausomybes (Dependency Injection) paslaugoje — kuris požiūris yra pageidautinas?
Kas yra sisteminis iškvietimas fork Unix šeimos operacinėse sistemose?