Top 65 des questions et réponses des entretiens avec Apache Kafka

30 octobre 2021

Apache Kafka est devenu un choix populaire parmi les professionnels à la recherche d'opportunités d'emploi dans le traitement des données.

Cet article a rassemblé les questions et réponses d'entretien Apache Kafka les plus célèbres pour les débutants et les expérimentés pour vous aider à répondre aux questions d'entretien Apache Kafka.

Table des matières



Q.1 Qu'est-ce qu'Apache Kafka ?

Kafka est une application de courtage de messages open source développée par le logiciel Apache. Il est écrit en Scala et est un système de messagerie de publication-abonnement distribué. Kafka communique entre le client et le serveur à l'aide d'un protocole TCP hautes performances, simple et indépendant du langage.

Q. 2 Enrôlez les différents composants de Kafka.

Kafka a quatre composants principaux :

un. Sujet - flux de messages ou collection de même type

deux. Producteur – qui publient des messages

3. Courtiers – le serveur Kafka où sont stockés les messages publiés

Quatre. Consommateurs – qui s'abonnent à des sujets et extraient des données de courtiers.

Q. 3 Qu'est-ce qu'une compensation ?

Un nombre entier simple attribué pour préserver la position actuelle du consommateur est un décalage. Le dernier record envoyé à un consommateur par Kafka dans le dernier sondage est le décalage actuel.

Voir également Top 100 des questions et réponses d'entrevue JavaScript

Q. 4 Dans quelle langue le logiciel Kafka Apache est-il écrit ?

Kafka est écrit dans deux langages de programmation - Scala et Java.

Q. 5 Expliquez le rôle du décalage.

Le décalage est défini comme le numéro d'identification séquentiel attribué aux messages qui aide à leur identification unique dans la partition.

Q. 6 Qu'est-ce qu'un groupe de consommateurs ?

Un groupe de consommateurs Kafka est un groupe de consommateurs spécifique de consommateurs Kafka qui se sont abonnés aux mêmes sujets. Ce concept est exclusif à Apache Kafka.

Q. 7 Est-il possible d'utiliser Kafka sans Zookeeper ?

Non. Nous ne pouvons pas contourner Zookeeper pour nous connecter directement à Apache Kafka.

Q. 8 Que fait le serveur Zookeeper dans Kafka ?

Le serveur zookeeper est responsable de la mise en place d'une coordination entre plusieurs nœuds à l'intérieur d'un cluster et de la récupération du décalage précédemment engagé en cas de défaillance d'un nœud.

Q. 9 Que savez-vous de la partition à Kafka ?

Le courtier Kafka a quelques partitions, chacune pouvant être une réplique ou un leader d'un sujet.

Q. 10 Quelle est la différence entre la partition et la réplique d'un sujet dans le cluster Kafka ?

Une partition est un élément unique du sujet de Kafka qui aide au parallélisme lorsque nous lisons des problèmes. Ils déterminent le nombre de consommateurs composant le groupe de consommateurs Kafka, la production de données et le taux de consommation.

Une réplique est une copie de la partition sur laquelle il est impossible d'écrire ou de lire. Ils créent une redondance des données, ce qui signifie que, pour n répliques d'un sujet, n-1 courtiers peuvent échouer avant toute perte de données.

Principales questions et réponses des entretiens avec Apache Kafka

Q. 11 Pourquoi la technologie Kafka est-elle importante à utiliser ?

Les avantages de Kafka sont :

  • Haut débit pour qu'il n'y ait pas besoin de matériel volumineux,
  • Évolutivité qui réduit les temps d'arrêt en permettant l'ajout à la volée de nœuds,
  • Durabilité en prenant en charge la réplication des messages,
  • Tolérance aux pannes car les nœuds Kafka sont résistants aux pannes à l'intérieur d'un cluster, et
  • Faible latence pour gérer les messages avec des millisecondes de latence.

Q. 12 Qu'est-ce qu'une partition d'un sujet dans Kafka Cluster ?

