Sobes.tech

Τι είναι η ιδανική ομάδα για εσάς; Ποιες είναι οι απαιτήσεις για τους αναλυτές;

183

Αναφέρετε ένα δύσκολο σφάλμα ή μια δύσκολη βελτίωση στο τελευταίο σας έργο

179

Πώς βελτιστοποίησαν αργές ερωτήσεις SQL; Πώς αντιμετώπισαν το πρόβλημα N+1 στο Hibernate;

164

Ποια ORM χρησιμοποιήθηκαν; Πότε Hibernate, πότε JDBC; Υπήρχαν Liquibase/Flyway;

160

Γιατί επιλέξατε το Cassandra; Ποιες εναλλακτικές εξετάσατε; Πώς τις ελέγξατε;

160

Πείτε μας για την εμπειρία σας και το τελευταίο έργο σας

150

Ποια εργαλεία παρακολούθησης, καταγραφής και μετρήσεων χρησιμοποιήθηκαν; Ποια προσέγγιση στα μικροϋπηρεσίες;

144

Πώς δουλεύατε με το Kafka; Χρειάστηκε να ρυθμίσετε τις κατατμήσεις, τις διαμορφώσεις; Τι συμβαίνει αν οι καταναλωτές είναι λιγότεροι από τις κατατμήσεις;

138

Ποιο έργο θεωρείτε πιο σημαντικό για εσάς και γιατί;

126

Σε τι καταφέρατε να επηρεάσετε στις αρχιτεκτονικές αποφάσεις της τελευταίας σας έργου;

126

Αναφέρετε το πρόβλημα με το hotspot στο Cassandra και πώς λύθηκε

125

Υπήρχε πρόσβαση στην παρακολούθηση σε διαφορετικούς κύκλους; Πώς έγινε η διαδικασία κυκλοφορίας;

122

Περιγραφή εργασίας: Απαιτείται η υλοποίηση ενός REST endpoint για την λήψη της λίστας ασφαλιστικών συμβολαίων που ανήκουν σε έναν δοσμένο πελάτη και είναι πληρωμένα. Δεδομένου ότι στο σύστημα υπάρχει πολύ μεγάλος αριθμός συμβολαίων, πρέπει να προβλεφθεί παράμετρος για τον περιορισμό του αποτελέσματος. @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(); }

108