- Java Core: С какой проблемой можно столкнуться при увеличении размера heap памяти. Почему программисты стараются излишне не расширять ее
- Java Core: Ускоряет ли вычисление программы использование parallelStream() в Stream ? В каких случаях да, а в каких нет
- Java Core: какой размер у String Pool?
- Java Core: какой GC используется по дефолту в Java 8/11
- Java Core: что такое Stop The World
- Java Core: чем лямбда отличается от анонимного класса
- Java Core: какие методы можно вызвать у Throwable
- Java Core: назови классы, которые наследуются не от Object
- Maven: как передавать стартовые параметры через мавен
- Java Core: назовите Immutable коллекции
- Java Core: как сделать иммутабельным класс, у которого в полях находятся ссылочные неиммутабельные типы (final не поможет, потому что финализируется ссылка, а не объект, и сам объект можно будет изменить)
- Java Core: Максимальное кол-во элементов в массиве? Максимальный размер ArrayList? Максимальный размер LinkedList? Почему в LinkedList лучше не использовать size() при итеррировании, и как лучше итеррироваться?
- SQL: что такое Explain и чем Explain отличается от Explain Analyse
- Spring: @Value отрабатывает до вызова конструктора или после?
- Spring: На каком этапе происходит внедрение зависимостей при использовании @Autowired над конструктором?
- Spring: как выбрать профиль
- Spring: Какой из трех способов автовайринга рекомендуется использовать разработчиками спринга и по каким причинам.
- Spring: можно ли создать два бина со скоупом сингтон одного класса
- Spring: мы создали контроллер и инжектим бин со скоупом Session. Как спринг будет подставлять каждой сессии новый бин, если контекс инициализируется со стартом приложения
- Spring: какие исключения может обрабатывать @Transactional по дефолту. Может ли он обработать пробрасываемое исключение
- 12-ти факторная модель создания облачных приложений
- IaaS, PaaS, SaaS https://gigacloud.ua/ru/blog/navchannja/hmarna-piramida-iaas-paas-i-saas
- CAP теорема
- Паттерны микросервисной архитектуры. https://mcs.mail.ru/blog/26-osnovnyh-patternov-mikroservisnoj-razrabotki
- Паттерны интеграции микросервисов https://www.enterpriseintegrationpatterns.com/patterns/messaging/
https://www.youtube.com/watch?v=-AZOi3kP9Js Основы кафки
https://www.youtube.com/watch?v=c_mkpVg5rlg Обзор брокеров сообщений
https://www.youtube.com/watch?v=Y1eSeEJDses вебинар по обзору некоторых фишек в кафке
- Что такое очередь сообщений.
- Основные концепции очередей
- ? Kafka vs Rabbit MQ
- Основные сущности Kafka
- Zookeper. Хранение метаданных кластера
- Kafka кластер. Устройство
- Партиционирование. Leader партиция.
- Репликация
- Настройка Kafka кластера для корректной работы партиционирования и репликации
- Устройство файлового хранилища Kafka
- TTL
- Producer. Из каких шагов состоит инцициализация
- Стратегии коммитинга. Гарантия доставки
- Сериализация, Десериализация
- Стратегии выбора партиции продюссером
- Можно ли из топика (распределен по 3 партициям) прочитать сообщения в том же порядке, в котором они были записаны? Почему?
- Как сделать так, чтобы все сообщения по одному клиенту попали в одну партицию?
- Timestamp
- Headers
- Batch size. Linger time
- Retry
- Контейнеризация
https://projectreactor.io/docs/core/release/api/ - список классов и методов по Project Reator
https://habr.com/ru/post/565000/ - основной источник материалов
- Реактивное программирование. Основные принципы. Преимущество реактивного программирование над блокирующим.
- Перечислите основные виды потерь на блокирующем типе программирования в web
- Объясните понятие backpressure. Что оно дает. https://habr.com/ru/post/512724/
- При каком количестве запросов и нагрузке имеет реактивно построенное приложение начинает выигровать у приложения с блокироющим типом запросов. Приведите оценки
- Основные библиотеки
- Cтандарт спецификации Reactive Streams.
- Reactive Streams: Основные интефейсы
- Reactive Streams: Publisher
- Reactive Streams: Subscriber
- Основные модули Project Reactor
- Reactor Core: основные интерфейсы
- Flux Api. Основные методы https://projectreactor.io/docs/core/release/api/reactor/core/publisher/Flux.html
- Mono Api. Основные методы
- Обработка ошибок
- Тестирование
- Параллельное выполнение. Scheduler
- Backpressure: оператор request
- Горячий и холодный паблишер. Что это. Как создать
- Контекст: локальные переменные для контекста
- Sinks. События
- Отладка/Debug реактивной программы
- Реактивные Application Servers: Netty, Jetty, Tomcat, Servlet 3.1, HTTP 2.0
- Spring WebFlux. Для чего используется
- Обработка запроса. Аннотационная модель: контроллеры на базе WebFlux
- Обработка запроса. Функциональная модель: HandlerFunctions, RouterFunctions,
- Spring Security WebFlux.
- Отправка запросов. WebClient. Основные методы
- WebSocket, RSocket
- Тестирование WebFlux
- Что такое R2DBC, Программы, реализующие драверы для R2DBC
- SPRING DATA R2DBC
- ReactiveCrudRepository
- DatabaseClient. Оптравка SQL запросов напрямую в БД
- Транзакции