Sobes.tech

Java

Veri tutarsızlığı sorununu nasıl çözersiniz: Dış çağrı başarılı oldu, ancak veritabanına kaydetme başarısız oldu?

157

Hangi durumlarda yerel SQL sorguları kullanılmalı ve hangi durumlarda Hibernate?

156

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

155

/** * Donanım ile etkileşim için arayüz. */ interface Hardware { /** * 50, 100, 500, 1000, 5000 nominal değerlerdeki banknotların sayısını içeren bir dizi döndürür. * Yöntem yavaş çalışır ve gürültü yapar. * * @return Her öğe belirli bir nominal değere sahip banknotların sayısını temsil eden dizi. * Örneğin, [10, 20, 30, 40, 50] şu anlama gelir: * - 50 rublük 10 banknot * - 100 rublük 20 banknot * - 500 rublük 30 banknot * - 1000 rublük 40 banknot * - 5000 rublük 50 banknot */ int[] getBillsCounts(); /** * Çıkış kutusuna belirtilen banknotları yükler. * * @param billsCounts [50, 100, 500, 1000, 5000] nominal değerlerdeki banknotların sayısı içeren dizi. * Örneğin, [0, 1, 0, 2, 0] şu anlama gelir: * - 0 banknot 50 rublük * - 1 banknot 100 rublük * - 0 banknot 500 rublük * - 2 banknot 1000 rublük * - 0 banknot 5000 rublük */ void giveBills(int[] billsCounts); } /** * Otomatonun çalışma mantığını uygulamak için sınıf. * Burada kod yazılmalı */ class MyATM { /** * Otomatonun donanımı. */ 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; } }

154

Son projen hakkında bana anlat: ne yaptın, hangi görevler vardı, hangi teknolojiyi kullandın?

152

VK'nin kendi veritabanını oluşturma girişimine nasıl bakıyorsunuz ve onun kalitesi ve etkinliğini nasıl değerlendirirsiniz?

Junior — Middle
152

Spring olmadan sınıf alanı olarak ObjectMapper oluşturmanın sonuçları nelerdir?

145

/** * Metod, adayın kazandığı puanları hesaplar, * sonucu veritabanına kaydeder ve bu konuda dış hizmete callback çağırır */ 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); }); }

133
/2