Sobes.tech

Java

Rääkige mulle keerulisest veast või keerulisest täiendusest teie viimases projektis

179

Kuidas optimeerida aeglasi SQL-päringuid? Kuidas lahendasite N+1 probleemi Hibernate'is?

164

Milliseid ORM-e kasutati? Millal Hibernate, millal JDBC? Kas oli Liquibase/Flyway?

160

Miks valisite Cassandra? Milliseid alternatiive kaalusite? Kuidas te neid kontrollisite?

160

Milliseid jälgimis-, logimis- ja mõõdikuvahendeid kasutasite? Milline lähenemine mikroteenustes?

144

Kuidas te töötasite Kafka-ga? Kas teil tuli kohandada partitsioone, konfiguratsioone? Mis juhtub, kui tarbijad on vähem kui partitsioone?

139

Millele suutsite viimase projekti arhitektuursetes otsustes mõju avaldada?

126

Kas oli juurdepääs jälgimisele erinevatel kontuuridel? Kuidas toimus väljaandmise protsess?

123

Ülesande kirjeldus: Vajalik on REST-liidese loomine, mis tagastab nimekirja kindlustuspoliisidest, mis kuuluvad määratud kliendile ja on tasutud. Kuna süsteemis on väga suur arv poliise, tuleb ette näha piiranguparameeter tulemuse piiramiseks. @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(); }

109