Un seul élément de sujet Kafka est une partition, et le nombre de partitions est configuré en fonction de chaque sujet.

Q. 13 Qu'est-ce qu'un sujet dans Kafka ?

Un nom de flux ou une catégorie pour publier des enregistrements est appelé un sujet, et chaque sujet est conservé dans des journaux partitionnés de Kafka. Les sujets peuvent avoir zéro, un ou plusieurs abonnés en fonction des consommateurs.

Q. 14 Quelles sont les principales API de Kafka ?

Kafka a quatre API principales : l'API Kafka Producer, l'API Connector, l'API Streams et l'API Consumer.

Q. 15 Que sont les consommateurs ou utilisateurs ?

Tout abonné d'un sujet Kafka est un consommateur qui peut lire et traiter des messages. Un enregistrement sera publié et remis au groupe de consommateurs spécifique qui y a souscrit pour toutes les instances de consommateurs.

Q. 16 Expliquez le concept de leader et de suiveur.

Le concept de leader et de suiveur est assez simple. Le serveur central Kafka agit en tant que leader et les autres serveurs sont les suiveurs.

Q. 17 Qu'est-ce qui assure l'équilibrage de charge du serveur dans Kafka ?

Dans le cas où un leader ne parvient pas à effectuer des demandes de données de lecture et d'écriture, l'un des suiveurs prend le relais et effectue l'équilibrage de charge des serveurs.

Q. 18 Énumérez quelques cas d'utilisation d'Apache Kafka ?

Apache Kafka a les cas d'utilisation suivants :

  • Suivi et journalisation
  • Flux d'événements
  • File d'attente de messages

Q.19 Quels rôles jouent les répliques et l'ISR ?

Les répliques sont une liste de nœuds qui répliquent le journal pour une partition particulière, qu'ils soient ou non un leader. Dans le même temps, les répliques ISR ou In-Sync sont un ensemble de répliques de messages synchronisées avec les leaders.

Q. 20 Pourquoi les réplications sont-elles critiques dans Kafka ?

La réplication garantit que les messages publiés ne sont pas perdus et peuvent être utilisés en cas de panne, de mises à jour logicielles fréquentes, d'erreur de programme ou d'erreur de machine.

Principales questions et réponses des entretiens avec Apache Kafka

Q. 21 Si une réplique reste longtemps hors des ISR, qu'est-ce que cela signifie ?

Cela signifie que le leader a accumulé des données plus rapidement que le débit de récupération de données du suiveur.

Q. 22 Quel est le processus de démarrage d'un serveur Kafka ?

Nous devons d'abord démarrer Zookeeper à partir de bin/zookeeper-server-start.sh config/zookeeper.properties.

Démarrage du serveur Kafka à partir de bin/Kafka-server-start.sh config/server.properties.

Q. 23 Expliquez ce qu'est une clé de partitionnement ?

La clé de partitionnement est utilisée pour valider la partition de message et la diriger vers la destination en accédant à l'ID de partition à l'aide d'un partitionneur basé sur le hachage.

Q. 24 Dans l'API Producer, quand se produit QueueFullException ?

Lorsque les courtiers de messages ne peuvent pas gérer le débordement de messages du producteur, alors QueFullException se produit. Pour s'assurer que l'exception ne se produise pas, il faut utiliser plusieurs courtiers car les producteurs n'ont aucune limitation.

Q. 25 Expliquez le rôle de l'API Kafka Producer.

Il est utilisé pour exécuter la fonctionnalité de producteur à l'aide d'un appel d'API à la demande du client en combinant les efforts de Kafka.producer.async.Async Producer et Kafka.producer.SyncProducer.

Voir également Top 100 des questions et réponses d'entrevue Ansible

Q. 26 Quelle est la principale différence entre Kafka et Flume ?

Même si les deux sont des logiciels de traitement en temps réel, la principale différence entre Kafka et Flume est que Kafka est plus évolutif et durable en matière de messagerie.

