Principali domande di intervista su MongoDB

Principali Domande Di Intervista Su Mongodb



MongoDB è un sistema di gestione di database NoSQL open source; non solo fornisce facilità nell'archiviazione di dati non strutturati, ma li gestisce anche. Ogni volta che sorge la domanda su come gestire milioni di righe di dati non strutturati, si consiglia MongoDB.

La prima versione di MongoDB è stata rilasciata nel febbraio 2007 da 10 gen Società di software, più tardi nel 2013, 10gen ha cambiato il nome della società in MongoDB Inc.

MongoDB è un database NoSQL che viene utilizzato per archiviare i dati nel modulo dei documenti JSON. Grazie a questa caratteristica, un'enorme quantità di dati non strutturati può essere facilmente archiviata e gestita in MongoDB. L'insieme di questi documenti contenenti i dati è noto come raccolte. E queste raccolte sono simili alle tabelle utilizzate nei database relazionali per archiviare i dati.







Ci sono molte ragioni per cui MongoDB è così popolare rispetto ad altri database relazionali e NoSQL, alcuni di questi sono:



  • Gli sviluppatori possono definire la struttura in base alle coppie chiave-valore
  • Come i database relazionali, le righe e le colonne non sono necessarie per i dati
  • La struttura gerarchica di MongoDB consente di memorizzare i dati in forma di array e può anche memorizzare dati complessi
  • Consente ai suoi sviluppatori di gestire facilmente i database in quanto supporta più linguaggi di programmazione
  • Supporta anche le funzionalità di gridFS e la replica

A causa della sua popolarità, ci sono molte opportunità di lavoro per gli sviluppatori che lavorano con MongoDB. Questo articolo è correlato alle domande più importanti e comunemente poste da molte organizzazioni di prim'ordine.



Domande dell'intervista MongoDB

Le domande più frequenti sono suddivise in tre livelli: livello base, livello intermedio e livello esperto.





Livello di base

Queste domande sono relative ai concetti e alle terminologie di base di MongoDB e, in un'intervista, è previsto che ogni candidato risponda a queste domande.

Domanda 1: cosa sai dei database NoSQL e dei loro tipi?
I database NoSQL sono quei database che non memorizzano i dati nelle tabelle come fanno i database SQL, invece di archiviare i dati in altri moduli come documenti e moduli valore-chiave.



Esistono quattro tipi importanti di database NoSQL:

  • Database di documenti: Questi database memorizzano i dati sotto forma di documenti JSON, questi documenti si combinano per formare raccolte e queste raccolte si combinano per formare un database.
  • Database di valori-chiave: Questi database memorizzano i dati sotto forma di valori-chiave, ad esempio 'Nome = Giovanni', in questo esempio 'Nome' è la chiave e 'Giovanni' è il valore.
  • Negozio a colonne larghe: Questi database memorizzano i dati sotto forma di tabelle dinamiche, a differenza dei database relazionali, queste tabelle non sono strutturate.
  • Database grafici: Questi database contengono bordi e nodi; i nodi vengono utilizzati per memorizzare informazioni mentre i bordi vengono utilizzati per mostrare le relazioni tra i nodi.

Domanda 2: che tipo di database NoSQL è MongoDB?
Il database MongoDB appartiene ai database dei documenti, il che significa che memorizza i dati in base ai documenti JSON. Non segue alcuno schema e consente l'inserimento di qualsiasi tipo di dati al suo interno.

Domanda 3: qual è il migliore tra i database MongoDB e SQL?
MongoDB è migliore dei database SQL in modo tale da poter gestire dati non strutturati mentre i database SQL gestiscono solo dati strutturati e li memorizzano senza alcuna restrizione a differenza dei database relazionali. A causa della sua caratteristica di schemaless, le query vengono gestite velocemente in MongoDB rispetto ai database SQL in quanto i dati non vengono inseriti sotto forma di tabelle e in un numero di tabelle invece di quello, i dati vengono inseriti nello stesso posto quindi è facile per la query accedere ai dati e MongoDB consente di mappare i suoi dati in altri linguaggi di programmazione, il che consente agli utenti di lavorarci facilmente.

Domanda 4: Che cos'è un documento e una raccolta in MongoDB?
I dati vengono archiviati in MongoDB sotto forma di documenti, quindi questi documenti si combinano per formare una raccolta e una serie di raccolte si combinano per formare un database. Per capirlo, si consideri un esempio di un database di school_data, un database di school_data contiene raccolte che contengono classes_data e, inoltre, questi documenti (classes_data) contengono i dati degli studenti (student_data) sotto forma di documenti.

