Java
Užduotis buvo suformuluota kaip "sumažinti latenciją", ar ieškojote sprendimo patys?
Ar kada nors atlikote funkcijų vadovo vaidmenį?
Kaip veikia Kafka + Redis sorted set + išorinis planuotojas vėluojančioms pranešimams?
Kokius šiukšlių surinkėjus (Garbage Collectors) žinote Java? Ar yra rekomendacijų dėl skirtingų tipų naudojimo?
Ar turite patirties dirbant su AI/ML produktais?
Kas yra pageidautina stovo?
Papaskink man apie vystymo procesą (Agile/Scrum). Kaip vertinamos užduotys?
7. Testuojate naujų prekių pridėjimo formą administratoriaus valdymo skydelyje. Sukuriate naują prekę, paspaudžiate mygtuką Išsaugoti ir matote baltą tuščią ekraną. Aprašykite savo tolesnius veiksmus.
Kokie yra du pagrindiniai operacijų tipai Stream API?
Ar kada nors dirbote su Spring Data ir Hibernate? Kokius našumo klausimus išsprendėte?
Pateikite pavyzdį, kada nereikia naudoti mikroservisų architektūros ir išvardinkite keletą priežasčių.
Kokiems užduotims tiktų Istio?
Įgyvendinkite LRU talpyklą su senų reikšmių išmetimu (pagrindinė įgyvendinimas)
Kokios Kafka temos bus sistemoje, kas jas kuria ir kas naudoja?
Parašykite SQL užklausą: pasirinkite visų knygų pavadinimus, kurių daugiau nei trys autoriai.
Ar galima naudoti volatile long kintamajam ir kokiose situacijose tai yra saugu?
/** * Sąsaja sąsajai su bankomato aparatūros dalimi. */ interface Hardware { /** * Grąžina masyvą su banknotų skaičiumi pagal nominalus 50, 100, 500, 1000, 5000. * Metodas veikia lėtai ir sukelia triukšmą. * * @return masyvas, kuriame kiekvienas elementas atitinka tam tikro nominalo banknotų kiekį. * Pavyzdžiui, [10, 20, 30, 40, 50] reiškia: * - 10 banknotų po 50 rublių * - 20 banknotų po 100 rublių * - 30 banknotų po 500 rublių * - 40 banknotų po 1000 rublių * - 50 banknotų po 5000 rublių */ int[] getBillsCounts(); /** * Užkrauna į išdavimo dėžutę nurodytus banknotus. * * @param billsCounts masyvas su banknotų kiekiais pagal nominalus [50, 100, 500, 1000, 5000]. * Pavyzdžiui, [0, 1, 0, 2, 0] reiškia: * - 0 banknotų po 50 rublių * - 1 banknotą po 100 rublių * - 0 banknotų po 500 rublių * - 2 banknotus po 1000 rublių * - 0 banknotų po 5000 rublių */ void giveBills(int[] billsCounts); } /** * Klasė, kuri realizuoja bankomato darbo logiką. * Čia reikia rašyti kodą */ class MyATM { /** * Bankomato aparatūros dalis. */ Hardware hardware; public boolean withdraw(int amount) { int[] counts = hardware.getBillsCounts(); int[] nom = {50, 100, 500, 1000, 5000}; int[] toGive = new int[5]; for (int i = 4; i >= 0; i--) { int needed = amount / nom[i]; int use = Math.min(needed, counts[i]); toGive[i] = use; amount -= use * nom[i]; } if (amount != 0) { return false; } hardware.giveBills(toGive); return true; } }
Kada taikyti Dependency Inversion principą ir kada ne (sąsaja su YAGNI)
Kokie scope yra Spring? Kas yra singleton scope?
Papaskink apie CAP teoremą. Kas tai yra ir kam skirta?