Kaip jaučiatės rašydami testus?
Java
Papaskinkite, kaip jūsų komandoje buvo paskirstyti uždaviniai ir priimami architektūros sprendimai.
Kokios dar problemos yra kode? (SecurityContextHolder, asmeniniai duomenys, finansiniai skaičiavimai)
Kokios problemos gali kilti grąžinant JPA vienetą iš saugyklos ir kaip jų išvengti?
Ar programa užstrigs pervedimų tarp piniginių metu? Kodėl?
Kokius požiūrius reikėtų naudoti siekiant pagerinti duomenų įterpimo operacijų efektyvumą duomenų bazėje po indeksų įdiegimo?
Kiek bandymų reikia, kad garantuotumėte, jog gausite vienos spalvos porą, jei turite trijų spalvų (raudona, balta, juoda) kojinių krūvą ir jas po vieną ištraukiate?
Ar komandoje buvo kodo peržiūra?
Skaitykite kodą, nustatykite, kas bus rodomas programos vykdymo pabaigoje
Skaitykite kodą ir pažymėkite klaidas @Component public class AuthorSearchService { @Autowired private AuthorsRepository authorsRepository; @Autowired private StatisticsRepository statisticsRepository; private AlertRestClient arc = new AlertRestClient(); // Užklausoje gali būti tiek visiškas vardas, tiek tik vardo dalis, pavyzdžiui, "Vladimir Panov" arba "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("per daug populiari paieška su per daug duomenų, siunčiama įspėjimas..."); 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; } }
Kam reikalinga foreign key apribojimas? Be jo neįmanoma?
Kodėl ieškote naujo darbo?
Kokias garantijas teikia volatile? Kaip jis skiriasi nuo Atomic?
Kaip pamatyti SQL užklausas, kurias JPA/Hibernate siunčia į duomenų bazę?
Papaskokite apie save ir savo patirtį
Kas nutiks, jei cacheService žlugs arba Redis grąžins timeout'ą, ir kaip tai tvarkyti?
Skaitykite kodą ir suskaičiuokite klaidų skaičių ```java @Component public class AuthorSearchService { @Autowired private AuthorRepository authorRepository; @Autowired private StatisticsRepository statisticsRepository; private AlertRestClient arc = new AlertRestClient(); // Užklausoje gali būti tiek visiškai reikšmė, tiek tik vardo dalis, pavyzdžiui, "Vadim Pavlo" arba "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("per daug populiari paieška, siunčiama įspėjimas..."); 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; } } ```
Išsamiau papasakokite, kaip optimizavote Kafka pranešimų apdorojimą ir sinchroninius RPC skambučius.
Kaip sumažinti apkrovą duomenų bazėje, jei talpykla pasibaigia ir užklausos pradeda masiškai eiti į duomenų bazę?
Ką darytum, jei įdiegęs kažką ir viskas sugriuvo — įspėjimai, nesupranti, kas vyksta?