Cum să alegi câmpurile pentru indexare într-un tabel de bază de date?
Java
Ce metode sunt utilizate pentru schimbul de date între microservicii în arhitectură?
Cum se poate elimina dependența unei biblioteci în sistemul de construire Maven?
Implementați transferul de fonduri între două conturi. Rețineți că aceasta este o soluție de producție Parametri de intrare: @param fromAccountId identificatorul unic al utilizatorului care transferă fonduri @param toAccountId identificatorul unic al utilizatorului către care se transferă fondurile @param amount suma transferului. Număr pozitiv public void transferMoney(Long fromAccountId, Long toAccountId, BigDecimal amount) { if (amount.compareTo(BigDecimal.ZERO) <= 0) { throw new RuntimeException("Suma trebuie să fie > 0"); } if (fromAccountId.equals(toAccountId)) { throw new RuntimeException("Contul nu poate fi același"); } Long firstId = Math.min(fromAccountId, toAccountId); Long secondId = Math.max(fromAccountId, toAccountId); Account first = accountRepository.findByIdForUpdate(firstId) .orElseThrow(() -> new RuntimeException("Cont ne găsit")); Account second = accountRepository.findByIdForUpdate(secondId) .orElseThrow(() -> new RuntimeException("Cont ne găsit")); Account from = fromAccountId.equals(firstId) ? first : second; Account to = fromAccountId.equals(firstId) ? second : first; if (from.getBalance().compareTo(amount) < 0) { throw new RuntimeException("Sold insuficient"); } from.setBalance(from.getBalance().subtract(amount)); to.setBalance(to.getBalance().add(amount)); accountRepository.save(to); accountRepository.save(from); }
Poate serviciul să funcționeze corect în cazul unei defecțiuni a conexiunii cu baza de date?
Cum gestionează HashMap situațiile în care sunt adăugate obiecte cu chei identice?
Ce tipuri de date sau valori nu pot fi utilizate ca valoare pentru o cheie secundară într-un tabel de baze de date?
Care este diferența metodei destroy() la eliminarea instanțelor de beans de tip Singleton și Prototype?
Cum poate Hibernate să implementeze maparea unei clase la un tabel de bază de date?
Care este rolul și funcțiile comenzii 'clean' în sistemul de construire Maven?
Unde era Circuit Breaker în sistemul dvs.: la intrare sau pe apelurile de ieșire?
De ce este teoretic imposibil să garantăm CA fără P?
Ce sunt cache stampede și penetrarea cache-ului? Cum să le combatem?
Modificați metoda astfel încât, în caz de depășire, să returneze o eroare. Demonstrați acest lucru cu un exemplu de adunare a două numere.
Puteți descrie experiența dumneavoastră cu instrumentul de automatizare a migrărilor bazelor de date Liquibase?
Cum ați optimizat sau rezolvat problema interogărilor lungi către baza de date?
Poți explica cum funcționează operatorul instanceof în Java și în ce situații este utilizat?
Experiență cu SSO?
Ce restricții există atunci când se folosește null ca cheie într-un tabel hash?
Ce tipuri de interacțiuni și formate de date au fost utilizate în timpul lucrului cu API-ul REST?