Top MongoDB-interviewvragen

Top Mongodb Interviewvragen



MongoDB is een open-source NoSQL-databasebeheersysteem; het biedt niet alleen gemak bij het opslaan van ongestructureerde gegevens, maar beheert deze ook. Telkens wanneer de vraag rijst hoe miljoenen rijen ongestructureerde gegevens moeten worden beheerd, wordt MongoDB aanbevolen.

De eerste versie van MongoDB werd in februari 2007 uitgebracht door 10 gen Softwarebedrijf, later in 2013 veranderde 10gen de bedrijfsnaam in MongoDB Inc.

MongoDB is een NoSQL-database die wordt gebruikt om gegevens op te slaan in de vorm van JSON-documenten. Vanwege deze functie kan een enorme hoeveelheid ongestructureerde gegevens eenvoudig worden opgeslagen en beheerd in MongoDB. De set van deze documenten met de gegevens staat bekend als collecties. En deze verzamelingen zijn vergelijkbaar met de tabellen die in relationele databases worden gebruikt om gegevens op te slaan.







Er zijn veel redenen waarom MongoDB zo populair is in vergelijking met andere relationele en NoSQL-databases, enkele daarvan zijn:



  • Ontwikkelaars kunnen de structuur definiëren volgens de sleutel-waardeparen
  • Net als relationele databases zijn rijen en kolommen niet nodig voor de gegevens
  • De hiërarchische MongoDB-structuur maakt het mogelijk om gegevens op te slaan in de vorm van arrays en kan ook complexe gegevens opslaan
  • Het maakt het de ontwikkelaars gemakkelijk om databases te beheren omdat het meerdere programmeertalen ondersteunt
  • Het ondersteunt ook de kenmerken van gridFS en replicatie

Vanwege zijn populariteit zijn er veel vacatures voor de ontwikkelaars die met MongoDB werken. Dit artikel heeft betrekking op de meest belangrijke en meest gestelde vragen door veel vooraanstaande organisaties.



MongoDB-interviewvragen

De meest gestelde vragen zijn onderverdeeld in drie niveaus: Basisniveau, Gemiddeld niveau en Expertniveau.





Basis niveau

Deze vragen zijn gerelateerd aan de basisconcepten en terminologieën van MongoDB, en in een interview wordt verwacht dat elke kandidaat deze vragen beantwoordt.

Vraag 1: wat weet u over NoSQL-databases en hun typen?
NoSQL-databases zijn die databases die geen gegevens opslaan in tabellen zoals SQL-databases doen, in plaats van dat ze gegevens opslaan in andere vormen zoals documenten en sleutel-waardeformulieren.



Er zijn vier belangrijke typen NoSQL-databases:

  • Documentendatabases: Deze databases slaan gegevens op in de vorm van JSON-documenten, deze documenten vormen samen verzamelingen en deze verzamelingen vormen samen een database.
  • Sleutel-waardedatabases: Deze databases slaan de gegevens op in de vorm van sleutel/waarden, bijvoorbeeld 'Naam = Jan', in dit voorbeeld is 'Naam' sleutel en 'Jan' is waarde.
  • Winkel met brede kolommen: Deze databases slaan gegevens op in de vorm van dynamische tabellen, in tegenstelling tot relationele databases zijn deze tabellen niet gestructureerd.
  • Grafiek-databases: Deze databases bevatten randen en knooppunten; knooppunten worden gebruikt om informatie op te slaan, terwijl randen worden gebruikt om relaties tussen de knooppunten weer te geven.

Vraag 2: welk type NoSQL-database is MongoDB?
De MongoDB-database behoort tot de documentdatabases, wat betekent dat het gegevens opslaat volgens de JSON-documenten. Het volgt geen enkel schema en maakt het mogelijk om elk type gegevens erin in te voegen.

Vraag 3: Welke is beter onder MongoDB- en SQL-databases?
MongoDB is beter dan SQL-databases op zo'n manier dat het ongestructureerde gegevens aankan, terwijl SQL-databases alleen gestructureerde gegevens verwerken en deze zonder enige beperking opslaan, in tegenstelling tot relationele databases. Vanwege het kenmerk van schemaloos worden query's snel afgehandeld in MongoDB in vergelijking met de SQL-databases, aangezien de gegevens niet in de vorm van tabellen worden geplaatst en in plaats daarvan in een aantal tabellen, worden gegevens op dezelfde plaats geplaatst, dus het is het is gemakkelijk voor de query om toegang te krijgen tot de gegevens, en MongoDB staat toe dat zijn gegevens in andere programmeertalen in kaart worden gebracht, waardoor de gebruikers er gemakkelijk aan kunnen werken.

Vraag 4: Wat is een document en verzameling in MongoDB?
De gegevens worden opgeslagen in MongoDB in de vorm van documenten, waarna deze documenten samen een verzameling vormen en een aantal verzamelingen samen een database vormen. Om dit te begrijpen, beschouwen we een voorbeeld van een database van school_data, een database van de school_data bevat verzamelingen met classes_data erin, en verder bevatten deze documenten (classes_data) de gegevens van studenten (student_data) in de vorm van documenten.

