¿Qué ventajas ofrece trabajar en una gran estructura corporativa?
Java
¿En qué casos es recomendable usar consultas SQL nativas y en cuáles Hibernate?
select name from employee group by name having COUNT(DISTINCT lang) >= 2;
/** * Interfaz para interactuar con el hardware del cajero automático. */ interface Hardware { /** * Devuelve un array con la cantidad de billetes por denominaciones 50, 100, 500, 1000, 5000. * El método funciona lentamente y genera ruido. * * @return array donde cada elemento corresponde a la cantidad de billetes de una denominación específica. * Por ejemplo, [10, 20, 30, 40, 50] significa: * - 10 billetes de 50 rublos * - 20 billetes de 100 rublos * - 30 billetes de 500 rublos * - 40 billetes de 1000 rublos * - 50 billetes de 5000 rublos */ int[] getBillsCounts(); /** * Carga en la caja de salida los billetes indicados. * * @param billsCounts array con la cantidad de billetes por denominaciones [50, 100, 500, 1000, 5000]. * Por ejemplo, [0, 1, 0, 2, 0] significa: * - 0 billetes de 50 rublos * - 1 billete de 100 rublos * - 0 billetes de 500 rublos * - 2 billetes de 1000 rublos * - 0 billetes de 5000 rublos */ void giveBills(int[] billsCounts); } /** * Clase para implementar la lógica de funcionamiento del cajero automático. * Aquí se debe escribir el código */ class MyATM { /** * Hardware del cajero automático. */ 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; } }
Cuéntame sobre tu último proyecto: ¿en qué trabajaste, cuáles fueron las tareas, qué tecnología utilizaste?
¿Cómo resolver el problema de inconsistencia de datos: la llamada externa fue exitosa, pero la guardia en la base de datos falló?
¿Cómo valoras la iniciativa de VK de crear su propia base de datos y cómo evaluarías su calidad y eficacia?
¿Cuáles son las consecuencias de crear un ObjectMapper como campo de clase (no a través de Spring)?
¿Cuáles fueron las tareas interesantes en el proyecto?
/** * El método calcula cuántos puntos ha obtenido el candidato, * guarda el resultado en la base de datos y llama a un callback en un servicio externo */ 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); }); }
¿Cuáles son las desventajas de la solución implementada para el cajero automático?