Principales questions d'entretien avec MongoDB

Principales Questions D Entretien Avec Mongodb



MongoDB est un système de gestion de base de données NoSQL open-source ; non seulement il facilite le stockage des données non structurées, mais il les gère également. Chaque fois que la question se pose de savoir comment gérer des millions de lignes de données non structurées, MongoDB est recommandé.

La première version de MongoDB a été publiée en février 2007 par 10 génération Société de logiciels, plus tard en 2013, 10gen a changé le nom de la société en MongoDB Inc.

MongoDB est une base de données NoSQL utilisée pour stocker des données sous forme de documents JSON. Grâce à cette fonctionnalité, une quantité massive de données non structurées peut facilement être stockée et gérée dans MongoDB. L'ensemble de ces documents contenant les données est appelé collections. Et ces collections sont similaires aux tables utilisées dans les bases de données relationnelles pour stocker des données.







Il existe de nombreuses raisons pour lesquelles MongoDB est si populaire par rapport à d'autres bases de données relationnelles et NoSQL, dont certaines sont :



  • Les développeurs peuvent définir la structure en fonction des paires clé-valeur
  • Comme les bases de données relationnelles, les lignes et les colonnes ne sont pas nécessaires pour les données
  • La structure hiérarchique de MongoDB permet de stocker des données sous forme de tableaux et peut également stocker des données complexes
  • Il permet à ses développeurs de gérer facilement les bases de données car il prend en charge plusieurs langages de programmation
  • Il prend également en charge les fonctionnalités de gridFS et de réplication

En raison de sa popularité, il existe de nombreuses opportunités d'emploi pour les développeurs qui travaillent avec MongoDB. Cet article est lié aux questions les plus importantes et les plus fréquemment posées par de nombreuses organisations de premier plan.



Questions d'entretien MongoDB

Les questions les plus fréquemment posées sont divisées en trois niveaux : niveau de base, niveau intermédiaire et niveau expert.





Niveau de base

Ces questions sont liées aux concepts de base et à la terminologie de MongoDB, et lors d'un entretien, il est attendu que chaque candidat réponde à ces questions.

Question 1 : que savez-vous des bases de données NoSQL et de leurs types ?
Les bases de données NoSQL sont les bases de données qui ne stockent pas les données dans des tables comme le font les bases de données SQL au lieu de stocker les données sous d'autres formes telles que des documents et des formes clé-valeur.



Il existe quatre types importants de bases de données NoSQL :

  • Bases documentaires : Ces bases de données stockent des données sous la forme de documents JSON, ces documents se combinent pour former des collections, et ces collections se combinent pour former une base de données.
  • Bases de données clé-valeur : Ces bases de données stockent les données sous forme de valeurs-clés, par exemple, 'Name = John', dans cet exemple 'Name' est la clé et 'John' est la valeur.
  • Magasin à colonnes larges : Ces bases de données stockent les données sous forme de tables dynamiques, contrairement aux bases de données relationnelles, ces tables ne sont pas structurées.
  • Bases de données de graphes : Ces bases de données contiennent des arêtes et des nœuds ; les nœuds sont utilisés pour stocker des informations tandis que les arêtes sont utilisées pour montrer les relations entre les nœuds.

Question 2 : quel type de base de données NoSQL est MongoDB ?
La base de données MongoDB appartient aux bases de données documentaires, ce qui signifie qu'elle stocke les données selon les documents JSON. Il ne suit aucun schéma et permet d'y insérer n'importe quel type de données.

Question 3 : Laquelle est la meilleure parmi les bases de données MongoDB et SQL ?
MongoDB est meilleur que les bases de données SQL en ce sens qu'il peut gérer des données non structurées, tandis que les bases de données SQL ne gèrent que des données structurées et les stockent sans aucune restriction, contrairement aux bases de données relationnelles. En raison de sa fonctionnalité sans schéma, les requêtes sont traitées rapidement dans MongoDB par rapport aux bases de données SQL car les données ne sont pas placées sous forme de tables et dans un certain nombre de tables au lieu de cela, les données sont placées au même endroit donc c'est facile pour la requête d'accéder aux données, et MongoDB permet à ses données d'être mappées dans d'autres langages de programmation, ce qui permet à ses utilisateurs de travailler facilement dessus.

Question 4 : Qu'est-ce qu'un document et une collection dans MongoDB ?
Les données sont stockées dans MongoDB sous forme de documents, puis ces documents se combinent pour former une collection, et un certain nombre de collections se combinent pour former une base de données. Pour comprendre cela, considérons un exemple de base de données school_data, une base de données school_data contient des collections qui contiennent des classes_data, et de plus, ces documents (classes_data) contiennent les données des étudiants (student_data) sous forme de documents.

