Que perguntas sobre Kafka devo esperar na entrevista?

Por Aaron Cao · Atualizado em

Que perguntas sobre Kafka devo esperar na entrevista?
Espere quatro camadas: conceitos essenciais (tópicos, partições, offsets e grupos de consumidores), garantias de entrega (pelo menos uma vez, exatamente uma vez e produtores idempotentes), operações (replicação, réplicas sincronizadas, retenção e rebalanceamento) e cenários de projeto nos quais você dimensiona partições, escolhe chaves e lida com falhas. Os entrevistadores investigam o motivo por trás de cada resposta.

Espere quatro camadas: conceitos essenciais (tópicos, partições, offsets e grupos de consumidores), garantias de entrega (pelo menos uma vez, exatamente uma vez e produtores idempotentes), operações (replicação, réplicas sincronizadas, retenção e rebalanceamento) e cenários de projeto nos quais você dimensiona partições, escolhe chaves e lida com falhas. Os entrevistadores investigam o motivo por trás de cada resposta.

Quais conceitos essenciais de Kafka todo entrevistador verifica primeiro?

Você já sabe que Kafka é um log distribuído e teme que o entrevistador aprofunde um nível além do seu uso cotidiano. É exatamente a esse ponto que essas perguntas chegam; por isso, esta seção percorre o vocabulário na ordem normalmente seguida pelos entrevistadores e indica a pergunta complementar por trás de cada termo.

  • Tópicos e partições. Um tópico é dividido em partições, cada uma sendo um log ordenado que aceita apenas acréscimos. Pergunta complementar: por que Kafka escala as gravações adicionando partições em vez de tornar um único log mais rápido?
  • Offsets. A posição de um consumidor em uma partição. Pergunta complementar: quem armazena os offsets confirmados e o que acontece se um consumidor falhar antes de confirmá-los?
  • Grupos de consumidores. Os consumidores de um grupo compartilham as partições de um tópico, sendo cada partição atribuída a, no máximo, um consumidor do grupo por vez. Pergunta complementar: o que acontece com a vazão quando o grupo tem mais consumidores do que partições?
  • Brokers e o controlador. Os brokers armazenam partições; o controlador cuida da eleição de líderes e dos metadados. Pergunta complementar: o que mudou quando Kafka transferiu os metadados do ZooKeeper para o KRaft?
  • Produtores e chaves. Uma mensagem com chave chega a uma partição escolhida pelo hash da chave; uma mensagem sem chave é distribuída entre as partições. Pergunta complementar: qual dessas opções preserva a ordem dos eventos de um cliente?

Responda explicando o mecanismo, não apenas o conceito. Dizer que as partições oferecem paralelismo é o mínimo esperado; explicar que a ordem só existe dentro de uma partição e que, portanto, a chave define o domínio de ordenação é a resposta que leva você à próxima etapa.

Como são as perguntas sobre garantias de entrega e replicação?

É nesta camada que a maioria dos candidatos perde pontos, porque os termos são fáceis, mas as concessões não são. Espere que o entrevistador apresente uma garantia e peça que você a construa a partir das configurações.

  • No máximo uma vez versus pelo menos uma vez. Confirme o offset antes do processamento e você poderá perder uma mensagem; processe primeiro e confirme depois, e poderá processá-la duas vezes. Explique que falha cada ordem tolera e qual delas o seu sistema prefere.
  • Produtores idempotentes e entrega exatamente uma vez. Um produtor idempotente elimina tentativas repetidas dentro de uma partição; as transações estendem isso entre partições e aos offsets dos consumidores em um ciclo de consumir, transformar e produzir. Esteja preparado para dizer o que a entrega exatamente uma vez não cobre: uma gravação posterior em banco de dados fora da transação ainda é responsabilidade sua.
  • acks, fator de replicação e réplicas sincronizadas. acks=all aguarda o conjunto de réplicas sincronizadas; min.insync.replicas define até que tamanho esse conjunto pode diminuir antes que as gravações sejam recusadas. Os entrevistadores costumam perguntar o que você sacrifica em troca dessa durabilidade: latência e disponibilidade durante a perda de um broker.
  • Retenção e compactação. A retenção baseada em tempo ou tamanho exclui segmentos antigos; a compactação do log mantém o registro mais recente de cada chave. Pergunta complementar: qual delas sustenta um changelog para um armazenamento de chave-valor e por quê?
  • Rebalanceamento. Quando um consumidor entra ou sai, as partições são reatribuídas. Pergunta complementar: como um rebalanceamento demorado afeta um serviço sensível à latência e como o rebalanceamento cooperativo e a associação estática reduzem o impacto?

Um hábito útil: para cada configuração citada, explique a falha que ela evita e o custo que acrescenta. Essa estrutura responde à pergunta e à pergunta complementar de uma só vez.

