As 14 principais perguntas e respostas da entrevista Kafka (2025)
Aqui estão as perguntas e respostas da entrevista Kafka para calouros e também para candidatos experientes para conseguir o emprego dos sonhos.
1) Mencione o que é Apache Kafka?
Apache Kafka é um sistema de mensagens de publicação-assinatura desenvolvido pela Apache escrito em Scala. É um serviço de log distribuído, particionado e replicado.
Download gratuito de PDF: Perguntas e respostas da entrevista com Kafka
2) Mencione qual é o método tradicional de transferência de mensagens?
O método tradicional de transferência de mensagens inclui dois métodos
- Fila: Numa fila, um conjunto de consumidores pode ler mensagens do servidor e cada mensagem vai para um deles.
- Publicar-Assinar: Neste modelo, as mensagens são transmitidas para todos os consumidores
Kafka atende à abstração de consumidor único que generalizou ambos os itens acima: o grupo de consumidores.
3) Mencione quais são os benefícios do Apache Kafka em relação à técnica tradicional?
Apache Kafka tem os seguintes benefícios acima da técnica tradicional de mensagens
- Fast: Um único corretor Kafka pode atender milhares de clientes lidando com megabytes de leituras e gravações por segundo
- Escalável: Os dados são particionados e simplificados em um cluster de máquinas para permitir dados maiores
- Durável: As mensagens são persistentes e replicadas dentro do cluster para evitar perda de dados
- Distribuído por Design: Ele fornece garantias de tolerância a falhas e durabilidade
4) Mencione qual é o significado de corretor em Kafka?
No cluster Kafka, o termo corretor é usado para se referir ao Servidor.
5) Mencione qual é o tamanho máximo da mensagem que o servidor Kafka pode receber?
O tamanho máximo da mensagem que o servidor Kafka pode receber é 1000000 bytes.
6) Explique o que é Zookeeper em Kafka? Podemos usar Kafka sem Zookeeper?
Zookeeper é um serviço de coordenação de código aberto e de alto desempenho usado para aplicativos distribuídos adaptados por Kafka. Não, não é possível ignorar o Zookeeper e conectar-se diretamente ao corretor Kafka. Depois que o Zookeeper estiver inativo, ele não poderá atender às solicitações do cliente.
- Zookeeper é basicamente usado para comunicação entre diferentes nós em um cluster
- No Kafka, ele é usado para confirmar o deslocamento, portanto, se o nó falhar em qualquer caso, ele poderá ser recuperado do deslocamento confirmado anteriormente
- Além disso, também realiza outras atividades como detecção de líderes, sincronização distribuída, gerenciamento de configuração, identificação quando um novo nó sai ou ingressa, cluster, status do nó em tempo real, etc.
7) Explique como a mensagem é consumida pelo consumidor no Kafka?
A transferência de mensagens no Kafka é feita usando sendfile API. Ele permite a transferência de bytes do soquete para o disco por meio de cópias que economizam espaço no kernel e chamadas entre o usuário do kernel de volta ao kernel.
8) Explique como você pode melhorar o rendimento de um consumidor remoto.
Se o consumidor estiver localizado em um data center diferente do intermediário, poderá ser necessário ajustar o tamanho do buffer do soquete para amortizar a longa latência da rede.
9) Explique como você pode obter mensagens exatamente uma vez do Kafka durante a produção de dados.
Durante a produção dos dados, para obter exatamente uma mensagem do Kafka, você deve seguir duas coisas evitando duplicatas durante o consumo de dados e pela evitando duplicação durante a produção de dados. Aqui estão as duas maneiras de obter exatamente uma semântica durante a produção de dados:
- Disponibilize um único gravador por partição, sempre que ocorrer um erro de rede, verifique a última mensagem nessa partição para ver se sua última gravação foi bem-sucedida
- Na mensagem inclua uma chave primária (UUID ou algo assim) e desduplicar no consumidor
10) Explique como você pode reduzir a rotatividade no ISR? Quando o corretor sai do ISR?
ISR é um conjunto de réplicas de mensagens que estão completamente sincronizadas com os líderes, ou seja, o ISR possui todas as mensagens que estão comprometidas. O ISR deve sempre incluir todas as réplicas até que haja uma falha real. Uma réplica será eliminada do ISR se se desviar do líder.
11) Por que a replicação é necessária no Kafka?
A replicação de mensagens no Kafka garante que qualquer mensagem publicada não seja perdida e possa ser consumida em caso de erro de máquina, erro de programa ou atualizações de software mais comuns.
12) O que indica se a réplica ficar muito tempo fora do ISR?
Se uma réplica permanecer fora do ISR por um longo período, isso indica que o seguidor não consegue buscar dados tão rápido quanto os dados acumulados no líder.
13) Mencione o que acontece se a réplica preferida não estiver no ISR?
Se a réplica preferida não estiver no ISR, o controlador não conseguirá se mover liderança para a réplica preferida.
14) É possível obter o deslocamento da mensagem após a produção?
Você não pode fazer isso em uma classe que se comporta como produtora como na maioria dos sistemas de filas, sua função é disparar e esquecer as mensagens. O corretor fará o resto do trabalho, como manipulação apropriada de metadados com IDs, compensações, etc. Como consumidor da mensagem, você pode obter a compensação de um corretor Kafka. Se você olhar no Consumidor Simples class, você notará que ela busca Resposta MultiFetch objetos que incluem deslocamentos como uma lista. Além disso, ao iterar a mensagem Kafka, você terá Mensagem e deslocamento objetos que incluem o deslocamento e a mensagem enviada.
Essas perguntas da entrevista também ajudarão em sua viva (oral)