Sobes.tech

Java

¿Puedes nombrar dos tipos de métodos utilizados en la API de Streams?

Junior — Middle
195

¿Cómo se evalúa en términos de dificultad la operación de insertar un elemento en la parte central de una lista doblemente enlazada?

195

¿Cuál es el nivel de dificultad al aumentar el tamaño de ArrayList al agregar cada 1000 elementos?

Junior — Middle
195

¿En qué casos y bajo qué condiciones pueden ocurrir pérdidas de datos en Kafka?

193

¿Qué le motiva a considerar la posibilidad de cambiar de proyecto actual?

Junior — Middle
192

¿Qué afecta a los costos de tiempo al agregar un elemento al final de una lista enlazada?

Junior — Middle
192

¿Qué métodos permiten garantizar la tolerancia a fallos del servicio y su rápida recuperación sin interrumpir el funcionamiento de todo el sistema?

Middle — Middle+
192

¿Ha tenido alguna vez una experiencia de desacuerdo con una decisión técnica o arquitectónica del equipo? ¿Cómo actuó?

191

¿Cómo se organiza el almacenamiento y la distribución de datos en Kafka?

Junior — Middle
190

Explique qué significa el uso del enfoque declarativo en programación y sus características clave.

Junior — Middle
190

¿Cómo medir la eficacia del trabajo con datos y en qué afecta?

Junior — Middle
189

Implementar la transferencia de fondos entre dos cuentas. Tenga en cuenta que esto es una solución de producción Parámetros de entrada: @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 public void transferMoney(Long fromAccountId, Long toAccountId, BigDecimal amount) { if (amount.compareTo(BigDecimal.ZERO) <= 0) { throw new RuntimeException("La cantidad debe ser > 0"); } 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("Saldo insuficiente"); } from.setBalance(from.getBalance().subtract(amount)); to.setBalance(to.getBalance().add(amount)); accountRepository.save(to); accountRepository.save(from); }

188

¿Puedes explicar qué es Gson y cómo funciona con los campos durante la serialización y deserialización?

Junior — Middle
188

¿Qué componentes incluye la arquitectura de Kafka y cómo interactúan entre sí?

Junior — Middle
188

¿En qué casos es preferible usar la estructura de datos LinkedList en lugar de otras colecciones?

Junior — Middle
187
/11