¿Qué harías si entregaste tu código a otro equipo para pruebas y no recibiste respuesta?
Java
¿Cómo implementar correctamente los métodos hashCode y equals en una clase?
¿Se utilizaron tecnologías y soluciones en su último proyecto que son típicas de sistemas con altas cargas?
¿Qué nombre debería usar para dirigirme a ti?
Explique el propósito y las características del uso de la palabra clave volatile en programación.
¿Fue desactivado o cerrado el sitio web de Auchan?
¿Qué harías en una situación en la que tu mensaje sobre una tarea en el chat corporativo quedó sin respuesta?
¿Quién era responsable de la supervisión y soporte del sistema de almacenamiento de datos distribuido?
¿Cómo implementar el manejo de excepciones en aplicaciones que utilizan Spring Framework?
¿En qué situaciones es posible la pérdida de datos en Kafka?
¿Dónde se distribuyen las particiones?
public class MoneyTransferService { /** * @param fromAccountId identificador único del usuario que transfiere fondos * @param toAccountId identificador único del usuario a quien se le transfieren fondos * @param amount cantidad de la transferencia. Número positivo */ @Transactional public void transferMoney(Long fromAccountId, Long toAccountId, BigDecimal amount) { if (amount.compareTo(BigDecimal.ZERO) <= 0) { throw new RuntimeException("La cantidad debe ser positiva"); } if (fromAccountId.equals(toAccountId)) { throw new RuntimeException("La cuenta no puede ser la misma"); } Long firstId = Math.min(fromAccountId, toAccountId); Long secondId = Math.max(fromAccountId, toAccountId); Account first = accountRepository.findByIdForUpdate(firstId) .orElseThrow(() -> new RuntimeException("Cuenta no encontrada")); Account second = accountRepository.findByIdForUpdate(secondId) .orElseThrow(() -> new RuntimeException("Cuenta no encontrada")); Account from = fromAccountId.equals(firstId) ? first : second; Account to = fromAccountId.equals(firstId) ? second : first; if (from.getBalance().compareTo(amount) < 0) { throw new RuntimeException("El saldo es insuficiente"); } from.setBalance(from.getBalance().subtract(amount)); to.setBalance(to.getBalance().add(amount)); accountRepository.save(to); accountRepository.save(from); } } @Entity @Data public class Account { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private BigDecimal balance; }
¿En qué se diferencian HashMap y ConcurrentHashMap en Java en términos de funcionalidad y uso en segmentos multihilo?
¿Qué fórmula se utiliza para determinar el número de brokers (nodos) al diseñar un clúster de Kafka tolerante a fallos?
¿Qué elementos o características de la estructura interna de HashMap no se pueden modificar después de su creación?
¿Cómo modificar correctamente un objeto para que pueda ser utilizado en una colección HashMap?
¿Cuáles son los principios básicos del diseño de servicios para minimizar la pérdida de datos o recursos?
¿Puedes dar un ejemplo de la idea de inversión de dependencias en el diseño de sistemas de software?
¿Cómo determinan los mecanismos de recolección de basura qué objetos deben ser destruidos?
¿Cómo está organizada la colaboración en su equipo y qué procesos se utilizan para realizar las tareas?