Sobes.tech

Java

¿Qué es un equipo ideal para ti? ¿Cuáles son los requisitos para los analistas?

182

Cuéntame sobre un error complicado o una mejora difícil en tu último proyecto

179

¿Cómo optimizaron las consultas SQL lentas? ¿Cómo resolvieron el problema N+1 en Hibernate?

164

¿Qué ORM usaron? ¿Cuándo Hibernate, cuándo JDBC? ¿Hubo Liquibase/Flyway?

160

¿Por qué eligieron Cassandra? ¿Qué alternativas consideraron? ¿Cómo las evaluaron?

159

¿Qué herramientas de monitoreo, registro y métricas utilizaste? ¿Qué enfoque en microservicios?

144

¿Cómo trabajaron con Kafka? ¿Fue necesario ajustar las particiones, configuraciones? ¿Qué pasa si los consumidores son menos que las particiones?

138

Cuéntame sobre el problema con el hotspot en Cassandra y cómo se resolvió

125

¿En qué pudo influir en las decisiones arquitectónicas en su último proyecto?

125

¿Hubo acceso a la monitorización en diferentes circuitos? ¿Cómo fue el proceso de lanzamiento?

121

Descripción de la tarea: Se requiere implementar un endpoint REST para obtener la lista de pólizas de seguro que pertenecen a un cliente dado y que están pagadas. Dado que en el sistema existe una cantidad muy grande de pólizas, se debe prever un parámetro para limitar el resultado. @RestController public class ClientController { @Value("policy.limit") private int policyLimit; @Autowired private PolicyService policyService; @RequestMapping(path = "client/{clientId}/policies", method = RequestMethod.POST) public Response getClientPolicies(@PathVariable("clientId") String clientId) { List<PolicyDTO> policies = getPolicies().stream() .limit(policyLimit) .filter(p -> p.getClientIds().contains(clientId)) .filter(p -> p.isPaid()) .toList(); return new Response(policies); } @Transactional private List<PolicyDTO> getPolicies() { return policyService.getPolicies(); } @Data @AllArgsConstructor public class Response { private List<PolicyDTO> policies; } @Data public class PolicyDTO { private String id; private String name; private List<String> clientId; private Boolean isPaid; } @RequiredArgsConstructor @Component public class PolicyService { private PolicyDbRepository repository; List<PolicyDTO> getPolicies() { return repository.getPolicies(); } } public interface PolicyDbRepository { List<PolicyDTO> getPolicies(); }

107