Vai reaktīvais kods ar sinhronizētām transakcijām ir labi saderīgs?
Java
Kā risināt datu neatbilstības problēmu: ārējais zvans bija veiksmīgs, bet datu bāzē saglabāšana neizdevās?
Kādās gadījumos ir ieteicams izmantot nativās SQL vaicājumus, un kad - Hibernate?
/** * 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; } }
select name from employee group by name having COUNT(DISTINCT lang) >= 2;
Pastāsti par savu pēdējo projektu: ar ko nodarbojies, kādi uzdevumi bija, kādu tehnoloģiju izmantojāt?
Kā jūs vērtējat VK iniciatīvu izveidot savu datu bāzi un kā jūs novērtētu tās kvalitāti un efektivitāti?
Kādi ir ObjectMapper kā klases lauka (ne caur Spring) izveides sekas?
Kādas interesantas uzdevumus bija projektā?
/** * Metode aprēķina, cik punktu kandidāts ir ieguvis, * saglabā rezultātu datu bāzē un izsauc callback ārējā servisā */ public void process(Candidate c) { transactionTemplate.executeWithoutResult(status -> { Score s = interviewScoreMLService.compute(c); String body = objectMapper.writeValueAsString(Map.of(c.getName(), s)); Mono<ResponseEntity<Void>> request = WebClient.create() .post() .body(BodyInserters.fromValue(body)) .retrieve() .toBodilessEntity(); scoreRepository.saveScore(s); }); }
Kādi ir ieguvumi no īstenotā risinājuma bankomātam?