Die wichtigsten MongoDB-Interviewfragen

Die Wichtigsten Mongodb Interviewfragen



MongoDB ist ein Open-Source-NoSQL-Datenbankverwaltungssystem; Es erleichtert nicht nur das Speichern unstrukturierter Daten, sondern verwaltet sie auch. Wann immer die Frage auftaucht, wie man Millionen Zeilen unstrukturierter Daten verwaltet, empfiehlt sich MongoDB.

Die erste Version von MongoDB wurde im Februar 2007 von veröffentlicht 10. Gen Das Softwareunternehmen 10gen änderte später im Jahr 2013 den Firmennamen in MongoDB Inc.

MongoDB ist eine NoSQL-Datenbank, die zum Speichern von Daten im JSON-Dokumentenformat verwendet wird. Aufgrund dieser Funktion kann eine große Menge unstrukturierter Daten problemlos in MongoDB gespeichert und verwaltet werden. Der Satz dieser Dokumente mit den Daten wird als Sammlungen bezeichnet. Und diese Sammlungen ähneln den Tabellen, die in relationalen Datenbanken zum Speichern von Daten verwendet werden.







Es gibt viele Gründe, warum MongoDB im Vergleich zu anderen relationalen und NoSQL-Datenbanken so beliebt ist, einige davon sind:



  • Entwickler können die Struktur gemäß den Schlüssel-Wert-Paaren definieren
  • Wie bei relationalen Datenbanken werden Zeilen und Spalten für die Daten nicht benötigt
  • Die hierarchische MongoDB-Struktur ermöglicht das Speichern von Daten in Array-Form und kann auch komplexe Daten speichern
  • Es erleichtert seinen Entwicklern die Verwaltung von Datenbanken, da es mehrere Programmiersprachen unterstützt
  • Es unterstützt auch die Funktionen von gridFS und Replikation

Aufgrund seiner Popularität gibt es viele Beschäftigungsmöglichkeiten für die Entwickler, die mit MongoDB arbeiten. Dieser Artikel bezieht sich auf die wichtigsten Fragen, die von vielen erstklassigen Organisationen am häufigsten gestellt werden.



MongoDB-Interviewfragen

Die am häufigsten gestellten Fragen sind in drei Stufen unterteilt: Grundstufe, Mittelstufe und Expertenstufe.





Grundstufe

Diese Fragen beziehen sich auf die grundlegenden Konzepte und Terminologien von MongoDB, und es wird erwartet, dass jeder Kandidat diese Fragen in einem Vorstellungsgespräch beantwortet.

Frage 1: Was wissen Sie über NoSQL-Datenbanken und ihre Typen?
NoSQL-Datenbanken sind solche Datenbanken, die Daten nicht wie SQL-Datenbanken in Tabellen speichern, sondern Daten in anderen Formen wie Dokumenten und Schlüsselwertformularen speichern.



Es gibt vier wichtige Arten von NoSQL-Datenbanken:

  • Dokumentendatenbanken: Diese Datenbanken speichern Daten in Form von JSON-Dokumenten, diese Dokumente werden zu Sammlungen kombiniert, und diese Sammlungen werden zu einer Datenbank kombiniert.
  • Schlüsselwertdatenbanken: Diese Datenbanken speichern die Daten in Form von Schlüsselwerten, z. B. „Name = John“, in diesem Beispiel ist „Name“ der Schlüssel und „John“ der Wert.
  • Breitspaltenspeicher: Diese Datenbanken speichern Daten in Form dynamischer Tabellen, im Gegensatz zu relationalen Datenbanken sind diese Tabellen nicht strukturiert.
  • Graphdatenbanken: Diese Datenbanken enthalten Kanten und Knoten; Knoten werden verwendet, um Informationen zu speichern, während Kanten verwendet werden, um Beziehungen zwischen den Knoten anzuzeigen.

Frage 2: Um welche Art von NoSQL-Datenbank handelt es sich bei MongoDB?
Die MongoDB-Datenbank gehört zu den Dokumentendatenbanken, das heißt, sie speichert Daten gemäß den JSON-Dokumenten. Es folgt keinem Schema und erlaubt das Einfügen beliebiger Datentypen.

