MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Domande comuni per l'intervista a MongoDB

Se sei stato selezionato con successo come intervistato per l'argomento di cui sopra, ti consigliamo di dare un'occhiata ad alcune delle domande più frequenti fornite in questo articolo guida. Le domande dell'intervista a MongoDB sono appositamente progettate per aiutare i nostri lettori a familiarizzare con la natura e la forma delle domande che potrebbero incontrare durante un'intervista con MongoDB.

Tuttavia, un punto importante da notare è che i bravi intervistatori difficilmente pongono domande particolari durante un'intervista. Invece, occasionalmente tendono a rimanere professionali e imprevedibili.

Nota: Avere sempre qualche nozione di base sull'argomento prima di un colloquio. Questo ti aiuterà a rispondere alla maggior parte delle domande poste dall'intervistatore o dal comitato intervistatore.

Questa guida all'articolo mostrerà alcune delle domande più frequenti in un'intervista a MongoDB. Pertanto, resta sintonizzato per saperne di più.

Domande comuni sull'intervista a MongoDB

Di seguito sono riportate alcune delle domande più frequenti dell'intervista a MongoDB:

1. Cos'è MongoDB?

È un database orientato ai documenti che offre disponibilità elevata, prestazioni elevate e scalabilità semplice. MongoDB è un database NoSQL.

2. Che cos'è un database NoSQL?

Un database NoSQL aiuta a fornire un modo per recuperare e archiviare i dati modellati in tutti gli altri mezzi diversi dall'uso delle relazioni tabulari (quelle utilizzate nei database relazionali). Diversi tipi di database NoSQL sono:

  • Valore-chiave
  • Orientato alla colonna
  • Orientato ai documenti
  • Grafico

3. Che tipo di database NoSQL è MongoDB?

MongoDB immagazzina i dati sotto forma di documenti BSON poiché è un database orientato ai documenti. Questi documenti BSON sono archiviati in una raccolta.

4. Spiega lo sharding e cosa significa in MongoDB?

Lo sharding è una tecnica utilizzata in MongoDB per archiviare dati su più macchine. MongoDB utilizza lo sharding per supportare la distribuzione di set di dati di grandi dimensioni e operazioni a velocità effettiva elevata. Lo sharding è un approccio MongoDB per soddisfare gli standard e le richieste di una rapida crescita dei dati. Le partizioni di dati orizzontali in un DB o in un motore di ricerca vengono denominate shard di database o shard.

5. Indica alcune delle caratteristiche chiave di MongoDB

  • Lingua di query espressiva
  • Database scalabile altamente agile
  • Modelli di dati flessibili sotto forma di documenti
  • Molto più veloce di altri database tradizionali.

6. Confronta CouchDB e MongoDB a livelli superiori

Nonostante sia CouchDB che MongoDB siano database orientati alla documentazione, MongoDB si distingue ancora come una scelta migliore per le principali applicazioni che richiedono dinamismo nelle loro query e grandi prestazioni. Tuttavia, ciò non significa che CouchDB non sia efficiente in quanto viene utilizzato anche per applicazioni che occasionalmente cambiano e utilizzano query predefinite.

7. Come si aggiungono dati in MongoDB?

L'istruzione di sintassi "inserts" viene utilizzata per aggiungere dati a MongoDB. Ad esempio, per inserire un singolo documento, utilizza la sintassi della raccolta di seguito:

insertOne

> db.fosslinux.insertOne({“title” :“Perché amo Foss”))

Per inserire numerosi documenti in una raccolta, utilizzare la sintassi seguente:

insertmany

Questo metodo consentirà il passaggio di array sui documenti nel database.

8. Come si elimina un documento in MongoDB?

L'API CRUD viene utilizzata in MongoDB a scopo di eliminazione in quanto fornisce quanto segue:

deleteOne
deleteMany

Sintassi che possono essere utilizzate per eliminare rispettivamente uno e più file. Le sintassi fornite aiutano a filtrare i documenti come primi parametri. I filtri sono fondamentali in quanto specificano i criteri impostati da confrontare con i documenti impostati da rimuovere.

Esempio:

> db.fosslinux.deleteOne({"_id" : 4})

