Java
Kādi sākotnējie soļi jāveic, iepazīstoties ar jau izstrādātu projektu?
Kā jūs mērojāt uzdevumu sarežģītību un progresu jūsu iepriekšējā darba vietā?
Kā aprēķināt sistēmas vidējo atbildes laiku?
Kā tiek īstenotas un darbojas atomu operācijas ar mainīgajiem daudzprocesu vidē?
Kāda ir JVM galvenā funkcija un kāpēc tā ir svarīga Java programmu izpildei?
Kā tiek pievienots elements HashMap, ja notiek atslēgu sadursme?
Kādi projektu veidi jums ir visinteresantākie un kāpēc?
Kā atšķiras pieejas steka tīrīšanai C# un Java valodās?
Vai Kafka notikumu secība bija svarīga? Kā tā tika nodrošināta?
Vai jūs protat pārvaldīt un publicēt saturu sociālajos tīklos?
Kāda ir jūsu pieredze attālinātas lietojumprogrammu atkļūdošanas iestatīšanā?
Kādus rīkus vai pieejas jūs izmantojāt, lai savā pēdējā projektā vāktu un analizētu metriku?
Kā noteikt, kad klase vai modulis veic pārāk daudz funkciju un pārkāpj vienas atbildības principu?
Kāda ir jūsu pieredze ar daudzprocesu programmām un pavedienu sinhronizāciju?
Kāda ir ORM galvenā funkcija programmatūras izstrādē?
Kā noteikt, kuru indeksu jāizveido, lai optimizētu datu bāzes darbību?
/** * Saskarne ar ATM aparatūras daļu. */ interface Hardware { /** * Atgriež masīvu ar banknošu skaitu pēc nomināliem 50, 100, 500, 1000, 5000. * Metode darbojas lēni un rada troksni. * * @return masīvs, kur katrs elements atbilst noteikta nomināla banknotu skaitam. * Piemēram, [10, 20, 30, 40, 50] nozīmē: * - 10 banknošu pa 50 rubļiem * - 20 banknošu pa 100 rubļiem * - 30 banknošu pa 500 rubļiem * - 40 banknošu pa 1000 rubļiem * - 50 banknošu pa 5000 rubļiem */ int[] getBillsCounts(); /** * Ielādē norādītos banknotus izsniegšanas kastē. * * @param billsCounts masīvs ar banknošu skaitu pēc nomināliem [50, 100, 500, 1000, 5000]. * Piemēram, [0, 1, 0, 2, 0] nozīmē: * - 0 banknošu pa 50 rubļiem * - 1 banknotu pa 100 rubļiem * - 0 banknošu pa 500 rubļiem * - 2 banknotus pa 1000 rubļiem * - 0 banknotus pa 5000 rubļiem */ void giveBills(int[] billsCounts); } /** * Klase, kas realizē ATM darba loģiku. * Šeit ir jāraksta kods */ class MyATM { /** * ATM aparatūras daļa. */ 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; } }
Izskaidrojiet, kas ir Query Hibernate kontekstā un kā tā tiek izmantota datu iegūšanai.
Kādiem veidiem var nodrošināt divu Consumer, kuriem ir abonēts viens un tas pats Topic, stabilitāti un nepārtrauktu darbību?
Kāda ir atšķirība starp Aerospike un Redis izmantošanu datu glabāšanas un apstrādes kontekstā?