Какви методи се използват за обмен на данни между микросервизите в архитектурата?
Java
Как може да се премахне зависимостта на библиотека в системата за изграждане Maven?
Реализирайте прехвърляне на средства между две сметки. Имайте предвид, че това е решение за производство Входни параметри: @param fromAccountId уникален идентификатор на потребителя, който прехвърля средства @param toAccountId уникален идентификатор на потребителя, на когото се прехвърлят средствата @param amount сума на прехвърлянето. Положително число public void transferMoney(Long fromAccountId, Long toAccountId, BigDecimal amount) { if (amount.compareTo(BigDecimal.ZERO) <= 0) { throw new RuntimeException("Сумата трябва да е > 0"); } if (fromAccountId.equals(toAccountId)) { throw new RuntimeException("Сметката не може да е същата"); } Long firstId = Math.min(fromAccountId, toAccountId); Long secondId = Math.max(fromAccountId, toAccountId); Account first = accountRepository.findByIdForUpdate(firstId) .orElseThrow(() -> new RuntimeException("Сметка не е намерена")); Account second = accountRepository.findByIdForUpdate(secondId) .orElseThrow(() -> new RuntimeException("Сметка не е намерена")); Account from = fromAccountId.equals(firstId) ? first : second; Account to = fromAccountId.equals(firstId) ? second : first; if (from.getBalance().compareTo(amount) < 0) { throw new RuntimeException("Недостатъчен баланс"); } from.setBalance(from.getBalance().subtract(amount)); to.setBalance(to.getBalance().add(amount)); accountRepository.save(to); accountRepository.save(from); }
Може ли услугата да функционира правилно при срив в връзката с базата данни?
Как управлява HashMap ситуациите, когато към нея се добавят обекти с еднакви ключове?
Какви типове данни или стойности не могат да се използват като стойност за вторичен ключ в таблица с база данни?
Каква е разликата в метода destroy() при изтриване на екземпляри на бинове от тип Singleton и Prototype?
Как може Hibernate да реализира отображението на клас към таблица в базата данни?
Каква е ролята и функциите на командата 'clean' в системата за изграждане Maven?
Къде беше Circuit Breaker във вашата система: на входа или на изходящите повиквания?
Защо теоретично е невъзможно да се гарантира CA без P?
Какво е cache stampede и cache penetration? Как да се борим с тях?
Променете метода така, че при препълване да връща грешка. Демонстрирайте това на пример с добавяне на две числа.
Можете ли да опишете опита си с инструмента за автоматизация на миграциите на бази данни Liquibase?
Как оптимизирахте или решихте проблема с дългото изпълнение на заявки към базата данни?
Можете ли да обясните как работи операторът instanceof в Java и в кои ситуации се използва?
Какви ограничения съществуват при използването на null като ключ в хеш таблица?
Какви типове взаимодействия и формати на данни са използвани при работа с REST API?
Спазвахте ли определени правила или стандарти при анализа на кода на друг разработчик?
Сподели примери за задачи, които ти беше интересно да решаваш в практиката си