Frage 3: Welche ist besser unter MongoDB- und SQL-Datenbanken?
MongoDB ist besser als SQL-Datenbanken, da es unstrukturierte Daten verarbeiten kann, während SQL-Datenbanken nur strukturierte Daten verarbeiten und im Gegensatz zu relationalen Datenbanken ohne Einschränkung speichern können. Aufgrund der schemalosen Funktion werden Abfragen in MongoDB im Vergleich zu den SQL-Datenbanken schnell verarbeitet, da die Daten nicht in Form von Tabellen und stattdessen in einer Reihe von Tabellen platziert werden, sondern an der gleichen Stelle platziert werden Es ist für die Abfrage einfach, auf die Daten zuzugreifen, und MongoDB ermöglicht die Zuordnung seiner Daten in anderen Programmiersprachen, was den Benutzern die Arbeit erleichtert.

Frage 4: Was ist ein Dokument und eine Sammlung in MongoDB?
Die Daten werden in MongoDB in Form von Dokumenten gespeichert, diese Dokumente werden dann zu einer Sammlung kombiniert, und mehrere Sammlungen werden zu einer Datenbank kombiniert. Um dies zu verstehen, betrachten Sie ein Beispiel einer Datenbank von Schuldaten, eine Datenbank von Schuldaten enthält Sammlungen, die Klassen_Daten enthalten, und ferner enthalten diese Dokumente (Klassen_Daten) die Daten von Schülern (Schüler_Daten) in Form von Dokumenten.

Frage 5: Was sind MongoDB-Datentypen?
Es gibt viele Datentypen, die MongoDB unterstützt:

Schnur Der Datentyp String speichert Daten in Form von Buchstaben/Zeichen und muss aus 8 Bytes bestehen und zu UTF-8 gehören, z. B. Jone.
Ganze Zahl Es speichert Zahlen bis zu 64 Bit, aber die Größe kann je nach Server variieren, z. B. 1,54.
Boolesch Dies wird verwendet, um boolesche Werte zu speichern, die entweder 0 oder 1 sein können, zum Beispiel, John ist in der Klasse? Seine Antwort ist entweder ja oder nein.
Doppelt Dies speichert Gleitkommazahlen wie 22,8.
Min/Max-Tasten Es wird verwendet, um Min- und Max-Werte zu vergleichen.
Arrays Dies wird verwendet, um Arrays oder mehrere Werte in einem Schlüssel zu speichern.
Zeitstempel Wenn ein Dokument geändert wird, kann es die Aufzeichnungen der Änderungen aufbewahren.
Objekt Diese speichern die eingebetteten Dokumente
Null Es speichert Nullwerte.
Symbol Dies ist die Art von Zeichenfolge und kann die Sprachen speichern, die mit den Symbolen verwandt sind
Datum In diesen Datentypen können die aktuelle Uhrzeit und das Datum hinterlegt werden
Objekt Identifikation Dokumente haben eindeutige IDs, diese IDs können in diesem Datentyp gespeichert werden
Binärdaten Darin sind binäre Daten gespeichert, die auch als Maschinensprache bezeichnet werden.
Code Mit Hilfe dieses Datentyps werden Javascript-Codes in Dokumenten hinterlegt
Regulären Ausdruck In diesem Datentyp kann ein beliebiger Ausdruck gespeichert werden

Frage 6: Welche Alternativen gibt es zu MongoDB?
MongoDB ist eine Art NoSQL-Datenbank, mit deren Hilfe große verteilte Daten in den BSON-Dokumenten gespeichert werden. Die Alternativen zu MongoDB können Amazon DynamoDB, Microsoft Azure Cosmos DB, Couchbase, PostgreSQL, Redis und Cassandra sein.

Mittelstufe

Diese Fragen beziehen sich eher auf die fortgeschrittenen Konzepte als auf die Grundlagen, und in einem Vorstellungsgespräch wird erwartet, dass ein durchschnittlicher Kandidat diese Fragen beantwortet.

