Pular para o conteúdo principal

Pergunta 49 de 50

Conte um projeto real utilizando Kafka.

SêniorTech Lead

Pergunta

"Conte sobre um projeto real em que você utilizou Apache Kafka."

O que o entrevistador quer avaliar

Se você aplicou os conceitos na prática, não apenas os estudou. Aqui não há uma resposta pronta para decorar — o entrevistador quer ouvir o seu projeto, com detalhes específicos que só quem trabalhou nele saberia.

Esta pergunta não tem resposta genérica

Diferente das demais perguntas deste livro, esta não pode ser respondida com uma resposta padrão — ela exige que você fale sobre um sistema real que você construiu ou operou. Se você ainda não trabalhou diretamente com Kafka em produção, seja honesto sobre isso e descreva um projeto de estudo ou um cenário que você projetaria, deixando claro que é hipotético.

Como estruturar a resposta

Uma boa resposta cobre, na ordem, os mesmos elementos do estudo de caso PIX recebido deste livro — não porque você deva copiá-lo, mas porque essa estrutura é o que um entrevistador espera ouvir, na ordem em que ele consegue avaliar profundidade:

  1. O contexto de negócio: qual problema o sistema resolvia, e por que Kafka foi escolhido (ou herdado) para resolvê-lo.
  2. A topologia: quais tópicos existiam, quantas partitions, qual key foi usada e por quê.
  3. Os consumidores: quantos sistemas diferentes consumiam o mesmo tópico, e como eles eram independentes entre si.
  4. As decisões de confiabilidade: como idempotência, retry e DLQ foram tratados — ou, se não foram, o que você aprendeu com isso.
  5. Um desafio real: algo que não saiu como esperado, e como foi resolvido (isso conecta naturalmente com a pergunta seguinte).

Dica de entrevista

Entrevistadores sênior notam rapidamente quando uma resposta é genérica demais ("usamos Kafka para comunicação entre microsserviços") versus específica ("o tópico tinha 12 partitions, usávamos contaId como key porque precisávamos de ordenação por conta, e o maior desafio foi um período em que os rebalances ficavam constantes por causa de max.poll.interval.ms mal configurado"). Detalhes concretos — mesmo pequenos — comunicam experiência real de um jeito que generalidades não conseguem.

"Inventar" um projeto genérico decorado

Um projeto descrito de forma vaga, sem nenhum detalhe técnico específico (número de partitions, escolha de key, ferramentas de observabilidade usadas), costuma soar decorado — e frequentemente é seguido de perguntas de aprofundamento que expõem a falta de profundidade real na experiência descrita.

Pode vir a seguir

Após esta resposta, prepare-se para: "por que vocês escolheram essa quantidade de partitions?", "como vocês lidavam com mensagens duplicadas?" e a próxima pergunta deste livro, sobre desafios enfrentados.

Capítulos relacionados