Java
De ce metoda cu @Transactional poate să nu creeze o tranzacție?
Cum interacționează microserviciile între ele?
Ce este factorul de încărcare în HashMap și ce se întâmplă când este atins?
Exercițiu practic: proiectați un sistem de transfer de bani între conturi cu cerințele: 1000 de tranzacții/sec, corectitudine tranzacțională, API sincrone.
În ce zonă de memorie este stocat ConcurrentHashMap? Ce container trebuie folosit pentru stocarea metricilor?
Care este diferența dintre stocarea informațiilor în PostgreSQL folosind metode încorporate și simpla stocare sub formă de date textuale?
Cum să scrii un test pentru Kafka (producător/consumator)?
Cum se creează un index pe un tabel mare în producție fără blocare și fără a depăși timeout-urile Kubernetes?
Ce interfață este utilizată pentru gestionarea tranzacțiilor în Spring?
Spune-mi despre cea mai dificilă/interesantă sarcină.
Ce se întâmplă dacă contextul Spring eșuează în timpul deploy-ului în Kubernetes?
Ești familiarizat cu teorema CAP? Cum implementezi un sistem distribuit care satisface toate proprietățile CAP? Numește cele trei proprietăți și explică cum se combină în perechi.
Ce este un grup de consumatori în Kafka?
Ce metrici au fost preluate din aplicații? Cum au lucrat cu monitorizarea?
Serviciul de autentificare se află între API și Serviciul de tranzacții — dacă acesta pică, totul se prăbușește. Cum ați asigurat acest lucru?
Citiți codul și numărați erorile ```java @Component public class AuthorSearchService { @Autowired private AuthorRepository authorRepository; @Autowired private StatisticsRepository statisticsRepository; private AlertRestClient arc = new AlertRestClient(); // În interogare poate fi atât o valoare completă, cât și doar o parte a numelui, de exemplu "Vadim Pavlo" sau "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("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; } } ```
Care sunt problemele Spring Kafka cu firele virtuale? Sau nu există probleme deloc?
Care este diferența dintre un Dockerfile și un fișier Docker Compose?
Scrieți o metodă în Java care acceptă un șir de caractere și returnează statistici despre caractere (de câte ori apare fiecare caracter)
Cum ați analizat solicitările primite?