Domanda 5: Cosa sono i tipi di dati MongoDB?
Esistono molti tipi di dati supportati da MongoDB:

Corda Il tipo di dati stringa memorizza i dati sotto forma di alfabeti/caratteri e deve essere di 8 byte e appartenere a UTF-8, ad esempio, Jone.
Numero intero Memorizza numeri fino a 64 bit ma la dimensione può variare a seconda del server, ad esempio 1,54.
Booleano Questo è usato per memorizzare valori booleani che possono essere 0 o 1, per esempio, John è in classe? La sua risposta può essere sì o no.
Doppio Questo memorizza numeri mobili come 22.8.
Tasti minimo/massimo Viene utilizzato per confrontare i valori minimo e massimo.
Array Viene utilizzato per memorizzare array o più valori in una chiave.
Timestamp Quando un documento viene modificato, può conservare i record delle modifiche.
Oggetto Questo memorizza i documenti incorporati
Nullo Memorizza valori nulli.
Simbolo Questo è il tipo di stringa e può memorizzare quelle lingue che sono correlate ai simboli
Data L'ora e la data correnti possono essere memorizzate in questi tipi di dati
ID oggetto I documenti hanno ID univoci, questi ID possono essere memorizzati in questo tipo di dati
Dati binari I dati binari, noti anche come linguaggio macchina, sono memorizzati al suo interno.
Codice I codici Javascript sono memorizzati nei documenti con l'aiuto di questo tipo di dati
Espressione regolare Qualsiasi espressione può essere memorizzata in questo tipo di dati

Domanda 6: Quali sono le alternative a MongoDB?
MongoDB è un tipo di database NoSQL, con l'aiuto del quale vengono archiviati grandi dati distribuiti nei documenti BSON. Le alternative di MongoDB possono essere Amazon DynamoDB, Microsoft Azure Cosmos DB, Couchbase, PostgreSQL, Redis e Cassandra.

Livello intermedio

Queste domande sono più legate ai concetti avanzati che alle basi e in un colloquio ci si aspetta che un candidato medio risponda a queste domande.

Domanda 7: come possiamo confrontare MongoDB e SQL ad alto livello?
I database SQL sono database relazionali che memorizzano i dati in modo ben strutturato e organizzato sotto forma di righe e colonne che creano tabelle, d'altra parte, i database MongoDB sono i database NoSQL, che memorizzano i dati nei documenti, questi documenti sono collettivamente note come raccolte e queste raccolte si combinano per formare un database.

Domanda 8: Esistono funzionalità come la gestione delle transazioni ACID e il blocco in MongoDB?
No, per impostazione predefinita MongoDB non fornisce alcuna transazione ACID su più documenti, tuttavia può fornire il supporto delle transazioni ACID su un singolo documento.

Domanda 9: Cos'è l'indicizzazione in MongoDB?
In MongoDB, l'indice è una struttura dati speciale che occupa alcuni campi del database e contiene alcuni dati per creare un indice. L'indice migliora la capacità di ricerca del database, invece di cercare una cosa particolare da molti documenti, un utente può andare direttamente al documento specificato con l'aiuto dell'indicizzazione.

{
ID_studente = 1
Nome dello studente = 'Paolo'
Paese = 'Stati Uniti'
}

Nell'esempio sopra, 'Student_id = 1' è un indice, quindi se qualcuno cerca per Student_id o 1, verrà aperto il seguente documento.

Domanda 10: In MongoDB, è possibile creare un indice su un campo array?

Sì, possiamo creare un indice su un campo dell'array in MongoDB e indicizza ogni valore dell'array. Infatti, MongoDB da solo crea l'indice multichiave e non è necessario specificarlo se un campo indice è un array.

Domanda 11: è possibile eseguire più operazioni Javascript in una singola istanza MongoDB?
È possibile eseguire più operazioni Javascript in una singola istanza mongod perché nella versione 2.4 di MongoDB V8 viene aggiunto il motore javascript.

Domanda 12: Cos'è il journaling in MongoDB?
Quando il journaling è abilitato in MongoDB, crea una sottodirectory di Journal, all'interno della directory di /dati/db , che è il percorso definito da dbPath, per impostazione predefinita. Mentre il journaling è in esecuzione, MongoDB modifica e archivia i dati in memoria e su disco, prima che le modifiche ai dati vengano trasferite su disco. È molto utile nel caso in cui si verifichi un errore a causa del quale le modifiche ai dati non sono state salvate, MongoDB può recuperare le modifiche dal file Journal e può garantire la durabilità dei file.

