Mis à jour le

Database
Intermediaire 10 questions • MongoDB

Questions d'entretien MongoDB

Preparez votre entretien MongoDB avec des questions sur la modélisation, les requêtes et les performances.

Questions d'entretien MongoDB

1. Qu'est-ce que MongoDB et quand l'utiliser ?

MongoDB est une base de données NoSQL orientee documents qui stocke les données au format BSON (Binary JSON). Utilisez MongoDB pour : les schémas flexibles et evolutifs, les applications avec des données semi-structurees, les charges de travail nécessitant une scalabilité horizontale, les applications temps réel, et les prototypes rapides. Evitez-le pour : les transactions complexes multi-collections, les données hautement relationnelles, et les requêtes analytiques complexes.

2. Expliquez la modélisation de données : embedding vs referencing.

L'embedding (imbrication) stocke les données liées dans le même document. Exemple : un article avec ses commentaires dans un seul document. Avantages : lectures rapides (une seule requête), atomicité au niveau du document. L'inconvenient : duplication de données, limite de 16 Mo par document. Le referencing stocke une référence (ID) vers un autre document. Avantages : pas de duplication, documents plus petits. Inconvenient : nécessite un lookup supplémentaire. Règle générale : embeddez si les données sont toujours lues ensemble, referencez si elles sont indépendantes.

3. Comment fonctionne l'indexation dans MongoDB ?

Les index accelerent les requêtes en créant une structure de données (B-tree) qui pointe vers les documents. Types d'index : single field (un champ), compound (plusieurs champs, l'ordre compte), multikey (champs tableau), text (recherche plein texte), géospatial (données geographiques), hashed (distribution uniforme pour le sharding). Utilisez explain() pour analyser l'utilisation des index. Attention : chaque index consomme de la mémoire et ralentit les écritures.

4. Qu'est-ce que l'Aggregation Pipeline ?

L'Aggregation Pipeline est le framework de transformation de données de MongoDB. Il enchaine des stages qui transforment les documents : $match (filtrage), $group (agrégation), $sort (tri), $project (projection), $lookup (jointure), $unwind (depilement de tableaux), $addFields, $bucket, $facet. Les stages sont exécutés sequentiellement et peuvent être optimises par MongoDB. C'est plus puissant que les simples requêtes find() pour l'analyse de données.

5. Expliquez le sharding dans MongoDB.

Le sharding est la stratégie de partitionnement horizontal de MongoDB pour distribuer les données sur plusieurs serveurs. Composants : shard (un replica set stockant une partie des données), mongos (routeur de requêtes), config servers (métadonnées de partitionnement). La shard key determine comment les données sont distribuees. Choisissez une shard key avec une haute cardinalite et qui correspond à vos patterns de requêtes. Stratégies : ranged (plages de valeurs) ou hashed (distribution uniforme).

6. Comment fonctionne la réplication dans MongoDB ?

La réplication utilise les Replica Sets : un nœud primary reçoit toutes les écritures, et des nœuds secondary repliquent les données de manière asynchrone via l'oplog (opérations log). Si le primary tombe, une election automatique choisit un nouveau primary parmi les secondaries. Configuration minimale : 3 nœuds (ou 2 + 1 arbiter). Les lectures peuvent être dirigees vers les secondaries (readPreference) pour distribuer la charge, mais avec un risque de données légèrement obsolètes.

7. Qu'est-ce que les transactions dans MongoDB ?

Depuis MongoDB 4.0, les transactions multi-documents sont supportees. Elles garantissent l'ACID (Atomicité, Cohérence, Isolation, Durabilité) sur plusieurs documents et collections. Utilisez-les quand vous devez modifier plusieurs documents de manière atomique (transfert bancaire, commande e-commerce). Attention : les transactions ont un coût en performance et doivent rester courtes. Dans la plupart des cas, une bonne modélisation (embedding) evite le besoin de transactions.

8. Comment optimiser les performances de MongoDB ?

Stratégies : créer des index adaptes à vos requêtes (utilisez explain()), limiter la taille des documents (éviter les tableaux qui grandissent indefiniment), utiliser la projection pour ne lire que les champs nécessaires, configurer le WiredTiger cache correctement, monitorer avec mongostat et mongotop, utiliser le connection pooling, et dimensionner les replica sets selon la charge de lecture.

9. Expliquez la différence entre find(), findOne() et aggregate().

find() retourne un curseur sur tous les documents correspondant au filtre. Il supporte la projection, le tri, la limite et le skip. findOne() retourne un seul document (le premier correspondant). aggregate() utilise l'Aggregation Pipeline pour des transformations complexes (groupements, jointures, calculs). Utilisez find() pour les requêtes simples, aggregate() pour les analyses complexes. aggregate() est généralement plus performant que plusieurs find() enchaines.

10. Comment sécuriser une instance MongoDB ?

Bonnes pratiques : activer l'authentification (SCRAM, x.509, LDAP), configurer l'autorisation avec des rôles granulaires (readWrite, dbAdmin, etc.), activer le chiffrement au repos (encryption at rest) et en transit (TLS/SSL), configurer le bind IP pour limiter les interfaces d'écoute, utiliser le auditing pour tracer les opérations sensibles, et toujours mettre à jour vers la dernière version stable.

Besoin d'aide pour préparer vos entretiens ?

Decrivez votre profil pour des conseils de preparation personnalises.

Recevoir des conseils

Questions fréquentes

MongoDB ou PostgreSQL, lequel choisir ?
PostgreSQL pour les donnees structurees avec des relations complexes, les transactions ACID, et les requetes analytiques. MongoDB pour les schemas flexibles, la scalabilite horizontale, et les donnees semi-structurees. PostgreSQL supporte aussi le JSON (jsonb), brouillant la frontiere.
MongoDB est-il gratuit ?
MongoDB Community Edition est gratuit et open source. MongoDB Atlas (cloud) offre un tier gratuit (512 Mo). MongoDB Enterprise (on-premise) est payant. Pour la plupart des cas d'usage, Community ou Atlas Free suffisent pour debuter.

Pages liées

Chaque semaine, le meilleur de la tech française

Tendances, salaires, outils et opportunités — directement dans votre boîte mail.

Gratuit. Desabonnement en un clic. Pas de spam.