Sobes.tech

Java

Stai continuando a imparare nuove tecnologie e competenze ora?

Junior — Middle
205

Quali metodi hai utilizzato per migliorare l'efficienza dell'interazione con il database nei tuoi progetti?

Junior — Middle
205

Hai lavorato con Kubernetes nel tuo ultimo progetto?

Junior — Middle
205

Qual è il ruolo dell'annotazione @Repository nel livello dei dati della tua applicazione?

Junior — Middle
205

In cosa si differenziano i processi di consegna e distribuzione di un prodotto software?

Junior — Middle
204

Cosa succede al messaggio in Kafka se durante la sua elaborazione viene sollevata un'eccezione (ma l'applicazione non si blocca)?

204

Come viene effettuata la dipendenza tramite il metodo setter nella programmazione orientata agli oggetti?

Junior — Middle
204

Qual è il ruolo della parola chiave volatile nella gestione della multithreading in Java?

Junior — Middle
204

Puoi spiegare cos'è un proxy Hibernate e come viene utilizzato in ORM?

Junior — Middle
204

Parlami del garbage collector in Java.

204

Perché usare la riflessione per accedere alle proprietà private degli oggetti?

Junior — Middle
204

Come scegliere i campi da indicizzare in una tabella del database?

Junior — Middle
204

Quali metodi vengono utilizzati per scambiare dati tra microservizi nell'architettura?

Junior — Middle
204

Come si può rimuovere una dipendenza di una libreria nel sistema di build Maven?

Junior — Middle
204

Implementare il trasferimento di fondi tra due conti. Si consideri che questa è una soluzione di produzione Parametri di input: @param fromAccountId identificativo unico dell'utente che trasferisce fondi @param toAccountId identificativo unico dell'utente a cui vengono trasferiti i fondi @param amount importo del trasferimento. Numero positivo public void transferMoney(Long fromAccountId, Long toAccountId, BigDecimal amount) { if (amount.compareTo(BigDecimal.ZERO) <= 0) { throw new RuntimeException("L'importo deve essere > 0"); } if (fromAccountId.equals(toAccountId)) { throw new RuntimeException("L'account non può essere lo stesso"); } Long firstId = Math.min(fromAccountId, toAccountId); Long secondId = Math.max(fromAccountId, toAccountId); Account first = accountRepository.findByIdForUpdate(firstId) .orElseThrow(() -> new RuntimeException("Account non trovato")); Account second = accountRepository.findByIdForUpdate(secondId) .orElseThrow(() -> new RuntimeException("Account non trovato")); Account from = fromAccountId.equals(firstId) ? first : second; Account to = fromAccountId.equals(firstId) ? second : first; if (from.getBalance().compareTo(amount) < 0) { throw new RuntimeException("Saldo insufficiente"); } from.setBalance(from.getBalance().subtract(amount)); to.setBalance(to.getBalance().add(amount)); accountRepository.save(to); accountRepository.save(from); }

204

Il servizio può funzionare correttamente in caso di guasto della connessione al database?

Junior — Middle
204

Come gestisce HashMap le situazioni in cui vengono aggiunti oggetti con chiavi uguali?

Junior — Middle
204

Quali tipi di dati o valori non possono essere usati come valore per una chiave secondaria in una tabella di database?

Junior — Middle
204
/732