Q. 27 Apache Kafka est-il une plateforme de streaming distribuée ? Si oui, que pouvez-vous en faire ?

Kafka est une plate-forme de streaming distribuée qui nous permet de stocker de nombreux enregistrements sans problème de stockage, de pousser rapidement les enregistrements et de traiter les enregistrements en temps réel.

Q. 28 Que pouvez-vous faire avec Kafka ?

En utilisant Kafka, nous pouvons effectuer la transmission de données entre deux systèmes à l'aide d'un flux en temps réel de pipelines de données et créer une plate-forme de streaming en temps réel.

Q. 29 Expliquez l'architecture de Kafka ?

Kafka est un système distribué contenant plusieurs courtiers et sujets, chacun contenant plusieurs partitions. Grâce à cela, les producteurs et les consommateurs peuvent échanger des messages en même temps et permettre une exécution transparente.

Q. 30 A quoi sert la période de rétention dans le cluster Kafka ?

Les clusters Kafka vendent tous les enregistrements publiés, qu'ils aient été consommés ou non. La période de rétention dans le paramètre de gestion de la configuration est utilisée pour supprimer ces messages afin de libérer de l'espace dans le cluster.

Principales questions et réponses des entretiens avec Apache Kafka

Q. 31 Quels sont les principaux composants où les données sont traitées de manière transparente dans Kafka ?

Les données Kafka sont traitées de manière transparente dans les producteurs et les consommateurs.

Q. 32 Expliquez comment vous pouvez obtenir des messages uniques de Kafka pendant la production de données ?

En évitant les doublons lors de la consommation et de la production de données, vous pouvez obtenir une messagerie unique de Kafka. En production de données, si vous disposez d'un seul écrivain par partition et incluez une clé primaire dans le message, vous pouvez garantir précisément une sémantique.

Q. 33 Qu'est-ce qu'un message Kafka ?

Les tableaux d'octets utilisés par les développeurs pour stocker des objets aux formats Avro, String ou JSON sont appelés messages Kafka.

Q.34 Expliquez la taille maximale d'un message que Kafka peut recevoir ?

Kafka peut recevoir une taille maximale de 1 000 000 octets de messages.

Q. 35 Quels sont les types de méthode traditionnelle de transfert de messages ?

La technique de messagerie traditionnelle est de deux types :

File d'attente : Dans cette méthode, un pool d'un ou plusieurs consommateurs lit un message du serveur, chacun d'eux étant envoyé à l'un d'eux.

Publier-s'abonner : Les messages sont diffusés à tous les consommateurs.

Q. 36 Que signifie ISR dans l'environnement de Kafka ?

Les réplicas In Sync ou ISR sont un ensemble de réplicas de message qui sont synchronisés pour devenir des leaders.

Q. 37 Apache Kafka est-il une plate-forme de traitement de flux open source.

Oui, Kafka by Apache est une plateforme de traitement de flux open source.

Q. 38 Qu'est-ce que la géo-réplication dans Kafka ?

Kafka utilise MirrorMaker pour créer des répliques de messages dans plusieurs centres de données et régions cloud à utiliser comme sauvegardes actives/passives, prendre en charge les exigences de localité des données et rapprocher les données des utilisateurs.

Q. 39 Qu'est-ce que le courtier de messages ?

C'est un serveur qui stocke les messages de l'éditeur.

Q. 40 Points forts du système Kafka ?

Kafka fournit :

  • Haute performance
  • Faible latence
  • Stockage évolutif

Principales questions et réponses des entretiens avec Apache Kafka

Q. 41 Expliquez la multilocation ?

La multilocation est une solution Kafka qui peut configurer des rubriques pour produire et consommer des données et fournir une prise en charge des quotas.

Q. 42 Quel est le rôle de l'API consommateur ?

Les API grand public permettent aux applications de s'abonner à un ou plusieurs sujets et de traiter le flux d'enregistrements produits.

Q. 43 Que signifie serDes dans Apache kafka ?

