Was ist für Sie ein ideales Team? Welche Anforderungen gibt es an Analysten?
Java
Erzählen Sie mir von einem komplexen Fehler oder einer schwierigen Erweiterung in Ihrem letzten Projekt
Wie haben sie langsame SQL-Abfragen optimiert? Wie haben sie das N+1-Problem in Hibernate gelöst?
Welche ORM wurden verwendet? Wann Hibernate, wann JDBC? Gab es Liquibase/Flyway?
Warum haben Sie sich für Cassandra entschieden? Welche Alternativen haben Sie in Betracht gezogen? Wie haben Sie sie überprüft?
Erzählen Sie von Ihrer Erfahrung und Ihrem letzten Projekt
Welche Überwachungs-, Protokollierungs- und Metrik-Tools wurden verwendet? Welcher Ansatz bei Microservices?
Wie haben Sie mit Kafka gearbeitet? Mussten Sie Partitionen, Konfigurationen anpassen? Was passiert, wenn die Verbraucher weniger sind als die Partitionen?
Erzählen Sie mir von dem Hotspot-Problem in Cassandra und wie es gelöst wurde
Welches Projekt halten Sie für das wichtigste für sich und warum?
Gab es Zugriff auf die Überwachung in verschiedenen Kreisen? Wie verlief der Freigabeprozess?
Worauf konnten Sie bei den architektonischen Entscheidungen Ihres letzten Projekts Einfluss nehmen?
Aufgabenbeschreibung: Es ist erforderlich, einen REST-Endpunkt zu implementieren, um die Liste der Versicherungspolicen abzurufen, die einem bestimmten Kunden gehören und bezahlt sind. Da im System eine sehr große Anzahl von Policen vorhanden ist, sollte ein Parameter zur Begrenzung des Ergebnisses vorgesehen werden. @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(); }