Sobes.tech

Bază de date lentă: cum găsești interogările lente și ce să faci cu ele?

181

Spune-mi despre experiența ta cu serviciile financiare / tranzacționale.

181

De ce este nevoie de NoSQL? De ce nu sunt suficiente bazele de date relaționale? Exemple de utilizare, avantaje, structuri de stocare.

179

Poți oferi un exemplu de situație în care utilizarea ThreadLocal este justificată?

Junior — Middle
178

Serviciul pică la fiecare câteva ore cu un OutOfMemoryError. De unde începi analiza problemei?

177

Cum evaluați experiența dvs. cu Spring, Spring Boot? Ce ați fost nevoit să faceți? Știți cum funcționează în spate?

177

Cum funcționează adnotarea @Transactional imbricată dacă metoda internă se află într-un alt serviciu?

176

Cum se configurează dimensiunea pool-ului de fire pentru solicitările HTTP paralele?

175

Care este diferența dintre indexurile hash și cele B-tree? Care este mai potrivit pentru căutarea după nume de familie?

175

Ce este o clasă imutabilă? Care sunt dezavantajele sale?

174

Dacă există cache de date, cum să înțelegi că cauza OOM este exact în ea?

173

Probleme la deploy: erorile apar în timpul deploy-ului și dispar după. De ce?

173

În ce formă v-au fost prezentate cerințele legate de sarcini?

172

Care este diferența dintre un bloc synchronized și atomici? Cum funcționează CAS?

171

Spune-mi mai multe despre implementarea CQRS în cazul tău.

171

Cum se confirmă o eroare de memorie insuficientă în producție și ce trebuie făcut? Cum se face un dump de heap în momentul OOM?

171

Câte încercări sunt necesare pentru a garanta că obții o pereche de aceeași culoare, dacă ai un teanc de șosete de trei culori (roșu, alb, negru) și le scoți câte una?

170

Ce anume ai ajustat exact în Kafka? Ce parametri specifici ai configurat?

169

Citiți codul și evidențiați greșelile @Component public class AuthorSearchService { @Autowired private AuthorsRepository authorsRepository; @Autowired private StatisticsRepository statisticsRepository; private AlertRestClient arc = new AlertRestClient(); // În interogare poate fi atât numele complet, cât și o parte a numelui, de exemplu "Vladimir Panov" sau "panov" @Transactional public List<Author> search(String query) { List<Author> authors = authorsRepository.findByNameContainingIgnoreCase(query); Statistics s = statisticsRepository.findById(query).orElse(null); if (s == null) s = new Statistics(query); s.setNumbers(s.getNumbers() + 1); statisticsRepository.save(s); if (s.getNumbers() > 1000 && authors.size() > 1000) { System.out.println("căutare prea populară cu prea multe date, trimitere alertă..."); arc.send(query, s.getNumbers(), authors.size()); } return authors; } } @Entity @Data public class Author { @Id @GeneratedValue private Long id; private String name; @OneToMany(mappedBy = "author") private List<Book> books; public Author(String name) { this.name = name; } }

168

Povesti-ne cum era distribuită sarcinile și luarea deciziilor arhitecturale în echipa ta?

168
/15