Šta je za vas savršen tim? Koji su zahtevi za analitičare?
Java
Ispričajte o složenom bugu ili teškom proširenju na poslednjem projektu
Kako su optimizovali spore SQL upite? Kako su rešili problem N+1 u Hibernate-u?
Koje ORM-ove ste koristili? Kada Hibernate, kada JDBC? Da li su postojali Liquibase/Flyway?
Zašto ste odabrali Cassandru? Koje alternative ste razmatrali? Kako ste ih proveravali?
Реците о вашем искуству и последњем пројекту
Koje alate za nadzor, logovanje i metrike ste koristili? Koji pristup u mikroservisima?
Kako ste radili sa Kafka? Da li ste morali da podešavate particije, konfiguracije? Šta će se desiti ako su potrošači manje od particija?
Ispričajte o problemu hotspot u Cassandri i kako je riješen
Koji projekat smatrate najvažnijim za sebe i zašto?
Da li je postojao pristup monitoringu na različitim konturama? Kako je tekao proces objavljivanja?
На шта сте успели да утичете у архитектонским одлукама на последњем пројекту?
Opis zadatka: Potrebno je implementirati REST endpoint za dobijanje spiska osiguranih polisa koje pripadaju datom klijentu i koje su plaćene. Pošto u sistemu postoji veoma veliki broj polisa, potrebno je predvideti parametar za ograničenje rezultata. @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(); }