Sobes.tech

Java

Was ist für Sie ein ideales Team? Welche Anforderungen gibt es an Analysten?

185

Erzählen Sie mir von einem komplexen Fehler oder einer schwierigen Erweiterung in Ihrem letzten Projekt

182

Wie haben sie langsame SQL-Abfragen optimiert? Wie haben sie das N+1-Problem in Hibernate gelöst?

167

Welche ORM wurden verwendet? Wann Hibernate, wann JDBC? Gab es Liquibase/Flyway?

166

Warum haben Sie sich für Cassandra entschieden? Welche Alternativen haben Sie in Betracht gezogen? Wie haben Sie sie überprüft?

165

Welche Überwachungs-, Protokollierungs- und Metrik-Tools wurden verwendet? Welcher Ansatz bei Microservices?

147

Wie haben Sie mit Kafka gearbeitet? Mussten Sie Partitionen, Konfigurationen anpassen? Was passiert, wenn die Verbraucher weniger sind als die Partitionen?

141

Erzählen Sie mir von dem Hotspot-Problem in Cassandra und wie es gelöst wurde

129

Gab es Zugriff auf die Überwachung in verschiedenen Kreisen? Wie verlief der Freigabeprozess?

128

Worauf konnten Sie bei den architektonischen Entscheidungen Ihres letzten Projekts Einfluss nehmen?

126

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(); }

109