Frage 7: Wie können wir MongoDB und SQL auf hohem Niveau vergleichen?
SQL-Datenbanken sind relationale Datenbanken, die Daten gut strukturiert und organisiert in Form von Zeilen und Spalten speichern, die Tabellen bilden. MongoDB-Datenbanken hingegen sind die NoSQL-Datenbanken, die Daten in den Dokumenten speichern, diese Dokumente sind kollektiv als Sammlungen bekannt, und diese Sammlungen werden zu einer Datenbank kombiniert.

Frage 8: Gibt es Funktionen wie ACID-Transaktionsverwaltung und Sperren in MongoDB?
Nein, standardmäßig stellt MongoDB keine ACID-Transaktionen für mehrere Dokumente bereit, kann jedoch ACID-Transaktionen für ein einzelnes Dokument unterstützen.

Frage 9: Was ist Indizierung in MongoDB?
In MongoDB ist der Index eine spezielle Datenstruktur, die einige Felder der Datenbank belegt und einige Daten enthält, um einen Index zu erstellen. Der Index verbessert die Suchfähigkeit der Datenbank, anstatt eine bestimmte Sache in vielen Dokumenten zu suchen, kann ein Benutzer mit Hilfe der Indexierung direkt zu dem angegebenen Dokument gehen.

{
Studenten ID = 1
Name des Studenten = 'Paul'
Land = 'Vereinigte Staaten'
}

Im obigen Beispiel ist „Student_id =1“ ein Index, wenn also jemand entweder nach Student_id oder 1 sucht, wird das folgende Dokument geöffnet.

Frage 10: Kann in MongoDB ein Index für ein Array-Feld erstellt werden?

Ja, wir können einen Index für ein Array-Feld in MongoDB erstellen, der jeden Wert des Arrays indiziert. Tatsächlich erstellt MongoDB selbst den Multikey-Index und Sie müssen ihn nicht angeben, wenn ein Indexfeld ein Array ist.

Frage 11: Ist es möglich, mehrere Javascript-Operationen in einer einzigen MongoDB-Instanz auszuführen?
Es ist möglich, mehrere Javascript-Operationen in einer einzigen Mongod-Instanz auszuführen, da in Version 2.4 von MongoDB V8 die Javascript-Engine hinzugefügt wird.

Frage 12: Was ist Journaling in MongoDB?
Wenn das Journaling in MongoDB aktiviert ist, wird ein Unterverzeichnis von Journal im Verzeichnis von erstellt /data/db , was standardmäßig der von dbPath definierte Pfad ist. Während das Journaling ausgeführt wird, bearbeitet und speichert die MongoDB die Daten im Arbeitsspeicher und auf der Festplatte, bevor die Datenänderungen auf die Festplatte übertragen werden. Es ist sehr hilfreich, falls ein Fehler aufgetreten ist, aufgrund dessen Änderungen an Daten nicht gespeichert wurden, die MongoDB die Änderungen aus der Journaldatei abrufen und die Haltbarkeit von Dateien sicherstellen kann.

Expertenstufe

Diese Fragen beziehen sich auf die fortgeschritteneren Konzepte von MongoDB, es wird erwartet, dass ein Experte diese Fragen beantwortet.

Frage 13: Was ist der MongoDB-Sharding-Prozess?
In MongoDB ist Sharding der Prozess der Verteilung der Daten einer riesigen Datenbank auf viele MongoDB-Server. So ist es einfach, mit den Daten umzugehen und kann auch mit hoher Geschwindigkeit auf die Anfragen reagieren. MongoDB unterstützt die horizontale Skalierung durch Sharding.

Der MongoDB-Cluster besteht aus drei Teilen, nämlich Scherben ; es wird auch als Replica bezeichnet und ist auf jedem Server verfügbar, Mangos ; Sie fungieren als Dolmetscher zwischen dem Server und dem Shard und Konfigurationsserver ; Sie speichern die Konfigurationseinstellungen des Clusters und Metadaten.