Como são as perguntas de projeto e de cenários?

Entrevistas para cargos seniores substituem definições por um cenário e observam seu raciocínio. Um exemplo típico: um engenheiro de backend que disputa uma função de plataforma em uma empresa de pagamentos precisa projetar um pipeline de eventos no qual todas as transações de uma conta sejam processadas em ordem, a vazão cresça com o tráfego e uma indisponibilidade de broker não cause perda de dados. A resposta sólida usa o id da conta como chave das mensagens para que os eventos de uma conta compartilhem uma partição, dimensiona as partições para o pico esperado com margem de crescimento, configura a replicação e acks=all para garantir a durabilidade e explica como os consumidores confirmam os offsets para que uma falha provoque a repetição, não a omissão.

Outros cenários recorrentes: um consumidor atrasado e como detectar a defasagem e recuperar o atraso; um tópico cuja quantidade de partições se tornou problemática e por que o reparticionamento quebra a ordenação por chave; uma mensagem problemática que derruba o consumidor e o padrão de fila de mensagens mortas que a isola; mudanças de esquema entre produtores e consumidores e as vantagens de um registro de esquemas. O entrevistador não procura uma única arquitetura correta. Ele quer que você identifique a restrição, escolha um mecanismo e declare a concessão em voz alta.

Pratique esses cenários em voz alta antes da entrevista, em vez de apenas lê-los. Ensaiar perguntas de cenário com um entrevistador de IA que insiste em perguntas complementares é a finalidade do modo de prática na página de entrevista simulada, enquanto o conjunto mais amplo de bancos por função e assunto fica em perguntas de entrevista por função e assunto.

Um assistente de IA pode ajudar com perguntas sobre Kafka?

Em uma entrevista conversacional, sim, dentro de limites honestos. O aplicativo nativo para macOS e Windows da SubcueAI captura o áudio do entrevistador e do seu microfone e exibe sugestões curtas de resposta em uma sobreposição local. Assim, quando o entrevistador pergunta contra o que min.insync.replicas protege, o mecanismo aparece na sua tela enquanto você o explica com suas próprias palavras. A extensão do navegador faz o mesmo em chamadas realizadas em abas, capturando apenas o áudio da aba da reunião. Nenhum deles adiciona um bot à chamada nem insere qualquer coisa na página da reunião; o passo a passo da configuração está na página de tutorial.

Os limites importam mais do que o discurso promocional. Um teste de programação monitorado, uma tela gravada ou um notebook administrado pela empresa estão fora do escopo, e um exercício de programação ao vivo no qual você precisa implementar um consumidor sob observação deve ser feito por você. O assistente é mais eficaz nas perguntas de terminologia e concessões acima e menos eficaz em qualquer tarefa digitada em uma plataforma de avaliação. Antes de contar com ele, forneça seu currículo para que as sugestões reflitam o trabalho com Kafka que você realmente realizou; o criador de currículos é onde esse perfil fica armazenado.

FAQ

Por que Kafka só pode garantir a ordem dentro de uma partição?

Cada partição é um único log ordenado, gravado por um líder, enquanto partições diferentes residem em brokers diferentes e são consumidas de forma independente. Garantir a ordem entre partições exigiria uma coordenação que eliminaria o paralelismo para o qual elas existem.

Qual é a diferença entre pelo menos uma vez e exatamente uma vez em Kafka?

Pelo menos uma vez significa que uma mensagem pode ser entregue novamente após uma falha; portanto, os consumidores precisam tolerar duplicatas. Exatamente uma vez combina produtores idempotentes com transações para que novas tentativas e confirmações de offsets sejam atômicas dentro de Kafka; efeitos fora de Kafka ainda exigem idempotência própria.

Quantos consumidores um grupo de consumidores deve ter?

É útil ter, no máximo, um consumidor ativo por partição; os consumidores excedentes ficam ociosos. Não há problema em ter menos consumidores do que partições, pois cada um simplesmente lê várias partições. Assim, a quantidade de partições define o limite do paralelismo dos consumidores.

O que acontece quando um broker de Kafka falha?

As partições que ele liderava passam para uma réplica sincronizada em outro broker, escolhida pelo controlador. Com a replicação configurada e acks=all, as gravações confirmadas sobrevivem; o produtor tenta novamente as gravações não confirmadas.

A SubcueAI pode ajudar durante uma avaliação de programação sobre Kafka?

Não. Avaliações monitoradas ou gravadas estão fora do seu escopo, e o uso honesto ocorre em uma entrevista conversacional na qual você explica conceitos e concessões. O modo de entrevista simulada é o lugar para praticar ambos antes da chamada real.

Perguntas relacionadas

← Mais sobre Perguntas de entrevista por cargo e tema