Java
Co se stane, pokud v jedné třídě označíme více polí jako volatile?
Povězte nám o své pracovní zkušenosti na posledním místě (Lekton). Čím jste se zabývali, jaký stack?
Co je to vzorec Saga, jak funguje a k čemu je dobrý?
Co jsou indexy v SQL a k čemu slouží? Jaké jsou jejich nevýhody?
Jak se bojovalo s deadlockem při pesimistickém zámku?
/** * Metoda spočítá, kolik bodů kandidát získal, * uloží výsledek do databáze a zavolá callback v externí službě */ 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); }); }
Jaký je hlavní důvod nesprávného chování kódu? Porušena je neměnnost objektů Stav přerušení není spravován Výkon se zhoršuje kvůli zámkům Konflikt zámkových objektů vede k deadlocku Nadměrná synchronizace zdrojů Neinitializované stavy objektůimport java.util.concurrent.*; class Competition { private final Object lock = new Object(); public void syncMethodA(Competition competitor) { synchronized (lock) { try { Thread.sleep(100); } catch (InterruptedException e) {} competitor.syncMethodB(this); } } public void syncMethodB(Competition competitor) { synchronized (lock) { try { Thread.sleep(100); } catch (InterruptedException e) {} competitor.syncMethodA(this); } } } public class FitnessApp { public static void main(String[] args) { Competition comp1 = new Competition(); Competition comp2 = new Competition(); Thread t1 = new Thread(() -> comp1.syncMethodA(comp2)); Thread t2 = new Thread(() -> comp2.syncMethodB(comp1)); t1.start(); t2.start(); } }
Kolik bylo RPS na vrcholu? Kolik bylo zaznamenáno?
Lze do HashMapu přidat jakýkoli objekt jako klíč?
Jak implementovat omezení rychlosti pro externí API s omezením RPS? Čím se liší virtuální vlákna/koreutiny od systémových vláken?
Uveďte příklad technického vylepšení v projektu kromě obchodních úkolů.
Jaký je rozdíl mezi Kafka a RabbitMQ?
Jak přečíst konkrétní hlavičku (například číslo karty) v kontroléru?
Jaké přístupy existují, jak se vypořádat s nestabilní integrací, která může neodpovídat od minuty do dne?
Máte zkušenosti s psaním BeanPostProcessor? Pro jaký úkol?
Byl v Kafka důležitý pořadí událostí? Jak bylo zajištěno?
[jméno] se zeptal: Pracoval jsi tam na pracovní smlouvu?
```java // 2 public class Interfaces { public static void main(String[] args) { A a = new A() {}; B b = new B() {}; AB ab = new AB(); a.print(); b.print(); ab.print(); } public interface A { default void print() { System.out.println("interface A"); } } public interface B extends A { default void print() { System.out.println("interface B"); } } public static class AB implements A, B { } } ```
Pověz mi o vzoru SAGA: orchestrace a choreografie.
Jaký typ indexu použít pro hledání uprostřed nebo na konci řetězce (LIKE '%text%')?