Vraag 5: Wat zijn MongoDB-gegevenstypen?
Er zijn veel gegevenstypen die MongoDB ondersteunt:

Snaar Het gegevenstype String slaat gegevens op in de vorm van alfabetten/tekens en moet 8 bytes lang zijn en behoren tot UTF-8, bijvoorbeeld Jone.
Geheel getal Het slaat nummers op tot 64 bit, maar de grootte kan variëren afhankelijk van de server, bijvoorbeeld 1,54.
Booleaans Dit wordt gebruikt om booleaanse waarden op te slaan die 0 of 1 kunnen zijn, bijvoorbeeld John zit in de klas? Het antwoord is ja of nee.
Dubbele Dit slaat zwevende getallen op zoals 22.8.
Min/Max-toetsen Het wordt gebruikt om min- en max-waarden te vergelijken.
Arrays Dit wordt gebruikt om arrays of meerdere waarden in één sleutel op te slaan.
Tijdstempel Wanneer een document wordt gewijzigd, kan het de wijzigingen bijhouden.
Object Hierin worden de ingesloten documenten opgeslagen
Nul Het slaat nulwaarden op.
Symbool Dit is het type tekenreeks en kan de talen opslaan die gerelateerd zijn aan de symbolen
Datum In deze gegevenstypen kunnen de huidige tijd en datum worden opgeslagen
Object-ID Documenten hebben unieke id's, deze id's kunnen in dit gegevenstype worden opgeslagen
Binaire data Hierin worden binaire gegevens opgeslagen, ook wel machinetaal genoemd.
Code Met behulp van dit gegevenstype worden Javascript-codes in documenten opgeslagen
Reguliere expressie Elke uitdrukking kan in dit gegevenstype worden opgeslagen

Vraag 6: Wat zijn de alternatieven voor MongoDB?
MongoDB is een type NoSQL-database, met behulp waarvan grote gedistribueerde gegevens worden opgeslagen in de BSON-documenten. De alternatieven van MongoDB kunnen Amazon DynamoDB, Microsoft Azure Cosmos DB, Couchbase, PostgreSQL, Redis en Cassandra zijn.

Gemiddeld niveau

Deze vragen hebben meer betrekking op de geavanceerde concepten dan op de basis en in een interview wordt verwacht dat een gemiddelde kandidaat deze vragen beantwoordt.

Vraag 7: Hoe kunnen we MongoDB en SQL op hoog niveau vergelijken?
SQL-databases zijn relationele databases die gegevens op een goed gestructureerde en georganiseerde manier hebben opgeslagen in de vorm van rijen en kolommen die tabellen maken, aan de andere kant zijn MongoDB-databases de NoSQL-databases, die gegevens opslaan in de documenten, deze documenten zijn collectief collecties genoemd, en deze collecties vormen samen een database.

Vraag 8: Zijn er functionaliteiten zoals ACID-transactiebeheer en vergrendeling in MongoDB?
Nee, MongoDB biedt standaard geen ACID-transacties op meerdere documenten, maar het kan wel ondersteuning bieden voor ACID-transacties op één document.

Vraag 9: Wat is indexeren in MongoDB?
In MongoDB is de index een speciale gegevensstructuur die sommige velden van de database in beslag neemt en enkele gegevens bevat om een ​​index te maken. De index verbetert het zoekvermogen van de database, in plaats van een bepaald ding uit een groot aantal documenten te zoeken, kan een gebruiker direct naar het opgegeven document gaan met behulp van indexering.

{
Student_id = 1
Studenten naam = ‘Paulus’
Land = 'Verenigde Staten'
}

In het bovenstaande voorbeeld is 'Student_id =1' een index, dus als iemand zoekt op Student_id of 1, wordt het volgende document geopend.

Vraag 10: Kan er in MongoDB een index worden gemaakt op een arrayveld?

Ja, we kunnen een index maken op een arrayveld in MongoDB, en het indexeert elke waarde van de array. In feite maakt MongoDB zelf de multikey-index en hoeft u deze niet op te geven als een indexveld een array is.

Vraag 11: Is het mogelijk om meerdere Javascript-bewerkingen uit te voeren in een enkele MongoDB-instantie?
Het is mogelijk om meerdere Javascript-bewerkingen uit te voeren in een enkele mongod-instantie omdat in de 2.4-versie van MongoDB V8 javascript-engine is toegevoegd.

Vraag 12: Wat is journaling in MongoDB?
Wanneer journaling is ingeschakeld in MongoDB, wordt er een subdirectory van Journal gemaakt in de directory van /gegevens/db , wat standaard het pad is dat wordt gedefinieerd door dbPath. Terwijl het journaal wordt uitgevoerd, bewerkt de MongoDB de gegevens en slaat deze op in het geheugen en op schijf, voordat de gegevenswijzigingen naar schijf worden overgebracht. Het is erg handig in het geval er een fout is opgetreden waardoor wijzigingen in gegevens niet zijn opgeslagen, de MongoDB kan de wijzigingen ophalen uit het journaalbestand en kan de duurzaamheid van bestanden garanderen.

