In welchen Fällen sollte man native SQL-Abfragen verwenden und in welchen Hibernate?
Java
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?
Sind in Ihrem aktuellen Projekt Analysten und Tester beteiligt?
Wie man das Problem der Inkonsistenz von Daten löst: Der externe Aufruf war erfolgreich, aber das Speichern in der Datenbank ist fehlgeschlagen?
select name from employee group by name having COUNT(DISTINCT lang) >= 2;
/** * 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; } }
Erzähl mir von deinem letzten Projekt: Woran hast du gearbeitet, welche Aufgaben gab es, welchen Tech-Stack hast du verwendet?
Was sind die Folgen, wenn man einen ObjectMapper als Klassenfeld (nicht über Spring) erstellt?
Welche interessanten Aufgaben gab es im Projekt?
/** * 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); }); }
Welche Nachteile hat die implementierte Lösung für den Geldautomaten?