Skip to content

Commit 9a0df73

Browse files
dapudovkinDanil Pudovkin
andauthored
Вопросы по реактивному программированию (enhorse#162)
* reactive programming & reactive streams concept * backpressure, observables, subscription, operators * fix style * update README.md * Add kafka questions * Add kafka broker, producer architecture + add topic settings * Add kafka producer example config * Add kafka consumer * Update table of contents * fix style * Add kafka interview questions * Update README.md * Update Kafka questions style * Update Kafka --------- Co-authored-by: Danil Pudovkin <[email protected]>
1 parent d73ae9e commit 9a0df73

3 files changed

Lines changed: 2083 additions & 0 deletions

File tree

README.md

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
+ [Потоки ввода-вывода в Java](#Потоки-вводавывода-в-java) ![icon][done]
1212
+ [Сериализация](#Сериализация) ![icon][done]
1313
+ [Многопоточность](#Многопоточность) ![icon][done]
14+
+ [Реактивное программирование](#реактивное-программирование) ![icon][done]
1415
+ [Servlets, JSP, JSTL](#servlets-jsp-jstl) ![icon][done]
1516
+ [Базы данных](#Базы-данных) ![icon][done]
1617
+ [SQL](#sql) ![icon][done]
@@ -24,6 +25,7 @@
2425
+ [Основы CSS](#Основы-css) ![icon][done]
2526
+ [Основы Web](#Основы-web) ![icon][done]
2627
+ [Дополнительные материалы](#Дополнительные-материалы) ![icon][done]
28+
+ [Apache Kafka](#apache-kafka) ![icon][done]
2729

2830
[done]:done.png
2931

@@ -445,6 +447,20 @@
445447

446448
[к оглавлению](#Вопросы-для-собеседования-на-java-developer)
447449

450+
## Реактивное программирование
451+
452+
* [Что такое реактивное программирование и чем оно отличается от процедурного программирования?](reactive.md#что-такое-реактивное-программирование-и-чем-оно-отличается-от-процедурного-программирования)
453+
* [Объясните концепцию потоков данных в реактивном программировании](reactive.md#объясните-концепцию-потоков-данных-в-реактивном-программировании)
454+
* [Что такое паттерн Observer и как он лежит в основе реактивного программирования?](reactive.md#что-такое-паттерн-observer-и-как-он-лежит-в-основе-реактивного-программирования)
455+
* [Опишите роль Observable и Observer в реактивном программировании](reactive.md#опишите-роль-observable-и-observer-в-реактивном-программировании)
456+
* [Что такое backpressure в контексте реактивного программирования?](reactive.md#что-такое-backpressure-в-контексте-реактивного-программирования)
457+
* [Объясните разницу между Hot и Cold Observable](reactive.md#объясните-разницу-между-hot-и-cold-observable)
458+
* [Какова роль Подписки в реактивном программировании?](reactive.md#какова-роль-подписки-в-реактивном-программировании)
459+
* [Как отписаться от потока для предотвращения утечки памяти?](reactive.md#как-отписаться-от-потока-для-предотвращения-утечки-памяти)
460+
* [Какие есть операторы в Project Reactor и для чего они используются?](reactive.md#какие-есть-операторы-в-project-reactor-и-для-чего-они-используются)
461+
462+
[к оглавлению](#Вопросы-для-собеседования-на-java-developer)
463+
448464
## Servlets, JSP, JSTL
449465
+ [Что такое _«сервлет»_?](servlets.md#Что-такое-сервлет)
450466
+ [В чем заключаются преимущества технологии сервлетов над CGI (Common Gateway Interface)?](servlets.md#В-чем-заключаются-преимущества-технологии-сервлетов-над-cgi-common-gateway-interface)
@@ -758,5 +774,68 @@
758774

759775
[к оглавлению](#Вопросы-для-собеседования-на-java-developer)
760776

777+
## Apache Kafka
778+
779+
* [Что такое Apache Kafka?](kafka.md#что-такое-apache-kafka)
780+
* [Основные компоненты Kafka](kafka.md#основные-компоненты-kafka)
781+
782+
**Архитектура компонентов**
783+
784+
* Topic
785+
* [Архитектура топика](kafka.md#архитектура-топика)
786+
* [Настройки топика Kafka](kafka.md#настройки-топика-kafka)
787+
* Broker
788+
* [Архитектура брокера](kafka.md#архитектура-брокера)
789+
* [Настройки брокера Kafka](kafka.md#настройки-брокера-kafka)
790+
* Producer
791+
* [Архитектура продюсера](kafka.md#архитектура-продюсера)
792+
* [Настройки продюсера](kafka.md#настройки-продюсера)
793+
* [Пример конфигурации Kafka Producer](kafka.md#пример-конфигурации-kafka-producer)
794+
* Consumer
795+
* [Архитектура консюмера](kafka.md#архитектура-консюмера)
796+
* [Настройки консюмера](kafka.md#настройки-консюмера)
797+
* [Пример конфигурации Kafka Consumer](kafka.md#пример-конфигурации-kafka-consumer)
798+
799+
**Kafka API**
800+
801+
* [Основные API Kafka](kafka.md#основные-api-kafka)
802+
* [Какова роль Producer API?](kafka.md#какова-роль-producer-api)
803+
* [Какова роль Consumer API?](kafka.md#какова-роль-consumer-api)
804+
* [Какова роль Connector API?](kafka.md#какова-роль-connector-api)
805+
* [Какова роль Streams API?](kafka.md#какова-роль-streams-api)
806+
* [Какова роль Transactions API?](kafka.md#какова-роль-transactions-api)
807+
* [Какова роль Quota API?](kafka.md#какова-роль-quota-api)
808+
* [Какова роль AdminClient API?](kafka.md#какова-роль-AdminClient-api)
809+
810+
**Kafka Consumer**
811+
812+
* [Для чего нужен координатор группы?](kafka.md#для-чего-нужен-координатор-группы)
813+
* [Для чего нужен Consumer heartbeat thread?](kafka.md#для-чего-нужен-consumer-heartbeat-thread)
814+
* [Как Kafka обрабатывает сообщения?](kafka.md#как-kafka-обрабатывает-сообщения)
815+
* [Как Kafka обрабатывает задержку консюмера?](kafka.md#как-kafka-обрабатывает-задержку-консюмера)
816+
* [Для чего нужны методы subscribe() и poll()?](kafka.md#для-чего-нужны-методы-subscribe-и-poll)
817+
* [Для чего нужен метод position()?](kafka.md#для-чего-нужен-метод-position)
818+
* [Для чего нужны методы commitSync() и commitAsync()?](kafka.md#для-чего-нужны-методы-commitsync-и-commitasync)
819+
820+
**Другие вопросы**
821+
822+
* [Для чего нужен идемпотентный продюсер?](kafka.md#для-чего-нужен-идемпотентный-продюсер)
823+
* [Для чего нужен интерфейс Partitioner?](kafka.md#для-чего-нужен-интерфейс-partitioner)
824+
* [Для чего нужен Broker log cleaner thread?](kafka.md#для-чего-нужен-broker-log-cleaner-thread)
825+
* [Для чего нужен Kafka Mirror Maker?](kafka.md#для-чего-нужен-kafka-mirror-maker)
826+
* [Для чего нужна Schema Registry?](kafka.md#для-чего-нужна-schema-registry)
827+
* [Для чего нужен Streams DSL?](kafka.md#для-чего-нужен-streams-dsl)
828+
* [Как Kafka обеспечивает версионирование сообщений?](kafka.md#как-kafka-обеспечивает-версионирование-сообщений)
829+
* [Как потребители получают сообщения от брокера?](kafka.md#как-потребители-получают-сообщения-от-брокера)
830+
831+
**Сравнение с другими компонентами и системами**
832+
833+
* [В чем разница между Kafka Consumer и Kafka Stream?](kafka.md#в-чем-разница-между-kafka-consumer-и-kafka-stream)
834+
* [В чем разница между Kafka Streams и Apache Flink?](kafka.md#в-чем-разница-между-kafka-streams-и-apache-flink)
835+
* [В чем разница между Kafka и Flume?](kafka.md#в-чем-разница-между-kafka-и-flume)
836+
* [В чем разница между Kafka и RabbitMQ?](kafka.md#в-чем-разница-между-kafka-и-rabbitmq)
837+
838+
[к оглавлению](#Вопросы-для-собеседования-на-java-developer)
839+
761840
## Источники
762841
+ [Вопросы на собеседование Junior Java Developer](https://jsehelper.blogspot.ru)

0 commit comments

Comments
 (0)