9. Come eseguire query sui dati in MongoDB

L'esecuzione di query sui dati in una tabella consente di restituire un sottoinsieme di documenti all'interno di una raccolta (da nessun documento a tutti i documenti presenti nella raccolta). Il "trova ” viene utilizzato per eseguire qualsiasi query in MongoDB. Il primo argomento fornito dopo l'istruzione find determinerà i documenti calcolati o restituiti.

Esempio:

> db.users.find({"age" : 24})

10. Spiega cos'è una replica impostata in MongoDB

Un set di repliche può essere definito un'istanza di gruppo mongo che ospita set di dati simili. In un set di repliche, un nodo è primario e l'altro è secondario. Tutti i dati vengono replicati dai nodi primari a quelli secondari.

11. Come funziona la replica in MongoDB?

La replica è il processo che comporta la sincronizzazione dei dati tra diversi server. La replica è fondamentale in quanto aiuta a fornire meno ridondanza aumentando la disponibilità dei dati. La replica è fondamentale in quanto aiuta a evitare che i database perdano server singoli a causa della disponibilità di più copie in diversi server di database. Inoltre, la replica consente agli utenti di eseguire il ripristino da interruzioni del servizio e guasti hardware.

12. Evidenzia i ruoli di profiler in MongoDB

Un profiler di database in MongoDB mostra le prestazioni caratteristiche di ogni operazione eseguita sul database. Per trovare le query dei profiler più lente del previsto, puoi utilizzare il profiler.

13. Spiega brevemente come spostare i vecchi file nella directory moveChunk in MongoDB?

Sì, i vecchi file possono essere spostati nella directory moveChunk. Questo può essere fatto durante una normale operazione di shard. I file creati come backup possono essere eliminati al termine delle operazioni. Spostare i vecchi file nella directory moveChunk aiuta a creare e risparmiare spazio.

14. Quale funzione viene utilizzata in MongoDB per creare backup sicuri?

In MongoDB, il journaling viene utilizzato durante la creazione di backup sicuri.

15. Cosa sono gli indici in MongoDB?

Gli indici in MongoDB supportano l'esecuzione di query. Se gli indici non sono presenti in MongoDB, è necessario eseguire una scansione della raccolta per scansionare tutti i documenti in una raccolta e selezionare tutti i documenti contenenti un'istruzione di query corrispondente.

16. Denominare le alternative a MongoDB

Di seguito sono elencate alcune delle alternative a MongoDB:

  • CouchDB
  • Cassandra
  • Redis
  • Base H
  • Riak

17. MongoDB richiede molta memoria ad accesso casuale (RAM)?

No, questa è la cosa divertente di MongoDB. Non hai bisogno di molta RAM per l'esecuzione poiché dealloca e alloca la RAM in modo dinamico in base ad altri requisiti di processo.

18. Per impostazione predefinita, quanti indici vengono creati da MongoDB per una nuova raccolta?

MongoDB crea la raccolta _id per impostazione predefinita per tutte le nuove raccolte.

19. Spiega l'importanza di una query coperta in MongoDB.

Con l'aiuto della query coperta, MongoDB può soddisfare le condizioni della query e restituire i risultati del campo utilizzando lo stesso indice poiché tutti i campi sono già stati coperti nell'indice stesso. Questo può essere fatto senza dare un'occhiata all'interno dei documenti utilizzati. Inoltre, le query coperte vengono eseguite più velocemente poiché gli indici vengono occasionalmente archiviati nella RAM.

20. Che cos'è una query coperta?

Una query coperta è una query che:

  • I campi calcolati nei risultati sono simili all'indice
  • I campi utilizzati nella sezione query fanno parte degli indici utilizzati nella query

21. Che cos'è l'aggregazione in MongoDB?

Le operazioni di aggregazione aiutano nell'elaborazione dei record di dati e nella restituzione dei risultati calcolati. Le operazioni di aggregazione aiutano a raggruppare valori da documenti diversi, eseguire varie operazioni sui dati raggruppati e restituire un unico risultato. MongoDB ha tre modi alternativi per eseguire l'aggregazione:

  • Utilizzo della funzione di riduzione della mappa
  • Utilizzo della pipeline di aggregazione
  • Utilizzo di comandi e metodi di aggregazione monouso.

