Встречается на 14% собеседований по Java

Расскажи про опыт работы с Kafka

Работал с Apache Kafka в продакшене около 2 лет. Основные задачи: настройка кластера, оптимизация топиков (partitioning, replication factor), обработка событий в реальном времени.

Пример producer/consumer на Java:

java
// Producer
Properties props = new Properties();
props.put("bootstrap.servers", "localhost:9092");
props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");

Producer<String, String> producer = new KafkaProducer<>(props);
producer.send(new ProducerRecord<>("test-topic", "key", "value"));

// Consumer
Properties props = new Properties();
props.put("bootstrap.servers", "localhost:9092");
props.put("group.id", "test-group");
props.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
props.put("value.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");

KafkaConsumer<String, String> consumer = new KafkaConsumer<>(props);
consumer.subscribe(Collections.singletonList("test-topic"));
ConsumerRecords<String, String> records = consumer.poll(Duration.ofMillis(100));

text

Решал проблемы:  
- Exactly-once семантика через `enable.idempotence=true`  
- Балансировка нагрузки через увеличение partitions  
- Мониторинг через JMX + Prometheus  

Также работал с Kafka Streams для обработки потоков данных и KSQL для аналитики.
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы