Sobes.tech

Java

In welchen Fällen sollte man native SQL-Abfragen verwenden und in welchen Hibernate?

179

Wie bewerten Sie die Initiative von VK, eine eigene Datenbank zu erstellen, und wie würden Sie deren Qualität und Effektivität einschätzen?

Junior — Middle
177

Sind in Ihrem aktuellen Projekt Analysten und Tester beteiligt?

Junior — Middle
174

Wie man das Problem der Inkonsistenz von Daten löst: Der externe Aufruf war erfolgreich, aber das Speichern in der Datenbank ist fehlgeschlagen?

167

select name from employee group by name having COUNT(DISTINCT lang) >= 2;

165

/** * Schnittstelle zur Interaktion mit der Hardware des Geldautomaten. */ interface Hardware { /** * Gibt ein Array mit der Anzahl der Scheine nach Nennungen 50, 100, 500, 1000, 5000 zurück. * Die Methode arbeitet langsam und erzeugt Lärm. * * @return Array, wobei jedes Element die Anzahl der Scheine einer bestimmten Nennung entspricht. * Zum Beispiel bedeutet [10, 20, 30, 40, 50]: * - 10 Scheine zu 50 Rubel * - 20 Scheine zu 100 Rubel * - 30 Scheine zu 500 Rubel * - 40 Scheine zu 1000 Rubel * - 50 Scheine zu 5000 Rubel */ int[] getBillsCounts(); /** * Lädt die angegebenen Scheine in die Ausgabe. * * @param billsCounts Array mit der Anzahl der Scheine nach Nennungen [50, 100, 500, 1000, 5000]. * Zum Beispiel bedeutet [0, 1, 0, 2, 0]: * - 0 Scheine zu 50 Rubel * - 1 Schein zu 100 Rubel * - 0 Scheine zu 500 Rubel * - 2 Scheine zu 1000 Rubel * - 0 Scheine zu 5000 Rubel */ void giveBills(int[] billsCounts); } /** * Klasse zur Implementierung der Logik des Geldautomaten. * Hier muss Code geschrieben werden */ class MyATM { /** * Hardware des Geldautomaten. */ Hardware hardware; public boolean withdraw(int amount) { int[] counts = hardware.getBillsCounts(); int[] nom = {50, 100, 500, 1000, 5000}; int[] toGive = new int[5]; for (int i = 4; i >= 0; i--) { int needed = amount / nom[i]; int use = Math.min(needed, counts[i]); toGive[i] = use; amount -= use * nom[i]; } if (amount != 0) { return false; } hardware.giveBills(toGive); return true; } }

163

Erzähl mir von deinem letzten Projekt: Woran hast du gearbeitet, welche Aufgaben gab es, welchen Tech-Stack hast du verwendet?

154

Was sind die Folgen, wenn man einen ObjectMapper als Klassenfeld (nicht über Spring) erstellt?

152

/** * Die Methode berechnet, wie viele Punkte der Kandidat verdient hat, * speichert das Ergebnis in der Datenbank und ruft einen Callback in einem externen Dienst auf */ public void process(Candidate c) { transactionTemplate.executeWithoutResult(status -> { Score s = interviewScoreMLService.compute(c); String body = objectMapper.writeValueAsString(Map.of(c.getName(), s)); Mono<ResponseEntity<Void>> request = WebClient.create() .post() .body(BodyInserters.fromValue(body)) .retrieve() .toBodilessEntity(); scoreRepository.saveScore(s); }); }

138

Welche Nachteile hat die implementierte Lösung für den Geldautomaten?

130
/2