22. Spiega cos'è la replica e come funziona in MongoDB?

La replica in MongoDB è il processo di sincronizzazione dei dati tra i server. La replica aumenta la disponibilità dei dati fornendo al contempo la ridondanza. Gli aiuti alle repliche impediscono a un database di perdere un singolo server poiché più copie di dati si trovano su server DB diversi. In caso di interruzioni del servizio e dell'hardware, la replica degli errori ti aiuterà a recuperare.

23. Set di repliche primarie e secondarie in MongoDB

In MongoDB la replica viene definita "single-master", il che significa che solo un nodo ha la capacità di accettare operazioni di scrittura alla volta. I nodi primari e master accettano scritture. Tutti i nodi secondari (slave) vengono replicati dai nodi primari (sola lettura. Possono solo essere pronti ma non possono essere scritti).

24. Spiega perché i file di dati in MongoDB sono grandi

A causa del suo meccanismo di preallocazione dei file di dati per evitare la frammentazione del file system e riservare spazio, MongoDB tende ad avere file di dati molto grandi.

25. Spiega cos'è un motore di archiviazione in MongoDB?

Un motore di archiviazione è una parte del database responsabile della gestione del modo in cui i dati vengono archiviati sul disco. Ad esempio, un motore di archiviazione potrebbe supportare un throughput più elevato per operazioni di scrittura versatili, mentre un altro motore di archiviazione offre prestazioni migliori, garantendo efficienza durante la gestione di carichi di lavoro pesanti

26. Spiega come funziona il journaling in MongoDB

MongoDB archivia e applica gli operatori di scrittura nel journal e nella memoria su disco prima di emulare le modifiche ai file di dati durante l'esecuzione con il journaling. Le scritture del journal sono atomiche, il che significa che garantiscono la coerenza su tutti i file registrati nel journal su disco. MongoDB può creare una sottodirectory journal all'interno della directory definita da dbpath ogni volta che il journaling è abilitato.

27. Assegna un nome ai due motori di archiviazione utilizzati da MongoDB

I due motori di archiviazione utilizzati da MongoDB sono:

  • WiredTiger
  • MMAPv1

28. Spiega come si ottengono il blocco e la transazione in MongoDB

Per ottenere concetti di blocco e transazione in MongoDB, è possibile utilizzare l'annidamento dei documenti, noto anche come documenti incorporati. Inoltre, MongoDB supporta operazioni atomiche ogni volta che si lavora all'interno di un singolo documento.

29. Che cos'è GridFS in MongoDB?

Un GridFS è una specifica per il recupero e l'archiviazione di file che superano la dimensione massima consigliata da BSON di 16 MB. GridFS divide i file che superano il limite normalmente consigliato in due parti o blocchi e li archivia come file separati ogni volta che superano il limite di archiviazione.

30. Spiega in che modo la concorrenza influisce sui set di repliche primarie?

MongoDB scrive sempre nell'oplog primario durante la scrittura in una raccolta sul primario durante la replica. L'oplog primario è una raccolta speciale trovata nel database locale. Pertanto, MongoDB deve bloccare sia il database locale che quello delle raccolte in questi casi.

31. Spiega il significato di uno spazio dei nomi in relazione a MongoDB

Uno spazio dei nomi, in breve, è noto come concatenazione della raccolta e del nome del database. per esempio, foss.linux con foss come database e linux come raccolta.

32. Spiega la struttura ObjectID in MongoDB?

Un ObjectID è un tipo di documento BSON a 12 byte contenente:

  • Contatore a 3 byte
  • ID processo a 2 byte
  • Valore di 4 byte che presenta i secondi
  • Identificatore macchina a 3 byte

33. Spiega come MongoDB è considerato migliore di altri database SQL.

MongoDB è noto per consentire strutture di documenti altamente scalabili e flessibili. Ad esempio, un singolo documento di dati può contenere cinque colonne e altri documenti nella stessa raccolta possono contenere dieci colonne. I database MongoDB sono molto più veloci dei database SQL poiché dispongono di tecniche di archiviazione e indicizzazione efficienti.

