Расскажите про паттерны проектирования — зачем нужны, какие группы, примеры.
По какому критерию принимать решение о дроблении интерфейса? Как поступить с классом, у которого 20 публичных методов?
Расскажите про принцип Interface Segregation (буква I в SOLID).
Приведите более реалистичный пример нарушения LSP из продакшена.
Расскажите про 2PC и 3PC — чем отличаются?
Что такое принцип Барбары Лисков (LSP)? Можете привести пример нарушения?
Чем отличается LinkedList от HashMap? Чем LinkedHashMap отличается от HashMap?
Как Kubernetes понимает что под умер и нужно запустить новый? Расскажите про пробы.
Использовали ли схемы для сообщений в Kafka (например, Avro)?
Как микросервисы взаимодействуют друг с другом?
За счет каких механизмов в Kafka реализуются гарантии доставки (at-least-once, exactly-once)?
HTTP методы POST, PUT и PATCH — какие использовал и в каких случаях?
Идемпотентен ли GET? Может ли быть ситуация, когда он не идемпотентен?
Если указать непроверяемое исключение в throws — будет ли ошибка?
Расскажите про propagation типы в аннотации @Transactional. Доводилось задавать не дефолтные?
Какие методы инъекции бинов вы знаете в Spring?
Какие уровни изоляции транзакций существуют и чем они отличаются?
Какой сборщик предпочитаете — Maven или Gradle?
Почему после DELETE или TRUNCATE в PostgreSQL место на диске не освобождается сразу?
Чем отличается оптимистичная блокировка от пессимистичной?