Si vous avez été présélectionné avec succès en tant que personne interviewée pour le sujet ci-dessus, nous vous recommandons de consulter certaines des questions fréquemment posées fournies dans ce guide d'article. Les questions d'entretien MongoDB sont spécialement conçues pour aider nos lecteurs à se familiariser avec la nature et la forme des questions qu'ils pourraient rencontrer lors d'un entretien MongoDB.
Cependant, un point important à noter est que les bons enquêteurs posent rarement des questions particulières lors d'un entretien. Au lieu de cela, ils ont parfois tendance à rester professionnels et imprévisibles.
Remarque : Ayez toujours une notion de base du sujet avant un entretien. Cela vous aidera à répondre à la plupart des questions posées par l'intervieweur ou le comité d'interview.
Ce guide d'article montrera certaines des questions fréquemment posées dans une interview MongoDB. Par conséquent, restez à l'écoute pour en savoir plus.
Questions courantes d'entretien avec MongoDB
Vous trouverez ci-dessous quelques-unes des questions d'entretien MongoDB les plus posées :
1. Qu'est-ce que MongoDB ?
Il s'agit d'une base de données orientée documents qui offre une haute disponibilité, des performances élevées et une évolutivité facile. MongoDB est une base de données NoSQL.
2. Qu'est-ce qu'une base de données NoSQL ?
Une base de données NoSQL permet de fournir un moyen de récupérer et de stocker des données modélisées par tous les autres moyens autres que l'utilisation de relations tabulaires (celles utilisées dans les bases de données relationnelles). Les différents types de bases de données NoSQL sont :
- Valeur-clé
- Orienté colonne
- Orienté document
- Graphique
3. Quel type de base de données NoSQL est MongoDB ?
MongoDB stocke les données sous forme de documents BSON puisqu'il s'agit d'une base de données orientée documents. Ces documents BSON sont stockés dans une collection.
4. Expliquez le sharding et ce que cela signifie dans MongoDB ?
Le sharding est une technique utilisée dans MongoDB pour stocker des données sur plusieurs machines. MongoDB utilise le sharding pour prendre en charge le déploiement de grands ensembles de données et les opérations à haut débit. Le sharding est une approche MongoDB pour répondre aux normes et aux exigences d'une croissance rapide des données. Les partitions de données horizontales dans une base de données ou un moteur de recherche sont appelées partition de base de données ou partition.
5. Nommez quelques-unes des fonctionnalités clés de MongoDB
- Langage de requête expressif
- Base de données évolutive hautement agile
- Modèles de données flexibles sous forme de documents
- Beaucoup plus rapide que les autres bases de données traditionnelles.
6. Comparez CouchDB et MongoDB à des niveaux supérieurs
Bien que CouchDB et MongoDB soient des bases de données orientées documentées, MongoDB se démarque toujours comme un meilleur choix pour les applications majeures nécessitant du dynamisme dans leurs requêtes et de grandes performances. Cependant, cela ne signifie pas que CouchDB n'est pas efficace car il est également utilisé pour les applications qui changent occasionnellement et utilisent des requêtes prédéfinies.
7. Comment ajouter des données dans MongoDB ?
La déclaration de syntaxe "inserts" est utilisée pour ajouter des données à MongoDB. Par exemple, pour insérer un seul document, utilisez la syntaxe de collection ci-dessous :
insertOne
> db.fosslinux.insertOne({"title" :"Pourquoi j'aime Foss"})
Pour insérer plusieurs documents dans une collection, utilisez la syntaxe ci-dessous :
insertmany
Cette méthode permettra de passer des tableaux sur les documents de la base de données.
8. Comment supprimer un document dans MongoDB ?
L'API CRUD est utilisée dans MongoDB à des fins de suppression car elle fournit les éléments suivants :
deleteOne
deleteMany
Syntaxe pouvant être utilisée pour supprimer respectivement un seul et plusieurs fichiers. Les syntaxes fournies permettent de filtrer les documents en tant que premiers paramètres. Les filtres sont essentiels car ils spécifient les critères à mettre en correspondance avec les documents à supprimer.
Exemple :
> db.fosslinux.deleteOne({"_id" : 4})
9. Comment interroger des données dans MongoDB
Interroger des données dans une table permet de renvoyer un sous-ensemble de documents à l'intérieur d'une collection (de aucun document à tous les documents présents dans la collection). Le "trouver ” est utilisée pour effectuer n'importe quelle requête dans MongoDB. Le premier argument fourni après l'instruction find déterminera les documents calculés ou renvoyés.
Exemple :
> db.users.find({"age" : 24})
10. Expliquer ce qu'est un jeu de répliques dans MongoDB
Un jeu de répliques peut être appelé une instance de groupe mongo qui héberge des jeux de données similaires. Dans un jeu de répliques, un nœud est principal et l'autre secondaire. Toutes les données sont répliquées du nœud primaire vers le nœud secondaire.
11. Comment fonctionne la réplication dans MongoDB ?
La réplication est le processus qui implique la synchronisation des données sur différents serveurs. La réplication est essentielle car elle permet de réduire la redondance tout en augmentant la disponibilité des données. La réplication est essentielle car elle permet d'éviter que les bases de données ne perdent des serveurs uniques en raison de la disponibilité de plusieurs copies dans différents serveurs de base de données. De plus, la réplication permet aux utilisateurs de récupérer des interruptions de service et des pannes matérielles.
12. Mettre en évidence les rôles de profileur dans MongoDB
Un profileur de base de données dans MongoDB montre les performances caractéristiques de chaque opération effectuée sur la base de données. Pour trouver les requêtes des profileurs qui sont plus lentes que prévu, vous pouvez utiliser le profileur.
13. Expliquez brièvement comment déplacer d'anciens fichiers vers le répertoire moveChunk dans MongoDB ?
Oui, les anciens fichiers peuvent être déplacés dans le répertoire moveChunk. Cela peut être fait pendant une opération de partition normale. Les fichiers créés en tant que sauvegardes peuvent être supprimés lorsque les opérations sont terminées. Le déplacement d'anciens fichiers vers le répertoire moveChunk permet de créer et d'économiser de l'espace.
14. Quelle fonctionnalité est utilisée dans MongoDB pour créer des sauvegardes sécurisées ?
Dans MongoDB, la journalisation est utilisée lors de la création de sauvegardes sécurisées.
15. Que sont les index dans MongoDB ?
Les index dans MongoDB prennent en charge l'exécution de requêtes. Si les index ne sont pas présents dans MongoDB, une analyse de collection doit être effectuée pour analyser tous les documents d'une collection et sélectionner tous les documents contenant une instruction de requête correspondante.
16. Nommer les alternatives MongoDB
Voici quelques-unes des alternatives MongoDB :
- CouchDB
- Cassandre
- Redis
- Hbase
- Riak
17. MongoDB nécessite-t-il beaucoup de mémoire vive (RAM) ?
Non, c'est ce qui est amusant avec MongoDB. Vous n'avez pas besoin de beaucoup de RAM pour fonctionner car il désalloue et alloue dynamiquement de la RAM en fonction des autres exigences du processus.
18. Par défaut, combien d'index sont créés par MongoDB pour une nouvelle collection ?
MongoDB crée la collection _id par défaut pour toutes les nouvelles collections.
19. Expliquez l'importance d'une requête couverte dans MongoDB.
À l'aide de la requête couverte, MongoDB peut faire correspondre les conditions de la requête et renvoyer les résultats du champ en utilisant le même index puisque tous les champs ont déjà été couverts dans l'index lui-même. Cela peut être fait sans avoir à regarder à l'intérieur des documents utilisés. De plus, les requêtes couvertes sont exécutées plus rapidement puisque les index sont parfois stockés dans la RAM.
20. Qu'est-ce qu'une requête couverte ?
Une requête couverte est une requête qui :
- Les champs calculés dans les résultats sont similaires à l'index
- Les champs utilisés dans la section requête font partie des index utilisés dans la requête
21. Qu'est-ce que l'agrégation dans MongoDB ?
Les opérations d'agrégation facilitent le traitement des enregistrements de données et renvoient les résultats calculés. Les opérations d'agrégation permettent de regrouper les valeurs de différents documents, d'effectuer diverses opérations sur les données groupées et de renvoyer un résultat unique. MongoDB propose trois méthodes alternatives pour effectuer l'agrégation :
- Utilisation de la fonction de réduction de carte
- Utiliser le pipeline d'agrégation
- Utilisation de commandes et de méthodes d'agrégation à usage unique.
22. Expliquez ce qu'est la réplication et comment elle fonctionne dans MongoDB ?
La réplication dans MongoDB est le processus de synchronisation des données entre les serveurs. La réplication augmente la disponibilité des données tout en assurant la redondance. Les aides aux réplications empêchent une base de données de perdre un seul serveur puisque plusieurs copies de données se trouvent sur différents serveurs de base de données. En cas d'interruptions de service et de matériel, la réplication des pannes vous aidera à récupérer.
23. Jeux de réplicas primaires et secondaires dans MongoDB
Dans MongoDB, la réplication est appelée « maître unique », ce qui signifie qu'un seul nœud a la capacité d'accepter des opérations d'écriture à la fois. Les nœuds principal et maître acceptent les écritures. Tous les nœuds secondaires (esclaves) sont répliqués à partir des nœuds primaires (en lecture seule. Ils peuvent seulement être prêts mais ne peuvent pas être écrits).
24. Expliquer pourquoi les fichiers de données dans MongoDB sont volumineux
En raison de son mécanisme de pré-allocation des fichiers de données pour éviter la fragmentation du système de fichiers et réserver de l'espace, MongoDB a tendance à avoir des fichiers de données très volumineux.
25. Expliquez ce qu'est un moteur de stockage dans MongoDB ?
Un moteur de stockage est une partie de la base de données chargée de gérer la manière dont les données sont stockées sur le disque. Par exemple, un moteur de stockage peut prendre en charge un débit plus élevé pour des opérations d'écriture polyvalentes tandis qu'un autre moteur de stockage offre de meilleures performances, garantissant l'efficacité tout en gérant de lourdes charges de travail
26. Expliquer le fonctionnement de la journalisation dans MongoDB
MongoDB stocke et applique les opérations d'écriture dans le journal et la mémoire sur disque avant d'émuler les modifications apportées aux fichiers de données lors de l'exécution avec la journalisation. Les écritures de journal sont atomiques, ce qui signifie qu'elles garantissent la cohérence de tous les fichiers journalisés sur disque. MongoDB peut créer un sous-répertoire de journal dans le répertoire défini par dbpath chaque fois que la journalisation est activée.
27. Nommez les deux moteurs de stockage utilisés par MongoDB
Les deux moteurs de stockage utilisés par MongoDB sont :
- WiredTiger
- MMAPv1
28. Expliquer comment le verrouillage et la transaction sont réalisés dans MongoDB
Pour réaliser les concepts de verrouillage et de transaction dans MongoDB, vous pouvez utiliser l'imbrication de documents, également appelés documents intégrés. De plus, MongoDB prend en charge les opérations atomiques lorsque vous travaillez dans un seul document.
29. Qu'est-ce que GridFS dans MongoDB ?
Un GridFS est une spécification pour la récupération et le stockage de fichiers qui dépassent la taille maximale recommandée par BSON de 16 Mo. GridFS divise les fichiers qui dépassent la limite normalement recommandée en deux parties ou blocs et les stocke en tant que fichiers séparés chaque fois qu'ils dépassent la limite de stockage.
30. Expliquez comment la simultanéité affecte les jeux de réplicas principaux ?
MongoDB écrit toujours dans l'oplog principal lors de l'écriture dans une collection sur le primaire pendant la réplication. L'oplog principal est une collection spéciale trouvée dans la base de données locale. Par conséquent, MongoDB doit verrouiller à la fois les bases de données locales et de collections dans de tels cas.
31. Expliquer la signification d'un Namespace par rapport à MongoDB
Un espace de noms, en bref, est connu comme la concaténation du nom de la collection et de la base de données. par exemple, foss.linux avec foss étant la base de données et linux étant la collection.
32. Expliquer la structure ObjectID dans MongoDB ?
Un ObjectID est un type de document BSON de 12 octets contenant :
- Compteur 3 octets
- ID de processus sur 2 octets
- Valeur de 4 octets présentant les secondes
- Identifiant de machine à 3 octets
33. Expliquez comment MongoDB est jugé meilleur que les autres bases de données SQL.
MongoDB est connu pour permettre des structures de documents hautement évolutives et flexibles. Par exemple, un seul document de données peut contenir cinq colonnes et d'autres documents de la même collection peuvent contenir dix colonnes. Les bases de données MongoDB sont beaucoup plus rapides que les bases de données SQL car elles disposent de techniques de stockage et d'indexation efficaces.
34. Citez toutes les langues pouvant être utilisées avec MongoDB ?
Lors de la rédaction de ces questions d'entretien, MongoDB prend en charge les langages officiels suivants :C, C#, Java, C++, Python, PHP, Ruby, Scala, Erlang, Go et Perl. Tous les langages mentionnés peuvent être utilisés avec MongoDB. Cependant, cela n'empêche pas le fait que d'autres langages puissent être introduits à l'avenir pour prendre en charge MongoDB.
35. MongoDB prend-il en charge les contraintes de clé étrangère ?
MongoDB ne prend pas en charge les contraintes de clé étrangère et les relations associées
36. Mettez en surbrillance les points à prendre en compte lors de la création d'un schéma dans MongoDB
Les points fournis ici doivent être pris en considération :
- Vous devriez faire des jointures en écriture, pas en mode lecture
- Si vous utilisez des documents ensemble, il est conseillé de les séparer ; cependant, combinez les objets dans un seul document
- Optimisez votre schéma pour les cas d'utilisation fréquents
- Assurez-vous toujours que le schéma est conçu conformément à vos exigences
- Les agrégations complexes doivent être effectuées dans le schéma
37. Fournir les syntaxes utilisées pour créer et déposer une collection dans MongoDB
La syntaxe utilisée pour créer une collection est :db.createCollection(name,options)
La syntaxe utilisée pour supprimer une collection est :db.collection.drop()
38. De quoi est composé l'ObjectID dans MongoDB ?
ObjectID est composé des composants suivants :
- ID de l'ordinateur client
- Horodatage
- ID de processus client
- Compteur incrémenté de 3 octets
39. Nommez les types de données utilisés dans MongoDB
MongoDB propose une large gamme de types de données en tant que valeurs dans les documents. Les documents MongoDB sont similaires aux objets en JavaScript. Outre la nature essentielle de la paire de valeurs JSON, MongoDB prend également en charge divers types de données supplémentaires. Les principaux types de données dans MongoDB sont :
- Booléen
{"x" : true}
- Numéro
{"x" : 4}
- Nul
{"x" : null}
- Chaîne
{"x" : "foobar"}
- Date
{"x" : new Date()}
- Tableau
{"x" : ["a", "b", "c"]}
- Expression régulière
{"x" : /foobar/i}
- ID d'objet
{"x" : ObjectId()}
- Données binaires
Binary data is a concatenation of arbitrary bytes
- Code
{"x" : function() { /* ... */ }}
- Document intégré
{"x" : {"foo" : "bar"}}
40. Quand utiliser MongoDB ?
MongoDB peut être utilisé pour diverses choses. Tout d'abord, lors de la création d'applications Internet, vous pouvez utiliser MongoDB. Deuxièmement, MongoDB peut être utilisé pour créer des applications métier visant à évoluer rapidement et à évoluer avec élégance. Les développeurs qui créent des applications évolutives à l'aide de méthodologies agiles connaissent bien MongoDB, car il s'agit d'un excellent choix pour créer des applications évolutives. Si vous devez effectuer les opérations suivantes, MongoDB devrait être votre premier choix :
- Adaptez vos référentiels de données à de nombreuses tailles énormes gérables
- Faire évoluer le type de déploiement en raison des changements commerciaux rapides
- Gérez, recherchez et stockez des données à l'aide de dimensions géospatiales, textuelles et chronologiques
- Soutenir la construction d'un développement itératif rapide
- S'adapte à des niveaux plus élevés de trafic d'écriture et de lecture :MongoDB prend en charge la mise à l'échelle horizontale via le partitionnement, la distribution des données sur des machines distinctes et facilite les opérations à haut débit contenant de grands ensembles de données.
Conclusion
Cet article a couvert de manière exhaustive presque toutes les principales questions d'entretien que l'on peut rencontrer lors d'un entretien. Nous espérons que les questions vous aideront à vous préparer adéquatement pour votre prochaine entrevue. Si vous avez des questions manquées, veuillez les poster dans la section des commentaires, car votre public compte beaucoup pour nous. Merci d'avoir lu.