SerDes ou sérialiseur désérialiseur est fourni pour les enregistrements de chaque flux Kafka et matérialise les données pour les valeurs enregistrées chaque fois que nécessaire.

Q. 44 Expliquez le rôle de l'API Streams ?

L'API Streams permet aux applications d'agir en tant que processeur de flux et de consommer les flux d'entrée d'un ou plusieurs sujets pour produire un flux de sortie.

Q. 45 Quel est le rôle de l'API du connecteur ?

L'API de connecteur aide à créer des producteurs et des consommateurs réutilisables et les exécute pour se connecter aux rubriques Kafka avec des systèmes de données ou des applications existants.

Q. 46 Expliquez Producteur ?

Les producteurs publient des données dans les rubriques de leur choix et sélectionnent les enregistrements dans les rubriques à affecter aux partitions.

Q. 47 Comment envoyer des messages volumineux avec Kafka (plus de 15 Mo) ?

Pour envoyer des messages volumineux, c'est-à-dire plus de 15 Mo, trois ou quatre propriétés doivent être ajustées :

    Côté courtier– message.max.bytes et replica.fetch.max.bytesCôté courtier par sujet– max.message.bytes.Côté consommateur– récupérer.message.max.octets

Q. 48 Comparez : RabbitMQ vs Apache Kafka

RabbitMQ est le logiciel alternatif de Kafka qui offre un taux de performance de 20 000 messages/seconde. Cependant, contrairement à RabbitMQ, Kafka est plus durable, hautement disponible et distribué, permettant le partage et la réplication des données. De plus, Kafka a un taux de performance de 100 000 messages/seconde.

Q. 49 Comparez : les systèmes de mise en file d'attente traditionnels et Apache Kafka

Les systèmes de file d'attente traditionnels suppriment les messages de la fin de la file d'attente une fois le traitement terminé. Ils ne permettent pas le traitement logique basé sur des messages ou des événements similaires.

Voir également Top 100 des questions et réponses d'entrevue JavaScript

D'autre part, Apache Kafka ne supprime pas les messages une fois que le consommateur les reçoit et permet aux messages de persister. Il permet de traiter la logique en fonction d'événements ou de messages similaires.

Q. 50 Pourquoi devrions-nous utiliser Apache Kafka Cluster ?

Apache Kafka présente les avantages suivants :

  • Il peut surmonter les défis de la collecte et de l'analyse de gros volumes de données.
  • Il peut générer des alertes et rapporter des métriques opérationnelles.
  • Il permet un traitement continu des données en continu pour les sujets.
  • Il peut convertir les données au format standard.
  • Il suit les activités Web en stockant ou en envoyant des événements pour des processus en temps réel.

Principales questions et réponses des entretiens avec Apache Kafka

Q. 51 Qu'est-ce que le cluster Kafka ?

Tous les enregistrements publiés, qu'ils soient consommés ou non, sont utiles dans un cluster utilisant une période de rétention configurable.

Q. 52 Expliquez le terme Log Anatomy.

Questions d'entretien avec Apache Kafka

Les journaux sont des partitions dans lesquelles la source de données écrit des messages. A tout moment, un ou plusieurs consommateurs peuvent lire les journaux.

Le schéma ci-dessus montre qu'un journal est écrit par une source de données et lu par les consommateurs à différents décalages.

Q. 53 Quelles sont les alternatives à Apache Kafka ?

Kafka est la meilleure et largement utilisée de toutes ses alternatives telles que RabbitMQ, Active MQ, ZeroMQ, etc.

Q. 54 Expliquez comment régler Kafka pour des performances optimales.

Kafka peut être réglé en réglant ses différents composants tels que :

  • Réglage des consommateurs Kafka
  • Réglage des courtiers Kafka
  • Accorder les producteurs de Kafka

Q. 55 État Inconvénients d'Apache Kafka.

Certains des inconvénients d'Apache Kafka sont :

  • Problèmes d'ajustement des messages
  • Manque de rythme
  • Pas d'ensemble complet d'outils de surveillance
  • Pas de prise en charge de la sélection de sujets génériques

