Wat is voor jou een ideaal team? Welke eisen stel je aan analisten?
Java
Vertel over een complexe bug of een moeilijke verbetering in je laatste project
Waarom hebben jullie voor Cassandra gekozen? Welke alternatieven hebben jullie overwogen? Hoe hebben jullie ze getest?
Hoe hebben ze trage SQL-query's geoptimaliseerd? Hoe hebben ze het N+1-probleem in Hibernate opgelost?
Welke ORM's werden gebruikt? Wanneer Hibernate, wanneer JDBC? Waren Liquibase/Flyway aanwezig?
Vertel over je ervaring en je laatste project
Welke monitoring-, logging- en metriekhulpmiddelen werden gebruikt? Welke aanpak in microservices?
Hoe werkte je met Kafka? Moest je partitions, configuraties aanpassen? Wat gebeurt er als er minder consumers zijn dan partitions?
Welk project beschouw je als het belangrijkste voor jezelf en waarom?
Vertel over het probleem met de hotspot in Cassandra en hoe het is opgelost
Was er toegang tot monitoring op verschillende circuits? Hoe verliep het releaseproces?
Waarop kon u invloed uitoefenen in de architectonische beslissingen van uw laatste project?
Taakomschrijving: Het is nodig om een REST-endpoint te implementeren voor het verkrijgen van de lijst van verzekeringspolissen die behoren tot een gegeven klant en die betaald zijn. Aangezien er in het systeem een zeer groot aantal polissen bestaat, moet er een parameter worden voorzien om het resultaat te beperken. @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(); }