Este codul reactiv cu tranzacții sincrone este compatibil?
Java
În ce cazuri trebuie să folosiți interogări SQL native și în care Hibernate?
select name from employee group by name having COUNT(DISTINCT lang) >= 2;
Cum să rezolvi problema inconsistenței datelor: apelul extern a avut succes, dar salvarea în baza de date a eșuat?
Cum evaluați inițiativa VK de a-și crea propria bază de date și cum ați aprecia calitatea și eficiența acesteia?
/** * Interfață pentru interacțiunea cu hardware-ul bancomatului. */ interface Hardware { /** * Returnează un array cu numărul de bancnote pentru denumirile 50, 100, 500, 1000, 5000. * Metoda funcționează lent și produce zgomot. * * @return array în care fiecare element corespunde numărului de bancnote pentru o anumită denumire. * De exemplu, [10, 20, 30, 40, 50] înseamnă: * - 10 bancnote de 50 de ruble * - 20 bancnote de 100 de ruble * - 30 bancnote de 500 de ruble * - 40 bancnote de 1000 de ruble * - 50 bancnote de 5000 de ruble */ int[] getBillsCounts(); /** * Încarcă în cutia de ieșire bancnotele indicate. * * @param billsCounts array cu numărul de bancnote pentru denumirile [50, 100, 500, 1000, 5000]. * De exemplu, [0, 1, 0, 2, 0] înseamnă: * - 0 bancnote de 50 * - 1 bancnotă de 100 * - 0 bancnote de 500 * - 2 bancnote de 1000 * - 0 bancnote de 5000 */ void giveBills(int[] billsCounts); } /** * Clasa pentru implementarea logicii bancomatului. * Aici trebuie scris codul */ class MyATM { /** * Hardware-ul bancomatului. */ 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; } }
Spune-mi despre ultimul tău proiect: cu ce te-ai ocupat, care au fost sarcinile, ce tehnologie ai folosit?
Care sunt consecințele creării unui ObjectMapper ca câmp al clasei (nu prin Spring)?
Care au fost sarcinile interesante din proiect?
/** * Metoda calculează câte puncte a obținut candidatul, * salvează rezultatul în bază de date și apelează un callback într-un serviciu extern */ 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); }); }
Care sunt dezavantajele soluției implementate pentru bancomat?