Sobes.tech

Java

Quali vantaggi offre lavorare in una grande struttura aziendale?

Junior — Middle
157

In quali casi è consigliabile usare query SQL native e in quali Hibernate?

154

select name from employee group by name having COUNT(DISTINCT lang) >= 2;

153

/** * Interfaccia per interagire con l'hardware del bancomat. */ interface Hardware { /** * Restituisce un array con il numero di banconote per denominazioni 50, 100, 500, 1000, 5000. * Il metodo funziona lentamente e genera rumore. * * @return array in cui ogni elemento corrisponde al numero di banconote di una denominazione specifica. * Ad esempio, [10, 20, 30, 40, 50] significa: * - 10 banconote da 50 rubli * - 20 banconote da 100 rubli * - 30 banconote da 500 rubli * - 40 banconote da 1000 rubli * - 50 banconote da 5000 rubli */ int[] getBillsCounts(); /** * Carica nella cassa le banconote indicate. * * @param billsCounts array con il numero di banconote per denominazioni [50, 100, 500, 1000, 5000]. * Ad esempio, [0, 1, 0, 2, 0] significa: * - 0 banconote da 50 rubli * - 1 banconota da 100 rubli * - 0 banconote da 500 rubli * - 2 banconote da 1000 rubli * - 0 banconote da 5000 rubli */ void giveBills(int[] billsCounts); } /** * Classe per implementare la logica del bancomat. * Qui si deve scrivere il codice */ class MyATM { /** * Hardware del bancomat. */ 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; } }

151

Come risolvere il problema di incoerenza dei dati: la chiamata esterna è riuscita, ma il salvataggio nel database è fallito?

149

Parlami del tuo ultimo progetto: cosa hai fatto, quali erano i compiti, quale stack hai usato?

149

Come valuti l'iniziativa di VK di creare un proprio database e come ne valuteresti la qualità e l'efficacia?

Junior — Middle
147

Quali sono le conseguenze di creare un ObjectMapper come campo della classe (non tramite Spring)?

140

/** * Il metodo calcola quanti punti ha ottenuto il candidato, * salva il risultato nel database e chiama un callback in un servizio esterno */ 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); }); }

130

Quali sono gli svantaggi della soluzione implementata per il bancomat?

118
/2