Q. 56 Quels sont les avantages de la technologie Kafka ?

Certains des avantages de Kafka sont :

  • Kafka est rapide et comprend des courtiers, chacun pouvant gérer des mégaoctets de données.
  • C'est robuste
  • Il a une conception distribuée
  • Il est évolutif et durable
  • Avoir un grand ensemble de données peut aider à mieux analyser.

Q. 57 Enrôler toutes les opérations Apache Kafka.

Apache Kafka effectue les opérations suivantes :

  • Sortie distinguée
  • Retrait des serveurs et des centres de données
  • Mise en miroir des données entre les clusters
  • Ajout et suppression de sujets Kafka
  • Trouver la position du consommateur
  • Migration automatique des données

Q. 58 Expliquer les cas d'utilisation d'Apache Kafka ?

Questions d'entretien avec Apache Kafka

À partir du cas d'utilisation ci-dessus, nous pouvons voir que Kafka a principalement trois cas d'utilisation :

Métriques Kafka : Il permet l'utilisation de Kafka pour la surveillance des données opérationnelles et pour produire des flux centralisés à l'aide des données opérationnelles.

Agrégation de journaux Kafka : Il rassemble les journaux de plusieurs systèmes et services au sein d'une organisation.

Traitement de flux : Kafka est durable et est donc utile dans le traitement des flux.

Q. 59 Certaines des applications les plus notables de Kafka.

Netflix, Oracle et Mozilla sont quelques-unes des applications les plus remarquables de Kafka.

Principales questions et réponses des entretiens avec Apache Kafka

Q. 60 Caractéristiques de Kafka Stream.

Kafka a les fonctionnalités suivantes :

  • Les flux sont tolérants aux pannes et hautement évolutifs et sont également viables pour les cas d'utilisation petits, moyens et grands.
  • Vous pouvez écrire des applications Java standard.
  • Kafka peut être déployé sur le cloud, les machines virtuelles, les conteneurs et le bare metal.
  • Il n'a qu'une seule sémantique de traitement.
  • Il est entièrement intégré à la sécurité Kafka.

Q. 61 Quelle est l'importance de Java dans Apache Kafka ?

Le langage Java est utilisé dans Kafka pour fournir des taux de traitement élevés et un bon support communautaire.

Q. 62 Citez une des meilleures caractéristiques de Kafka.

Avoir une variété de cas d'utilisation est la meilleure caractéristique de Kafka. Kafka gère une variété de cas d'utilisation courants pour un lac de données.

Q. 63 Expliquez le terme facteur de réplication de sujet.

Les réplications de sujets sont un aspect essentiel qui doit être pris en compte lors de la conception d'un système Kafka. Ainsi, si pour une raison quelconque un courtier tombe en panne, d'autres répliques peuvent le remplacer.

Q. 64 Expliquez quelques cas d'utilisation en temps réel de Kafka Streams.

Certains des cas d'utilisation en temps réel sont :

LIGNE: L'application LINE utilise un hub de données central pour la maintenance.

Le New York Times: Kafka est habitué à stocker et distribuer des données en temps réel.

Téléchargements : Il utilise un Enterprise Service Bus (ESB) pour maintenir les détaillants de mode en ligne.

Q. 65 Que sont les garanties fournies par Kafka ?

Certaines des garanties de Kafka sont :

  • Le consommateur peut voir les enregistrements dans le même ordre que les enregistrements stockés dans le journal.
  • Kafka peut tolérer jusqu'à N-1 pannes de serveur sans perdre aucun enregistrement engagé dans le journal.
  • L'ordre des messages envoyés par un producteur FEU sera le même pour une partition de sujet particulière.

Conclusion

Nous espérons que notre article sur Apache Kafka les questions d'entretien peuvent vous aider à réussir vos entretiens avec Kafka.

Vous pouvez également regarder le tutoriel Kafka pour mieux comprendre le logiciel Kafka développé par la fondation logicielle Apache.