Java
¿Se necesitan índices en esta tarea y en qué campos? ¿Qué índices se crean por defecto? ¿A partir de qué versión de PostgreSQL se crea automáticamente un índice en la clave externa?
¿Se puede usar volatile para una variable long y en qué escenarios es seguro hacerlo?
Kafka vs RabbitMQ — diferencias. ¿Cómo funcionan los grupos de consumidores en Kafka?
/** * 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ándo se debe aplicar el principio de Inversión de Dependencias y cuándo no (relación con YAGNI)?
[nombre] preguntó: cuéntame sobre ti y tu último proyecto relacionado con las finanzas
Cuéntame sobre alguna tarea súper complicada que hayas estado resolviendo durante mucho tiempo y que finalmente hayas solucionado.
¿Qué aporta la anotación @Transactional en este contexto? ¿Ayudará en caso de caída de un servicio externo?
Nombra una mejora técnica que hayas realizado en el proyecto además de las tareas comerciales.
¿Qué es doOnNext en Reactor?
¿Qué significa propagation cuando un método se llama desde el contexto de una transacción ya abierta?
¿Qué son los beans en Spring, cómo se crean y configuran?
¿Alguna vez ha tenido que lidiar con OOM (OutOfMemoryError)? ¿Cómo solucionó los problemas de memoria?
¿Qué es una String, por qué es inmutable? ¿Qué sucede durante la concatenación?
¿Cómo estaban organizadas las verificaciones de cobertura de pruebas y vulnerabilidades en el pipeline de CI?
Cuéntame brevemente sobre el proyecto en [empresa] — ¿qué hicieron allí?
¿Cómo se mantiene el orden de los mensajes en Kafka y se garantiza que no se pierdan?
Pregunta 9. Escribir una consulta que devuelva los empleados con el salario máximo en su puesto. Ir a onecompiler.com/postgresql Script de inicialización: CREATE TABLE users ( fio TEXT NOT NULL, position TEXT, salary BIGINT NOT NULL ); INSERT INTO users(fio, position, salary) VALUES ('Иванов', 'Тестировщик', 100000), ('Горохов', 'Тестировщик', 120000), ('Петров', 'Тестировщик', 140000), ('Сидоров', 'Тестировщик', 100000), ('Кузнецов', 'Тестировщик', 120000), ('Михайлов', 'Тестировщик', 150000), ('Антонов', 'Разработчик', 200000), ('Сухой', 'Разработчик', 100000), ('Микоян', 'Разработчик', 100000), ('Капустин', 'Директор', 300000), ('Астахов', 'ИБ', 200000); Ejemplo de resultado: Михайлов Тестировщик 150000 Антонов Разработчик 200000 Капустин Директор 300000 Астахов ИБ 200000 Tiempo para completar: 10 minutos. Escriba la consulta en el campo:
Cuente sobre una tarea de la que esté más orgulloso o que le haya resultado más difícil.
¿Por qué separar los objetos from y to (en lugar de trabajar directamente con first y second)?