Question 5 : Que sont les types de données MongoDB ?
Il existe de nombreux types de données pris en charge par MongoDB :

Chaîne de caractères Le type de données String stocke les données sous forme d'alphabets/caractères et doit être de 8 octets et appartenir à UTF-8, par exemple, Jone.
Entier Il stocke des nombres jusqu'à 64 bits mais la taille peut varier selon le serveur, par exemple 1,54.
booléen Ceci est utilisé pour stocker des valeurs booléennes qui peuvent être 0 ou 1, par exemple, John est en classe ? Sa réponse soit oui ou non.
Double Cela stocke les nombres flottants comme 22,8.
Touches Min/Max Il est utilisé pour comparer les valeurs min et max.
Tableaux Ceci est utilisé pour stocker des tableaux ou plusieurs valeurs dans une clé.
Horodatage Lorsqu'un document est modifié, il peut conserver les enregistrements des modifications.
Objet Cela stocke les documents intégrés
Nul Il stocke les valeurs nulles.
Symbole C'est le type de chaîne et peut stocker les langues qui sont liées aux symboles
Date L'heure et la date actuelles peuvent être stockées dans ces types de données
ID d'objet Les documents ont des identifiants uniques, ces identifiants peuvent être stockés dans ce type de données
Données binaires Des données binaires, également appelées langage machine, y sont stockées.
Code Les codes Javascript sont stockés dans les documents à l'aide de ce type de données
Expression régulière Toute expression peut être stockée dans ce type de données

Question 6 : Quelles sont les alternatives à MongoDB ?
MongoDB est un type de base de données NoSQL, à l'aide de laquelle de grandes données distribuées sont stockées dans les documents BSON. Les alternatives de MongoDB peuvent être Amazon DynamoDB, Microsoft Azure Cosmos DB, Couchbase, PostgreSQL, Redis et Cassandra.

Niveau intermédiaire

Ces questions sont plus liées aux concepts avancés qu'aux bases et lors d'un entretien, on s'attend à ce qu'un candidat moyen réponde à ces questions.

Question 7 : Comment comparer MongoDB et SQL à un niveau élevé ?
Les bases de données SQL sont des bases de données relationnelles qui stockent des données de manière bien structurée et organisée sous forme de lignes et de colonnes qui constituent des tableaux, d'autre part, les bases de données MongoDB sont les bases de données NoSQL, qui stockent des données dans les documents, ces documents sont collectivement appelées collections, et ces collections se combinent pour former une base de données.

Question 8 : Existe-t-il des fonctionnalités telles que la gestion des transactions ACID et le verrouillage dans MongoDB ?
Non, par défaut MongoDB ne fournit aucune transaction ACID sur plusieurs documents, cependant, il peut fournir le support des transactions ACID sur un seul document.

Question 9 : Qu'est-ce que l'indexation dans MongoDB ?
Dans MongoDB, l'index est une structure de données spéciale qui occupe certains champs de la base de données et contient des données pour créer un index. L'index améliore la capacité de recherche de la base de données, au lieu de rechercher une chose particulière dans un grand nombre de documents, un utilisateur peut accéder directement au document spécifié à l'aide de l'indexation.

{
Carte d'étudiant = 1
Nom d'étudiant = 'Paul'
Pays = 'États-Unis'
}

Dans l'exemple ci-dessus, 'Student_id =1' est un index, donc si quelqu'un recherche soit par Student_id soit par 1, le document suivant sera ouvert.

Question 10 : Dans MongoDB, un index peut-il être créé sur un champ tableau ?

Oui, nous pouvons créer un index sur un champ de tableau dans MongoDB, et il indexe chaque valeur du tableau. En fait, MongoDB crée lui-même l'index multiclé et vous n'avez pas besoin de le spécifier si un champ d'index est un tableau.

Question 11 : Est-il possible d'exécuter plusieurs opérations Javascript dans une seule instance MongoDB ?
Il est possible d'exécuter plusieurs opérations Javascript dans une seule instance mongod car dans la version 2.4 de MongoDB V8, le moteur javascript est ajouté.

Question 12 : Qu'est-ce que la journalisation dans MongoDB ?
Lorsque la journalisation est activée dans MongoDB, elle crée un sous-répertoire de Journal, dans le répertoire de /données/db , qui est le chemin défini par dbPath, par défaut. Pendant l'exécution de la journalisation, MongoDB édite et stocke les données en mémoire et sur disque, avant que les modifications de données ne soient transférées sur disque. Il est très utile en cas d'erreur en raison de laquelle les modifications apportées aux données n'ont pas été enregistrées, MongoDB peut récupérer les modifications du fichier Journal et peut assurer la durabilité des fichiers.

