Реактивті код пен синхронды транзакциялар үйлесімді ме?
Java
Қандай жағдайларда нативті SQL сұрауларын қолдану керек, ал қашан — Hibernate?
Деректердің сәйкессіздік мәселесін қалай шешуге болады: сыртқы шақыру сәтті өтті, бірақ дерекқорға сақтау сәтсіз аяқталды?
/** * ATM жабдығымен өзара әрекеттесу интерфейсі. */ interface Hardware { /** * 50, 100, 500, 1000, 5000 номиналдарындағы купюра саны бар массивті қайтарады. * Бұл әдіс баяу жұмыс істейді және шу шығарады. * * @return әр элементі белгілі бір номиналдағы купюра санын көрсететін массив. * Мысалы, [10, 20, 30, 40, 50] мынаны білдіреді: * - 50 рубльдік 10 купюра * - 100 рубльдік 20 купюра * - 500 рубльдік 30 купюра * - 1000 рубльдік 40 купюра * - 5000 рубльдік 50 купюра */ int[] getBillsCounts(); /** * Берілген купюраларды шығару қорабына жүктейді. * * @param billsCounts номиналдар бойынша купюра саны бар массив [50, 100, 500, 1000, 5000]. * Мысалы, [0, 1, 0, 2, 0] мынаны білдіреді: * - 50 рубльдік 0 купюра * - 100 рубльдік 1 купюра * - 500 рубльдік 0 купюра * - 1000 рубльдік 2 купюра * - 5000 рубльдік 0 купюра */ void giveBills(int[] billsCounts); } /** * ATM логикасын жүзеге асыратын класс. * Мұнда код жазу керек */ class MyATM { /** * ATM жабдығы. */ 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; } }
қызметкерлер кестесі | аты | тілі | | Nick | C# | | Nick | SQL | | Eva | Rust | | Vika | SQL | | Ivan | Java | | Ivan | SQL | SQL және тағы бір тілді білетін қызметкерлердің аттарын табатын сұрау жазу керек. select name from employee group by name having COUNT(DISTINCT lang) >= 2;
Соңғы жобаңыз туралы айтыңыз: не істедіңіз, қандай тапсырмалар болды, қандай стек қолдандыңыз?
VK-тың өз деректер қорын құру бастамасына қалай қарайсыз және оның сапасы мен тиімділігін қалай бағалайсыз?
ObjectMapper-ді сыныптың өрісіне жасау (Spring арқылы емес) қандай салдарға әкелуі мүмкін?
Жоба барысында қандай қызықты тапсырмалар болды?
/** * Бұл әдіс кандидат қанша ұпай жинағанын есептейді, * нәтижесін дерекқорға сақтайды және сыртқы сервисте шақыруды жібереді */ 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); }); }
Банкоматқа арналған жүзеге асырылған шешімнің қандай кемшіліктері бар?