Java
Quali azioni iniziali devono essere intraprese durante la familiarizzazione con un progetto già sviluppato?
Come hai misurato la difficoltà e il progresso nel completamento delle attività nel tuo precedente lavoro?
Come si può calcolare il tempo medio di risposta del sistema?
Come vengono implementate e funzionano le operazioni atomiche con le variabili in un ambiente multithread?
Qual è la funzione principale della JVM e perché è importante per l'esecuzione dei programmi Java?
Come viene aggiunto un elemento a HashMap in caso di collisione di chiavi?
Quali tipi di progetti ti interessa di più realizzare e perché?
Quali sono le differenze negli approcci alla pulizia dello stack in C# e Java?
L'ordine degli eventi in Kafka era importante? Come veniva garantito?
Sai gestire e pubblicare contenuti sui social media?
Qual è la tua esperienza nella configurazione del debug remoto delle applicazioni?
Quali strumenti o approcci hai utilizzato per raccogliere e analizzare le metriche nel tuo ultimo progetto?
Come determinare quando una classe o un modulo svolgono troppe funzioni e violano il principio di responsabilità singola?
Qual è la tua esperienza con programmi multithread e sincronizzazione dei thread?
Qual è la funzione principale dell'ORM nello sviluppo del software?
Come si determina quale indice creare per ottimizzare le prestazioni del database?
/** * 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; } }
Spiega cosa si intende per Query nel contesto di Hibernate e come viene utilizzata per ottenere dati.
Quali metodi possono garantire la stabilità e il funzionamento continuo di due Consumer iscritti allo stesso Topic?
Qual è la differenza tra l'uso di Aerospike e Redis nel contesto dell'archiviazione e dell'elaborazione dei dati?