Expert niveau

Deze vragen hebben betrekking op de meer geavanceerde concepten van MongoDB, er wordt verwacht dat een expertisekandidaat deze vragen moet beantwoorden.

Vraag 13: Wat is het MongoDB-shardingproces?
In MongoDB is sharding het proces van het distribueren van de gegevens van een enorme database over veel MongoDB-servers. Het is dus gemakkelijk om met de gegevens om te gaan en kan ook met hoge snelheid op de vragen reageren. MongoDB ondersteunt horizontaal schalen door middel van sharding.

Het MongoDB-cluster bestaat uit drie delen die zijn scherven ; het wordt ook wel de replica genoemd en is beschikbaar op elke server, mango's ; ze fungeren als de tolk tussen de server en de scherf, en configuratie servers ; ze slaan de configuratie-instellingen van het cluster en de metadata op.

Vraag 14: Wat is scale-out en hoe gebeurt het in MongoDB?
Wanneer er veel gegevens op een enkel knooppunt staan, brengen de meerdere knooppunten het geladen knooppunt in de buurt om de belasting te verdelen. Dit proces van het delen van een belasting van een enkel knooppunt naar verschillende knooppunten wordt scale-out genoemd en staat ook bekend als horizontaal schalen.

Vraag 15: Hoe kunnen we informatie krijgen over de queryplannen door de MongoDB-querytaal te gebruiken?
De uitleggen() commando wordt gebruikt en het ondersteunt de modi die 'allPlansExecution, executionStats en queryPlanner' zijn. Bijvoorbeeld:

db . restaurants . uitleggen ( 'executiestatistieken' ) . vind (
{ 'keuken' : 1 , 'gemeente' : 'Brooklyn' }
) ;

In het bovenstaande voorbeeld worden de gegevens van het restaurant opgehaald uit het commando explain().

Vraag 16: Leg MongoDB Aggregation Framework uit.
In MongoDB gegevens ophalen uit verschillende verzamelingen en na berekening een gecombineerd resultaat retourneren dat bekend staat als de aggregatie. Het heeft drie stappen: eerst neemt het de invoer en filtert het de documenten die we nodig hebben uit de documenten met behulp van $match(), vervolgens doen we de aggregatietaak op de gefilterde informatie met behulp van $group(), en tot slot sorteren we onze resultaten met behulp van $sort().

Vraag 17: Is het mogelijk om meer dan één database te vergrendelen met behulp van de MongoDB-bewerking?
Ja, MongoDB kan meer dan één database vergrendelen, om meerdere databases direct te vergrendelen, gebruiken we de MongoDB-bewerking db.copyDatabase() , terwijl de operatie, db.repairDatabase() pas een globale vergrendeling toe op het bewerken van de database en beperk ook andere bewerkingen die moeten worden uitgevoerd totdat deze wordt verwijderd.

Vraag 18: Wat is GridFS in MongoDB?
Grote bestanden die de 16 MB overschrijden, zoals afbeeldingen, videobestanden en audiobestanden, worden beheerd in MongoDB met behulp van de GridFS en opgeslagen in delen en brokken van het bestand in plaats van een enkel document, standaard ondersteunt MongoDB slechts twee formaten die fs zijn. files en fs.chunks om chunks en metadata van bestanden op te slaan.

Vraag 19: Hoe kun je replicatieverschijnselen in MongoDB beschrijven?
Replicatie is het proces waarbij gegevens tussen veel servers worden gesynchroniseerd, terwijl MongoDB de gegevens kopieert en repliceert naar verschillende servers, dus in het geval van een servercrash kunnen de gegevens worden opgehaald van elke andere server die de veiligheid van gegevens garandeert.

Vraag 20: Wat is Mongo Shell?
Een mongo-shell is een JavaScript-platform waarmee we kunnen communiceren met MongoDB en ook wijzigingen in de gegevens kunnen aanbrengen met behulp van de query's. Het wordt ook gebruikt voor administratieve doeleinden, zoals het onderhouden van de database-exemplaren. Mongo Shell is standaard opgenomen in het installatiebestand, maar als het niet is geïnstalleerd, kunt u het vanaf de MongoDB-server installeren.

Conclusie

MongoDB is een populaire NoSQL-database, die wordt gebruikt om gegevens in de vorm van documenten te beheren en het is heel gemakkelijk te hanteren omdat het geen schema heeft. Het wordt gebruikt door veel bekende bedrijven zoals Twitter en Facebook. Vanwege zijn populariteit zijn er tal van vacatures voor de ontwikkelaars die in de MongoDB-interface werken. In dit artikel zijn de meest gestelde MongoDB-interviewvragen gedeeld met de juiste antwoorden.