À quelles questions d’entretien Kafka dois-je m’attendre ?

Par Aaron Cao · Mis à jour le

À quelles questions d’entretien Kafka dois-je m’attendre ?
Attendez-vous à quatre niveaux : concepts fondamentaux (topics, partitions, offsets, groupes de consommateurs), garanties de livraison (au moins une fois, exactement une fois, producteurs idempotents), exploitation (réplication, réplicas synchronisés, rétention, rééquilibrage) et scénarios de conception où vous dimensionnez les partitions, choisissez les clés et gérez les pannes. Les recruteurs cherchent à comprendre le pourquoi de chaque réponse.

Attendez-vous à quatre niveaux : concepts fondamentaux (topics, partitions, offsets, groupes de consommateurs), garanties de livraison (au moins une fois, exactement une fois, producteurs idempotents), exploitation (réplication, réplicas synchronisés, rétention, rééquilibrage) et scénarios de conception où vous dimensionnez les partitions, choisissez les clés et gérez les pannes. Les recruteurs cherchent à comprendre le pourquoi de chaque réponse.

Quels concepts fondamentaux de Kafka sont vérifiés en premier ?

Vous savez déjà que Kafka est un journal distribué, mais vous craignez que le recruteur aille un niveau plus loin que votre utilisation quotidienne. C’est précisément l’objet de ces questions : cette section présente donc le vocabulaire dans l’ordre généralement suivi en entretien et indique la relance associée à chaque terme.

  • Topics et partitions. Un topic est divisé en partitions, chacune formant un journal ordonné en ajout seul. Relance : pourquoi Kafka augmente-t-il le débit d’écriture en ajoutant des partitions plutôt qu’en accélérant un journal unique ?
  • Offsets. La position d’un consommateur dans une partition. Relance : qui stocke les offsets validés et que se passe-t-il si un consommateur tombe en panne avant de les valider ?
  • Groupes de consommateurs. Les consommateurs d’un groupe se partagent les partitions d’un topic, une partition n’étant attribuée qu’à un seul consommateur du groupe à la fois. Relance : qu’advient-il du débit si le groupe compte plus de consommateurs que de partitions ?
  • Courtiers et contrôleur. Les courtiers stockent les partitions ; le contrôleur gère l’élection des leaders et les métadonnées. Relance : qu’est-ce qui a changé lorsque Kafka a transféré ses métadonnées de ZooKeeper vers KRaft ?
  • Producteurs et clés. Un message doté d’une clé est envoyé vers une partition choisie par hachage de cette clé ; sans clé, il est réparti entre les partitions. Relance : laquelle de ces deux méthodes préserve l’ordre des événements d’un client donné ?

Répondez en expliquant le mécanisme, pas seulement le principe. Dire que les partitions permettent le parallélisme est un prérequis ; expliquer que l’ordre n’existe qu’au sein d’une partition et que la clé détermine donc le domaine d’ordonnancement est la réponse qui vous fait passer au tour suivant.

Comment se présentent les questions sur la livraison et la réplication ?

C’est à ce niveau que la plupart des candidats perdent des points, car les termes sont simples, mais pas les compromis. Attendez-vous à ce que le recruteur énonce une garantie et vous demande de la construire à partir de paramètres.

  • Au plus une fois contre au moins une fois. Validez l’offset avant le traitement et vous risquez de perdre un message ; traitez-le d’abord, puis validez l’offset, et vous risquez de le traiter deux fois. Précisez quelle panne chaque ordre tolère et lequel votre système privilégie.
  • Producteurs idempotents et exactement une fois. Un producteur idempotent déduplique les nouvelles tentatives au sein d’une partition ; les transactions étendent cette propriété à plusieurs partitions et aux offsets des consommateurs dans une boucle consommation-transformation-production. Soyez prêt à expliquer ce que l’exactement-une-fois ne couvre pas : une écriture dans une base de données en aval, hors transaction, reste votre problème.
  • acks, facteur de réplication et réplicas synchronisés. acks=all attend l’ensemble des réplicas synchronisés ; min.insync.replicas définit jusqu’où cet ensemble peut diminuer avant que les écritures soient refusées. Les recruteurs demandent souvent ce que vous sacrifiez ici en échange de la durabilité : la latence et la disponibilité lors de la perte d’un courtier.
  • Rétention et compaction. La rétention fondée sur la durée ou la taille supprime les anciens segments ; la compaction du journal conserve le dernier enregistrement de chaque clé. Relance : laquelle sert de journal des modifications à un magasin clé-valeur, et pourquoi ?
  • Rééquilibrage. Lorsqu’un consommateur rejoint ou quitte le groupe, les partitions sont réattribuées. Relance : quel est l’effet d’un long rééquilibrage sur un service sensible à la latence, et comment le rééquilibrage coopératif et l’appartenance statique réduisent-ils le problème ?

Une habitude utile : pour chaque paramètre cité, indiquez la panne qu’il empêche et le coût qu’il ajoute. Cette structure répond à la question et à sa relance d’un seul souffle.