Niveau expert

Ces questions sont liées aux concepts plus avancés de MongoDB, il est attendu qu'un candidat expert réponde à ces questions.

Question 13 : Qu'est-ce que le processus de partitionnement MongoDB ?
Dans MongoDB, le sharding est le processus de distribution des données d'une énorme base de données entre de nombreux serveurs MongoDB. Il est donc facile de gérer les données et peut également répondre aux requêtes à grande vitesse. MongoDB prend en charge la mise à l'échelle horizontale via le sharding.

Le cluster MongoDB se compose de trois parties qui sont fragments ; il est également connu sous le nom de réplique et est disponible sur chaque serveur, mangues ; ils agissent comme interprète entre le serveur et le fragment, et serveurs de configuration ; ils stockent les paramètres de configuration du cluster et les métadonnées.

Question 14 : Qu'est-ce que le scale-out et comment se produit-il dans MongoDB ?
Lorsqu'il y a beaucoup de données sur un seul nœud, les multiples nœuds se rapprochent du nœud chargé, pour répartir sa charge. Ce processus de partage d'une charge d'un nœud unique vers différents nœuds est appelé scale-out et est également connu sous le nom de mise à l'échelle horizontale.

Question 15 : Comment pouvons-nous obtenir des informations sur les plans de requête en utilisant le langage de requête MongoDB ?
La Explique() La commande est utilisée et elle prend en charge les modes qui sont 'allPlansExecution, executionStats et queryPlanner'. Par exemple:

db . Restaurants . Explique ( 'Statistiques d'exécution' ) . trouver (
{ 'cuisine' : 1 , 'arrondissement' : 'Brooklyn' }
) ;

Dans l'exemple ci-dessus, les données du restaurant sont récupérées à partir de la commande EXPLAIN().

Question 16 : Expliquez le cadre d'agrégation MongoDB.
Dans MongoDB, la récupération des données de différentes collections et, après le calcul, renvoie un résultat combiné appelé Agrégation. Il comporte trois étapes, d'abord, il prendra l'entrée et filtrera les documents dont nous avons besoin à partir des documents à l'aide de $match(), puis nous effectuerons le travail d'agrégation sur les informations filtrées à l'aide de $group(), et enfin, nous trierons nos résultats en utilisant $sort().

Question 17 : Est-il possible de verrouiller plusieurs bases de données à l'aide de l'opération MongoDB ?
Oui, MongoDB peut verrouiller plus d'une base de données, pour verrouiller plusieurs bases de données instantanément, nous utilisons l'opération MongoDB db.copyDatabase() , tandis que l'opération, db.repairDatabase() appliquez un verrou global sur l'édition de la base de données et restreignez également d'autres opérations à implémenter jusqu'à ce qu'elle soit supprimée.

Question 18 : Qu'est-ce que GridFS dans MongoDB ?
Les fichiers volumineux qui dépassent les 16 Mo comme les images, les fichiers vidéo et les fichiers audio sont gérés dans MongoDB en utilisant GridFS et stockés dans des parties et des morceaux du fichier au lieu d'un seul document, par défaut MongoDB ne prend en charge que deux formats qui sont fs. files et fs.chunks pour stocker des morceaux et des métadonnées de fichiers.

Question 19 : Comment pouvez-vous décrire les phénomènes de réplication dans MongoDB ?
La réplication est le processus de synchronisation des données entre de nombreux serveurs, tandis que MongoDB copie les données et les réplique sur différents serveurs. Ainsi, en cas de panne du serveur, les données peuvent être récupérées à partir de n'importe quel autre serveur, ce qui garantit la sécurité des données.

Question 20 : Qu'est-ce que Mongo Shell ?
Un shell mongo est une plate-forme JavaScript, à travers laquelle nous pouvons interagir avec MongoDB et pouvons également apporter des modifications aux données à l'aide des requêtes. Il est également utilisé à des fins administratives telles que la maintenance des instances de base de données. Par défaut, mongo shell est inclus dans le fichier d'installation mais s'il n'est pas installé, vous pouvez l'installer à partir du serveur MongoDB.

Conclusion

MongoDB est une base de données NoSQL populaire, qui est utilisée pour gérer des données sous forme de documents et qui est très facile à gérer car elle est sans schéma. Il est utilisé par de nombreuses entreprises bien connues comme Twitter et Facebook. En raison de sa popularité, il existe de nombreuses opportunités d'emploi pour les développeurs qui travaillent dans l'interface MongoDB. Dans cet article, les questions d'entretien MongoDB les plus fréquemment posées ont été partagées avec leurs réponses appropriées.