Таблица person со списком сотрудников id name 1 Petya 2 Vasya 3 Kolya Таблица payment с зарплатными начислениями id person_id payment_value [phone] Необходимо написать запрос, чтобы выбрать имена сотрудников с суммарными начислениями больше 100
Как работает CAS внутри AtomicInteger? Что происходит, если значение изменилось между чтением и записью? Когда AtomicInteger плохо работает при высокой конкуренции?
Оценить модель для использования в ArrayList, HashMap, TreeSet static public final class Transaction<T extends Number> implements Comparable<Transaction> { private final T id; private final Double amount; private final java.util.Date timestamp; public Transaction(T id, double amount, java.util.Date timestamp) { this.id = id; this.amount = amount; this.timestamp = timestamp; } public T getId() { return id; } public Double getAmount() { return amount; } public java.util.Date getTimestamp() { return timestamp; } @Override public boolean equals(Object o) { if (this == o) return true; if (!(o instanceof Transaction t)) return false; return id == t.id && Double.compare(amount, t.amount) == 0 && timestamp.equals(t.timestamp); } @Override public int hashCode() { return Objects.hash(id, timestamp); } @Override public int compareTo(Transaction other) { return this.timestamp.compareTo(other.timestamp); } }
Как работает TLS/HTTPS? Что шифруется, как происходит handshake?
У нас есть топик в Kafka с тремя партициями. Получим ли мы на выходе такой же порядок сообщений, который был на входе?
Какие микросервисные паттерны вы знаете и применяли?
Работали с транзакциями? Какие уровни изоляции использовали?
Как изменится архитектура, если сервис работает в кластере (несколько инстансов)? Что будет с Postgres, Redis? Как обеспечить отказоустойчивость БД?
Как в Spring рекомендуется внедрять зависимости?
На какую зарплату рассчитываете?
Что такое Anti-Corruption Layer и как он был организован?
Почему нельзя просто использовать одну переменную max вместо второго стека?
Бывают ли корректировки событий? Например, начислили 10 рублей, а должны были 9. Что делать?
Есть ли ещё вопросы? Всё ли понятно?
Как в Java реализовать неизменяемые (immutable) объекты?
Это был результат вашей личной работы или командной?
/** * Возвращает список тегов книг авторов, указанных списком идентификаторов * @param authors список авторов * @param searchAuthorIds список идентификаторов авторов, теги книг которых необходимо получить * @return список тегов книг указанных авторов */ public static List<Tag> getTagsOfAuthorsBooks(List<Author> authors, List<String> searchAuthorIds) { return authors.stream() .filter(a -> searchAuthorIds.contains(a.id)) .flatMap(a -> a.books.stream()) .flatMap(b -> b.tags.stream()) .collect(Collectors.toList()); }
Какие подходы есть, чтобы справиться с нестабильной интеграцией, которая может не отвечать от минуты до дня?
Есть ли опыт поддержки проекта в продакшн? Разбор инцидентов, мониторинг с помощью графиков, логов.
Event loop в каком треде создаётся?