Jaký máš vztah k psaní testů?
Java
Jaké další problémy jsou v kódu? (SecurityContextHolder, osobní údaje, finanční výpočty)
Jaké problémy mohou nastat při vrácení JPA entity z repozitáře a jak se jim vyhnout?
Jaké přístupy je třeba použít ke zvýšení efektivity operací vkládání dat do databáze po zavedení indexů?
Přečtěte si kód, určete, co bude na konci běhu programu zobrazeno
Služba padá každých několik hodin s OutOfMemoryError. Kde začneš s analýzou problému?
Na co je potřeba constraint foreign key? Bez něj to nejde?
Jak zobrazit SQL dotazy, které JPA/Hibernate posílá do databáze?
Kolik pokusů je potřeba, abyste si jistě pořídili pár stejné barvy, pokud máte hromadu ponožek tří barev (červená, bílá, černá) a vybíráte je po jednom?
Co byste chtěli dělat na novém místě? Co pro vás znamená účast na architektonických rozhodnutích?
Pověz mi o sobě a svých zkušenostech
Zamrzne se program při převodech mezi peněženkami? Proč?
Uveďte příklad velkého obchodního úkolu nebo integrace, kterou jste provedli zcela sami.
Podrobněji popište, jak jste optimalizovali zpracování Kafka zpráv a synchronní RPC volání.
Máte zkušenosti s psaním BeanPostProcessor? Pro jaký úkol?
Existují omezení u indexů? Jaké typy indexů existují (hash, B-tree) a kdy je používat?
Co bys dělal, kdybys nasadil něco a všechno spadlo — alarmy, nevíš, co se děje?
Jak snížit zátěž na databázi, pokud cache vyprší a požadavky začnou masově směřovat do databáze?
Jaké záruky poskytuje cizí klíč v relační databázi? Lze odstranit záznam rodiče, pokud na něj existují cizí klíče?
Přečtěte si kód a spočítejte chyby ```java @Component public class AuthorSearchService { @Autowired private AuthorRepository authorRepository; @Autowired private StatisticsRepository statisticsRepository; private AlertRestClient arc = new AlertRestClient(); // V dotazu může být jak úplná hodnota, tak pouze část jména, například "Vadim Pavlo" nebo "pavlo" @Transactional public List<Author> search(String query) { List<Author> authors = authorRepository.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("příliš populární hledání s příliš velkým množstvím dat, odeslání upozornění..."); 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; } } ```