Java
Какво ще се случи, ако в един клас няколко полета бъдат обозначени с модификатора volatile?
Разкажете за вашия опит на последното място (Lekton). С какво се занимавахте, какъв стек използвахте?
Какво е моделът Saga, как работи и за какво е нужен?
Какви са индексите в SQL и за какво служат? Какви са недостатъците?
Как се бориха с deadlock при песимистично блокиране?
/** * Методът изчислява колко точки е спечелил кандидатът, * запазва резултата в базата данни и извиква callback в външен сервис */ 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); }); }
Каква е основната причина за неправилното поведение на кода? Нарушена е неизменяемостта на обектите Не се управлява състоянието на прекъсване Производителността се влошава поради блокиране Конфликтът на блокиращи обекти води до мъртва точка Прекомерна синхронизация на ресурси Несъздадени състояния на обектите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(); } }
Колко беше RPS на върха? Колко бяха записани?
Може ли всеки обект да бъде добавен като ключ в HashMap?
Как да реализираме ограничаване на скоростта за външно API с ограничение по RPS? Как се различават виртуалните потоци/корутините от системните потоци?
Дайте пример за техническо подобрение в проект освен бизнес задачите.
Каква е разликата между Kafka и RabbitMQ?
Как да прочетете конкретен заглавие (например, служебен номер) в контролера?
Какви подходи съществуват за справяне с нестабилна интеграция, която може да не отговаря от минута до ден?
Имали ли сте опит с писане на BeanPostProcessor? За каква задача?
Важен ли беше редът на събитията в Kafka? Как се осигуряваше?
[име] попита: Работихте ли там по трудов договор?
```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 { } } ```
Разкажи за патърна SAGA: оркестрация и хореография.
Какъв тип индекс да използвате за търсене в средата или в края на низ (LIKE '%текст%')?