À quoi ressemblent les questions de conception et de mise en situation ?

Dans les entretiens pour postes expérimentés, les définitions cèdent la place à un scénario destiné à observer votre raisonnement. Exemple classique : un ingénieur backend candidat à un poste de plateforme dans une entreprise de paiement doit concevoir un pipeline d’événements où toutes les transactions d’un même compte sont traitées dans l’ordre, où le débit augmente avec le trafic et où la panne d’un courtier ne provoque aucune perte de données. Une bonne réponse consiste à utiliser l’identifiant du compte comme clé afin que ses événements partagent une partition, à dimensionner les partitions pour le pic prévu avec une marge de croissance, à configurer la réplication et acks=all pour la durabilité, puis à expliquer comment les consommateurs valident les offsets afin qu’une panne entraîne une relecture plutôt qu’un saut.

Autres scénarios récurrents : un consommateur qui prend du retard, la détection de ce retard et son rattrapage ; un topic dont vous regrettez le nombre de partitions et la raison pour laquelle le repartitionnement rompt l’ordre par clé ; un message empoisonné qui fait planter le consommateur et le modèle de file de lettres mortes qui l’isole ; les changements de schéma entre producteurs et consommateurs et les avantages d’un registre de schémas. Le recruteur ne cherche pas une architecture parfaite. Il veut vous entendre nommer la contrainte, choisir un mécanisme et énoncer clairement le compromis.

Entraînez-vous à répondre à voix haute avant l’entretien au lieu de vous contenter de lire. Le mode d’entraînement de la page simulation d’entretien sert à répéter ces scénarios avec un recruteur IA qui approfondit ses relances, tandis qu’un ensemble plus vaste de banques par poste et par thème se trouve sous questions d’entretien par poste et par thème.

Un assistant IA peut-il aider avec les questions sur Kafka ?

Lors d’un entretien conversationnel, oui, dans des limites honnêtes. L’application de bureau native de SubcueAI pour macOS et Windows capte le son du recruteur et votre microphone, puis affiche de courtes suggestions de réponse dans une superposition locale. Ainsi, lorsque le recruteur demande ce que protège min.insync.replicas, le mécanisme s’affiche à l’écran pendant que vous l’expliquez avec vos propres mots. L’extension de navigateur fait de même pour les appels dans un onglet, en captant uniquement le son de l’onglet de réunion. Aucune des deux solutions n’ajoute de robot à l’appel ni n’injecte quoi que ce soit dans la page de réunion ; la procédure de configuration figure sur la page tutoriel.

Les limites comptent davantage que l’argumentaire. Un test de programmation surveillé, un écran enregistré ou un ordinateur géré par l’entreprise sont hors périmètre, et tout exercice de programmation en direct où vous devez mettre en œuvre un consommateur sous observation relève de votre propre travail. L’assistant est surtout efficace pour les questions de terminologie et de compromis ci-dessus, et beaucoup moins pour tout ce qui est saisi dans une plateforme d’évaluation. Avant de vous y fier, fournissez-lui votre CV afin que ses suggestions reflètent le travail que vous avez réellement effectué avec Kafka ; ce profil se trouve dans le créateur de CV.

FAQ

Pourquoi Kafka ne peut-il garantir l’ordre qu’au sein d’une partition ?

Chaque partition est un journal ordonné unique, écrit par un seul leader, tandis que les différentes partitions résident sur différents courtiers et sont consommées indépendamment. Garantir l’ordre entre les partitions exigerait une coordination qui supprimerait le parallélisme qu’elles sont censées fournir.

Quelle différence entre au moins une fois et exactement une fois dans Kafka ?

Au moins une fois signifie qu’un message peut être livré de nouveau après une panne ; les consommateurs doivent donc tolérer les doublons. Exactement une fois associe des producteurs idempotents à des transactions afin que les nouvelles tentatives et la validation des offsets soient atomiques dans Kafka ; les effets hors de Kafka nécessitent toujours leur propre idempotence.

Combien de consommateurs un groupe de consommateurs doit-il avoir ?

Au maximum, un consommateur actif par partition est utile ; les consommateurs supplémentaires restent inactifs. Avoir moins de consommateurs que de partitions ne pose aucun problème : chacun lit simplement plusieurs partitions. Le nombre de partitions fixe donc le plafond du parallélisme des consommateurs.

Que se passe-t-il lorsqu’un courtier Kafka tombe en panne ?

Les partitions dont il était le leader basculent vers un réplica synchronisé situé sur un autre courtier et choisi par le contrôleur. Avec une réplication configurée et acks=all, les écritures confirmées survivent ; le producteur retente les écritures non confirmées.

SubcueAI peut-il aider pendant une évaluation de programmation Kafka ?

Non. Les évaluations surveillées ou enregistrées sont hors de son périmètre, et son utilisation honnête se limite à un entretien conversationnel où vous expliquez les concepts et les compromis. Le mode de simulation d’entretien permet de vous entraîner aux deux avant le véritable appel.

Questions liées

← Plus sur Questions d’entretien par poste et par thème