Qual è il team ideale per te? Quali sono i requisiti per gli analisti?
Java
Parlami di un bug complesso o di una modifica difficile nel tuo ultimo progetto
Come hanno ottimizzato le query SQL lente? Come hanno risolto il problema N+1 in Hibernate?
Quali ORM sono stati usati? Quando Hibernate, quando JDBC? C'erano Liquibase/Flyway?
Perché avete scelto Cassandra? Quali alternative avete considerato? Come le avete verificato?
Parla della tua esperienza e dell'ultimo progetto
Quali strumenti di monitoraggio, logging e metriche sono stati utilizzati? Quale approccio nei microservizi?
Come hai lavorato con Kafka? Hai dovuto regolare le partizioni, le configurazioni? Cosa succede se i consumatori sono meno delle partizioni?
Quale progetto consideri più importante per te e perché?
Su cosa sei riuscito a influenzare nelle decisioni architettoniche dell'ultimo progetto?
Parlami del problema di hotspot in Cassandra e come è stato risolto
C'è stato accesso al monitoraggio su diversi circuiti? Come è stato il processo di rilascio?
Descrizione del compito: È necessario implementare un endpoint REST per ottenere l'elenco delle polizze assicurative appartenenti a un cliente specifico e che sono pagate. Poiché nel sistema esiste un numero molto grande di polizze, è necessario prevedere un parametro per limitare il risultato. @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(); }