Frage 14: Was ist Scale-out und wie erfolgt es in MongoDB?
Wenn sich viele Daten auf einem einzelnen Knoten befinden, nähern sich die mehreren Knoten dem geladenen Knoten, um seine Last zu verteilen. Dieser Vorgang, bei dem die Last eines einzelnen Knotens auf verschiedene Knoten verteilt wird, wird als horizontales Skalieren bezeichnet und auch als horizontales Skalieren bezeichnet.

Frage 15: Wie können wir mithilfe der MongoDB-Abfragesprache Informationen zu den Abfrageplänen erhalten?
Das erklären() Der Befehl wird verwendet und unterstützt die Modi „allPlansExecution“, „ExecutionStats“ und „QueryPlanner“. Zum Beispiel:

db . Gaststätten . erklären ( 'Ausführungsstatistik' ) . finden (
{ 'Küche' : 1 , 'Bezirk' : 'Brooklyn' }
) ;

Im obigen Beispiel werden die Daten des Restaurants aus dem EXPLAIN()-Befehl abgerufen.

Frage 16: Erklären Sie das MongoDB-Aggregationsframework.
In MongoDB werden Daten aus verschiedenen Sammlungen abgerufen und nach der Berechnung ein kombiniertes Ergebnis zurückgegeben, das als Aggregation bezeichnet wird. Es besteht aus drei Schritten: Zuerst nimmt es die Eingabe und filtert die Dokumente, die wir benötigen, aus den Dokumenten mit $match(), dann führen wir die Aggregationsaufgabe der gefilterten Informationen mit $group() durch und schließlich sortieren wir unsere Ergebnisse mit $sort().

Frage 17: Ist es möglich, mehr als eine Datenbank mit dem MongoDB-Betrieb zu sperren?
Ja, MongoDB kann mehr als eine Datenbank sperren. Um mehrere Datenbanken sofort zu sperren, verwenden wir die MongoDB-Operation db.copyDatabase() , während die Operation, db.repairDatabase() Wenden Sie eine globale Sperre auf die Bearbeitung der Datenbank an und schränken Sie auch andere auszuführende Operationen ein, bis sie entfernt wird.

Frage 18: Was ist GridFS in MongoDB?
Große Dateien, die die 16 MB überschreiten, wie Bilder, Videodateien und Audiodateien, werden in MongoDB mithilfe von GridFS verwaltet und in Teilen und Blöcken der Datei anstelle eines einzelnen Dokuments gespeichert. Standardmäßig unterstützt MongoDB nur zwei Formate, nämlich fs. files und fs.chunks zum Speichern von Chunks und Metadaten von Dateien.

Frage 19: Wie können Sie Replikationsphänomene in MongoDB beschreiben?
Replikation ist der Prozess der Synchronisierung von Daten zwischen vielen Servern, während MongoDB die Daten kopiert und auf verschiedene Server repliziert, sodass die Daten im Falle eines Serverausfalls von jedem anderen Server abgerufen werden können, wodurch die Datensicherheit gewährleistet ist.

Frage 20: Was ist Mongo Shell?
Eine Mongo-Shell ist eine JavaScript-Plattform, über die wir mit MongoDB interagieren und mithilfe der Abfragen auch Änderungen an den Daten vornehmen können. Es wird auch für administrative Zwecke wie die Wartung der Datenbankinstanzen verwendet. Standardmäßig ist die Mongo-Shell in der Installationsdatei enthalten, aber wenn sie nicht installiert ist, können Sie sie vom MongoDB-Server installieren.

Fazit

MongoDB ist eine beliebte NoSQL-Datenbank, die zur Verwaltung von Daten in Form von Dokumenten verwendet wird und sehr einfach zu handhaben ist, da sie schemalos ist. Es wird von vielen bekannten Unternehmen wie Twitter und Facebook verwendet. Aufgrund seiner Popularität gibt es zahlreiche Beschäftigungsmöglichkeiten für die Entwickler, die in der MongoDB-Schnittstelle arbeiten. In diesem Artikel wurden die am häufigsten gestellten MongoDB-Interviewfragen mit den entsprechenden Antworten geteilt.