Top 14 des questions et réponses des entretiens avec Kafka (2024)

Voici les questions et réponses de l'entretien Kafka pour les débutants ainsi que les candidats expérimentés pour obtenir l'emploi de leurs rêves.


1) Mentionnez qu'est-ce qu'Apache Kafka ?

Apache Kafka est un système de messagerie de publication-abonnement développé par Apache écrit en Scala. Il s'agit d'un service de journal distribué, partitionné et répliqué.

Téléchargement PDF gratuit : Questions et réponses d'entretien avec Kafka


2) Mentionnez quelle est la méthode traditionnelle de transfert de messages ?

La méthode traditionnelle de transfert de messages comprend deux méthodes

  • File d'attente : Dans une file d'attente, un groupe de consommateurs peut lire un message du serveur et chaque message est envoyé à l'un d'eux
  • Publier-S'abonner : Dans ce modèle, les messages sont diffusés à tous les consommateurs

Kafka répond à l'abstraction du consommateur unique qui a généralisé les deux groupes de consommateurs ci-dessus.


3) Mentionnez quels sont les avantages d'Apache Kafka par rapport à la technique traditionnelle ?

Apache Kafka présente les avantages suivants par rapport à la technique de messagerie traditionnelle

  • Rapide: Un seul courtier Kafka peut servir des milliers de clients en gérant des mégaoctets de lectures et d'écritures par seconde
  • Scalable: Les données sont partitionnées et rationalisées sur un cluster de machines pour permettre des données plus volumineuses
  • Durable: Les messages sont persistants et sont répliqués dans le cluster pour éviter la perte de données
  • Distribué par conception : Il offre des garanties de tolérance aux pannes et de durabilité

4) Mentionnez quelle est la signification de courtier en Kafka ?

Dans le cluster Kafka, le terme courtier est utilisé pour désigner le serveur.


5) Indiquez quelle est la taille maximale du message que le serveur Kafka peut recevoir ?

La taille maximale du message que le serveur Kafka peut recevoir est de 1000000 octets.

Questions d'entretiens chez Kafka
Questions d'entretiens chez Kafka

6) Expliquez ce qu'est Zookeeper à Kafka ? Peut-on utiliser Kafka sans Zookeeper ?

Zookeeper est un service de coordination open source hautes performances utilisé pour les applications distribuées adaptées par Kafka. Non, il n'est pas possible de contourner Zookeeper et de se connecter directement au courtier Kafka. Une fois que le Zookeeper est en panne, il ne peut pas répondre à la demande du client.

  • Zookeeper est essentiellement utilisé pour communiquer entre différents nœuds dans un cluster
  • Dans Kafka, il est utilisé pour valider l'offset, donc si le nœud échoue dans tous les cas, il peut être récupéré à partir de l'offset précédemment validé.
  • En dehors de cela, il effectue également d'autres activités telles que la détection du leader, la synchronisation distribuée, la gestion de la configuration, identifie le moment où un nouveau nœud quitte ou rejoint, le cluster, l'état du nœud en temps réel, etc.

7) Expliquez comment le message est consommé par le consommateur dans Kafka ?

Le transfert de messages dans Kafka se fait en utilisant sendfile API. Il permet le transfert d'octets du socket vers le disque via des copies d'économie d'espace du noyau et un appel entre l'utilisateur du noyau vers le noyau.


8) Expliquez comment vous pouvez améliorer le débit d'un consommateur distant ?

Si le consommateur se trouve dans un centre de données différent de celui du courtier, vous devrez peut-être ajuster la taille de la mémoire tampon du socket pour amortir la longue latence du réseau.

Questions entretien chez Apache Kafka
Questions entretien chez Apache Kafka

9) Expliquez comment vous pouvez obtenir exactement une fois les messages de Kafka pendant la production de données ?

Pendant les données, la production pour obtenir exactement une fois les messages de Kafka, vous devez suivre deux choses éviter les doublons lors de la consommation de données et éviter les doublons lors de la production des données. Voici les deux manières d'obtenir exactement une sémantique lors de la production de données :

  1. Utilisez un seul écrivain par partition, chaque fois que vous obtenez une erreur réseau, vérifiez le dernier message de cette partition pour voir si votre dernière écriture a réussi
  2. Dans le message, incluez une clé primaire (UUID ou autre) et supprimez les doublons sur le consommateur

10) Expliquez comment vous pouvez réduire le taux de désabonnement dans ISR ? Quand le courtier quitte-t-il l'ISR ?

ISR est un ensemble de répliques de messages qui sont complètement synchronisées avec les leaders, en d'autres termes ISR a tous les messages qui sont validés. ISR doit toujours inclure toutes les répliques jusqu'à ce qu'il y ait une véritable panne. Une réplique sera supprimée de l'ISR si elle s'écarte du leader.


11) Pourquoi la réplication est-elle nécessaire dans Kafka ?

La réplication du message dans Kafka garantit que tout message publié ne se perd pas et peut être consommé en cas d'erreur machine, d'erreur de programme ou de mises à niveau logicielles plus courantes.


12) Qu'est-ce que cela indique si la réplique reste longtemps hors de l'ISR ?

Si une réplique reste hors de l'ISR pendant une période prolongée, cela indique que le suiveur est incapable de récupérer les données aussi rapidement que les données accumulées sur le leader.


13) Mentionnez ce qui se passe si la réplique préférée n'est pas dans l'ISR ?

Si la réplique préférée n'est pas dans l'ISR, le contrôleur ne parviendra pas à se déplacer direction à la réplique préférée.


14) Est-il possible d'obtenir le décalage du message après la production ?

Vous ne pouvez pas faire cela à partir d'une classe qui se comporte comme un producteur comme dans la plupart des systèmes de file d'attente, son rôle est de déclencher et d'oublier les messages. Le courtier fera le reste du travail, comme la gestion appropriée des métadonnées avec les identifiants, les décalages, etc. En tant que consommateur du message, vous pouvez obtenir le décalage d'un courtier Kafka. Si vous regardez dans le SimpleConsommateur classe, vous remarquerez qu'il récupère Réponse MultiFetch objets qui incluent des décalages sous forme de liste. En plus de cela, lorsque vous itérerez le message Kafka, vous aurez MessageEtOffset objets qui incluent à la fois le décalage et le message envoyé.

Ces questions d'entretien vous aideront également dans votre soutenance

Partager

Soyez sympa! Laissez un commentaire

Votre adresse email n'apparaitra pas. Les champs obligatoires sont marqués *