Livello esperto

Queste domande sono relative ai concetti più avanzati di MongoDB, ci si aspetta che un candidato esperto risponda a queste domande.

Domanda 13: Cos'è il processo di sharding di MongoDB?
In MongoDB, lo sharding è il processo di distribuzione dei dati di un enorme database tra molti server MongoDB. Quindi è facile gestire i dati e può anche rispondere alle query ad alta velocità. MongoDB supporta il ridimensionamento orizzontale tramite sharding.

Il cluster MongoDB è composto da tre parti che sono frammenti ; è anche noto come replica ed è disponibile su ogni server, manghi ; fungono da interpreti tra il server e il frammento e server di configurazione ; memorizzano le impostazioni di configurazione del cluster e dei metadati.

Domanda 14: Cos'è lo scale-out e come si verifica in MongoDB?
Quando ci sono molti dati su un singolo nodo, i nodi multipli si avvicinano al nodo caricato, per distribuirne il carico. Questo processo di condivisione del carico di un singolo nodo su diversi nodi è chiamato scalabilità orizzontale ed è noto anche come scalabilità orizzontale.

Domanda 15: Come possiamo ottenere informazioni sui piani di query utilizzando il linguaggio di query MongoDB?
Il spiegare() viene utilizzato il comando e supporta le modalità che sono 'allPlansExecution, executionStats e queryPlanner'. Per esempio:

db . ristoranti . spiegare ( 'Stati di esecuzione' ) . trova (
{ 'cucina' : 1 , 'borgo' : 'Brooklin' }
) ;

Nell'esempio precedente, i dati del ristorante vengono recuperati dal comando describe().

Domanda 16: spiegare il framework di aggregazione di MongoDB.
In MongoDB, recupero di dati da diverse raccolte e dopo il calcolo che restituisce un risultato combinato noto come Aggregazione. Ha tre passaggi, in primo luogo, prenderà l'input e filtrerà i documenti di cui abbiamo bisogno dai documenti usando $match(), quindi eseguiamo il lavoro di aggregazione sulle informazioni filtrate usando $group() e, infine, ordiniamo i nostri risultati usando $sort().

Domanda 17: è possibile bloccare più di un database utilizzando l'operazione MongoDB?
Sì, MongoDB può bloccare più di un database, per bloccare più database all'istante, utilizziamo l'operazione MongoDB db.copyDatabase() , mentre l'operazione, db.repairDatabase() applicare un blocco globale sulla modifica del database e limitare anche altre operazioni da implementare fino a quando non viene rimosso.

Domanda 18: Cos'è GridFS in MongoDB?
File di grandi dimensioni che superano i 16 MB come immagini, file video e file audio vengono gestiti in MongoDB utilizzando GridFS e archiviati in parti e blocchi del file anziché in un singolo documento, per impostazione predefinita MongoDB supporta solo due formati che sono fs. files e fs.chunks per archiviare blocchi e metadati di file.

Domanda 19: Come puoi descrivere i fenomeni di replica in MongoDB?
La replica è il processo di sincronizzazione dei dati tra molti server, mentre MongoDB copia i dati e li replica su server diversi, quindi in caso di arresto anomalo del server, i dati possono essere recuperati da qualsiasi altro server che garantisca la sicurezza dei dati.

Domanda 20: Cos'è Mongo Shell?
Una mongo shell è una piattaforma JavaScript, attraverso la quale possiamo interagire con MongoDB e possiamo anche apportare modifiche ai dati utilizzando le query. Viene anche utilizzato per scopi amministrativi come il mantenimento delle istanze del database. Per impostazione predefinita, mongo shell è inclusa nel file di installazione, ma se non è installata, puoi installarla dal server MongoDB.

Conclusione

MongoDB è un popolare database NoSQL, che viene utilizzato per gestire i dati sotto forma di documenti ed è molto facile da gestire in quanto privo di schema. È utilizzato da molte aziende famose come Twitter e Facebook. A causa della sua popolarità, ci sono numerose opportunità di lavoro per gli sviluppatori che lavorano nell'interfaccia di MongoDB. In questo articolo, le domande più frequenti dell'intervista MongoDB sono state condivise con le risposte appropriate.