34. Indicare tutte le lingue che possono essere utilizzate con MongoDB?

Quando si scrivono queste domande dell'intervista, MongoDB supporta i seguenti linguaggi ufficiali C, C#, Java, C++, Python, PHP, Ruby, Scala, Erlang, Go e Perl. Tutte le lingue menzionate possono essere utilizzate con MongoDB. Tuttavia, ciò non impedisce che in futuro possano essere introdotte più lingue per supportare MongoDB.

35. MongoDB supporta i vincoli di chiave esterna?

MongoDB non supporta i vincoli di chiave esterna e le relazioni correlate

36. Evidenzia i punti che devono essere considerati durante la creazione di uno schema in MongoDB

I punti qui forniti devono essere presi in considerazione:

  • Dovresti eseguire unioni in scrittura, non in modalità lettura
  • Se si utilizzano documenti insieme, è consigliabile separarli; tuttavia, combina gli oggetti in un unico documento
  • Ottimizza il tuo schema per casi d'uso frequenti
  • Assicurati sempre che lo schema sia progettato in linea con i tuoi requisiti
  • Le aggregazioni complesse devono essere eseguite nello schema

37. Fornisci le sintassi utilizzate per creare e rilasciare una raccolta in MongoDB

La sintassi utilizzata per creare una raccolta è:db.createCollection(name,options)

La sintassi utilizzata per eliminare una raccolta è:db.collection.drop()

38. Da cosa è composto l'ObjectID in MongoDB?

ObjectID è composto dai seguenti componenti:

  • ID macchina cliente
  • Data e ora
  • ID processo cliente
  • Contatore incrementato di 3 byte

39. Assegna un nome ai tipi di dati utilizzati in MongoDB

MongoDB offre un'ampia gamma di tipi di dati come valori nei documenti. I documenti MongoDB sono simili agli oggetti in JavaScript. Oltre alla natura essenziale della coppia di valori JSON, MongoDB supporta anche vari tipi di dati aggiuntivi. I principali tipi di dati in MongoDB sono:

  • Booleano
{"x" : true}
  • Numero
{"x" : 4}
  • Nulla
{"x" : null}
  • Stringa
{"x" : "foobar"}
  • Data
{"x" : new Date()}
  • Matrice
{"x" : ["a", "b", "c"]}
  • Espressione regolare
{"x" : /foobar/i}
  • ID oggetto
{"x" : ObjectId()}
  • Dati binari
Binary data is a concatenation of arbitrary bytes
  • Codice
{"x" : function() { /* ... */ }}
  • Documento incorporato
{"x" : {"foo" : "bar"}}

40. Quando dovresti usare MongoDB?

MongoDB può essere utilizzato per varie cose. Innanzitutto, quando crei applicazioni Internet, puoi utilizzare MongoDB. In secondo luogo, MongoDB può essere utilizzato per creare applicazioni aziendali volte a evolversi rapidamente e scalare in modo elegante. Gli sviluppatori che creano applicazioni scalabili utilizzando metodologie agili hanno familiarità con MongoDB poiché è una scelta eccellente per la creazione di applicazioni scalabili. Se devi fare quanto segue, MongoDB dovrebbe essere la tua prima scelta:

  • Ridimensiona i tuoi archivi di dati a molte dimensioni enormi gestibili
  • Evolvi il tipo di implementazione a causa dei rapidi cambiamenti aziendali
  • Gestisci, cerca e archivia i dati utilizzando dimensioni geospaziali, di testo e di serie temporali.
  • Sostenere la costruzione di un rapido sviluppo iterativo
  • Ridimensionamento a livelli più elevati di traffico di scrittura e lettura:MongoDB supporta il ridimensionamento orizzontale tramite sharding, distribuzione dei dati su macchine distinte e facilita operazioni a throughput più elevato contenenti set di dati di grandi dimensioni.

Conclusione

Questo articolo ha trattato in modo completo quasi tutte le principali domande di intervista che si possono incontrare durante un'intervista. Ci auguriamo che le domande ti aiutino a prepararti adeguatamente per il tuo prossimo colloquio. Se hai domande perse, pubblicale nella sezione commenti, poiché il tuo pubblico significa molto per noi. Grazie per la lettura.