sql >> Database >  >> NoSQL >> MongoDB

Veelvoorkomende MongoDB-sollicitatievragen

Als u met succes op de shortlist bent geplaatst als geïnterviewde voor het bovenstaande onderwerp, raden we u aan enkele van de veelgestelde vragen in deze artikelgids te bekijken. MongoDB-interviewvragen zijn speciaal ontworpen om onze lezers te helpen kennis te maken met de aard en vorm van vragen die ze kunnen tegenkomen tijdens een MongoDB-interview.

Een belangrijk aandachtspunt is echter dat goede interviewers tijdens een interview nauwelijks bepaalde vragen stellen. In plaats daarvan blijven ze af en toe professioneel en onvoorspelbaar.

Opmerking: Zorg dat u voor een interview altijd een basisconcept van het onderwerp heeft. Dit zal je helpen de meeste vragen van de interviewer of interviewcommissie te beantwoorden.

Deze artikelgids toont enkele veelgestelde vragen in een MongoDB-interview. Blijf daarom op de hoogte voor meer informatie.

Veelvoorkomende MongoDB-sollicitatievragen

Hieronder staan ​​enkele van de meest gestelde MongoDB-interviewvragen:

1. Wat is MongoDB?

Het is een documentgeoriënteerde database die hoge beschikbaarheid, hoge prestaties en eenvoudige schaalbaarheid biedt. MongoDB is een NoSQL-database.

2. Wat is een NoSQL-database?

Een NoSQL-database biedt een manier om gemodelleerde gegevens op te halen en op te slaan op alle andere manieren dan het gebruik van tabellarische relaties (die worden gebruikt in relationele databases). Verschillende soorten NoSQL-databases zijn:

  • Sleutelwaarde
  • Kolomgeoriënteerd
  • Documentgericht
  • Grafiek

3. Welk type NoSQL-database is MongoDB?

MongoDB slaat gegevens op in de vorm van BSON-documenten, omdat het een documentgeoriënteerde database is. Deze BSON-documenten worden opgeslagen in een collectie.

4. Leg sharding uit en wat het betekent in MongoDB?

Sharding is een techniek die in MongoDB wordt gebruikt om gegevens op meerdere machines op te slaan. MongoDB gebruikt sharding om de implementatie van grote datasets en bewerkingen met hoge doorvoer te ondersteunen. Sharding is een MongoDB-aanpak om te voldoen aan de normen en eisen van snelle gegevensgroei. De horizontale gegevenspartities in een database of zoekmachine worden een database-shard of een shard genoemd.

5. Noem enkele van de belangrijkste functies van MongoDB

  • Expressieve zoektaal
  • Zeer flexibele schaalbare database
  • Flexibele datamodellen in de vorm van documenten
  • Veel sneller dan andere traditionele databases.

6. Vergelijk CouchDB en MongoDB op hogere niveaus

Ondanks dat zowel CouchDB als MongoDB gedocumenteerde databases zijn, onderscheidt MongoDB zich nog steeds als een betere keuze voor grote applicaties die dynamiek in hun zoekopdrachten en geweldige prestaties vereisen. Dit betekent echter niet dat CouchDB niet efficiënt is, aangezien het ook wordt gebruikt voor toepassingen die af en toe veranderen en vooraf gedefinieerde zoekopdrachten gebruiken.

7. Hoe voeg je gegevens toe in MongoDB?

De syntaxisverklaring "inserts" wordt gebruikt om gegevens aan MongoDB toe te voegen. Om bijvoorbeeld een enkel document in te voegen, gebruikt u de onderstaande verzamelingsyntaxis:

insertOne

> db.fosslinux.insertOne({“title” :“Waarom ik van Foss houd”})

Gebruik de onderstaande syntaxis om meerdere documenten in een verzameling in te voegen:

insertmany

Met deze methode kunnen arrays worden doorgegeven aan documenten in de database.

8. Hoe verwijder je een document in MongoDB?

De CRUD API wordt in MongoDB gebruikt voor verwijderingsdoeleinden, omdat deze het volgende biedt:

deleteOne
deleteMany

Syntaxis die kunnen worden gebruikt om respectievelijk enkele en veel bestanden te verwijderen. De meegeleverde syntaxis helpt bij het uitfilteren van documenten als hun eerste parameters. De filters zijn essentieel omdat ze de criteria specificeren die zijn ingesteld om overeen te komen met de documenten die moeten worden verwijderd.

Voorbeeld:

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

9. Gegevens opvragen in MongoDB

Door gegevens in een tabel op te vragen, wordt een subset van documenten binnen een verzameling geretourneerd (van geen documenten tot alle documenten die in de verzameling aanwezig zijn). De “vind ”-methode wordt gebruikt om elke zoekopdracht in MongoDB uit te voeren. Het eerste argument dat na de find-instructie wordt gegeven, bepaalt welke documenten worden berekend of geretourneerd.

Voorbeeld:

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

10. Leg uit wat een replicaset is in MongoDB

Een replicaset kan een mongo-groepsinstantie worden genoemd die vergelijkbare gegevenssets host. In een replicaset is één knoop punt primair en het andere secundair. Alle gegevens worden gerepliceerd van de primaire naar secundaire knooppunten.

11. Hoe werkt replicatie in MongoDB?

Replicatie is het proces waarbij gegevens over verschillende servers worden gesynchroniseerd. Replicatie is essentieel omdat het helpt om minder redundantie te bieden en tegelijkertijd de beschikbaarheid van gegevens te vergroten. Replicatie is essentieel omdat het helpt voorkomen dat databases afzonderlijke servers verliezen vanwege de beschikbaarheid van meerdere kopieën op verschillende databaseservers. Bovendien stelt replicatie gebruikers in staat om te herstellen van serviceonderbrekingen en hardwarestoringen.

12. Markeer de rollen van profiler in MongoDB

Een databaseprofiler in MongoDB toont de karakteristieke prestaties van elke bewerking die op de database wordt uitgevoerd. Om zoekopdrachten van profilers te vinden die langzamer zijn dan verwacht, kunt u de profiler gebruiken.

13. Leg in het kort uit hoe u oude bestanden naar de map moveChunk in MongoDB kunt verplaatsen?

Ja, oude bestanden kunnen naar de map moveChunk worden verplaatst. Dit kan tijdens een normale shard-operatie. De bestanden die als back-up zijn gemaakt, kunnen worden verwijderd wanneer de bewerkingen zijn voltooid. Het verplaatsen van oude bestanden naar de map moveChunk helpt bij het creëren en besparen van ruimte.

14. Welke functie wordt in MongoDB gebruikt om veilige back-ups te maken?

In MongoDB wordt journaling gebruikt bij het maken van veilige back-ups.

15. Wat zijn indexen in MongoDB?

Indexen in MongoDB ondersteunen de uitvoering van queries. Als er geen indexen aanwezig zijn in MongoDB, moet een collectiescan worden uitgevoerd om alle documenten in een collectie te scannen en alle documenten te selecteren die een overeenkomende query-instructie bevatten.

16. Noem MongoDB-alternatieven

Hieronder staan ​​enkele MongoDB-alternatieven:

  • CouchDB
  • Cassandra
  • Opnieuw
  • Hbase
  • Riak

17. Heeft MongoDB veel Random-Access Memory (RAM) nodig?

Nee, dit is het leuke van MongoDB. U hebt niet veel RAM nodig om te werken, omdat het dynamisch de toewijzing van RAM opheft en toewijst op basis van andere procesvereisten.

18. Hoeveel indexen worden standaard door MongoDB gemaakt voor een nieuwe verzameling?

MongoDB maakt de _id-verzameling standaard voor alle nieuwe collecties.

19. Leg het belang uit van een gedekte zoekopdracht in MongoDB.

Met behulp van de gedekte query kan MongoDB de zoekvoorwaarden matchen en de veldresultaten retourneren door dezelfde index te gebruiken, aangezien alle velden al in de index zelf zijn gedekt. Dit kan zonder dat u in de gebruikte documenten hoeft te kijken. Ook worden gedekte zoekopdrachten sneller uitgevoerd omdat de indexen af ​​en toe in het RAM worden opgeslagen.

20. Wat is een gedekte zoekopdracht?

Een gedekte zoekopdracht is een zoekopdracht die:

  • De velden die in de resultaten worden berekend, zijn vergelijkbaar met de index
  • De velden die in de querysectie worden gebruikt, maken deel uit van de indexen die in de query worden gebruikt

21. Wat is aggregatie in MongoDB?

Aggregatiebewerkingen helpen bij het verwerken van gegevensrecords en het retourneren van de berekende resultaten. Aggregatiebewerkingen helpen bij het groeperen van waarden uit verschillende documenten, het uitvoeren van verschillende bewerkingen op de gegroepeerde gegevens en het retourneren van één enkel resultaat. MongoDB heeft drie alternatieve manieren om aggregatie uit te voeren:

  • De kaartverkleiningsfunctie gebruiken
  • De aggregatiepijplijn gebruiken
  • Aggregatiecommando's en -methoden voor één doel gebruiken.

22. Leg uit wat replicatie is en hoe het werkt in MongoDB?

Replicatie in MongoDB is het proces van het synchroniseren van gegevens tussen servers. Replicatie verhoogt de beschikbaarheid van gegevens en zorgt aan de andere kant voor redundantie. Replicatiehulpmiddelen voorkomen dat een database een enkele server verliest, omdat er meerdere gegevenskopieën op verschillende DB-servers staan. In het geval van serviceonderbrekingen en hardware, zal replicatie van fouten u helpen herstellen.

23. Primaire en secundaire replicasets in MongoDB

In MongoDB wordt replicatie "single-master" genoemd, wat betekent dat slechts één knooppunt de mogelijkheid heeft om schrijfbewerkingen tegelijk te accepteren. Primaire en hoofdknooppunten accepteren schrijfbewerkingen. Alle secundaire knooppunten (slave) worden gerepliceerd vanaf de primaire knooppunten (alleen-lezen. Ze kunnen alleen gereed zijn, maar kunnen niet worden geschreven).

24. Leg uit waarom gegevensbestanden in MongoDB groot zijn

Vanwege het mechanisme om gegevensbestanden vooraf toe te wijzen om fragmentatie van het bestandssysteem en reserveruimte te voorkomen, heeft MongoDB de neiging om zeer grote gegevensbestanden te hebben.

25. Leg uit wat een opslagengine in MongoDB is?

Een opslagengine is een onderdeel van de database dat verantwoordelijk is voor het beheer van de manier waarop gegevens op de schijf worden opgeslagen. De ene storage-engine ondersteunt bijvoorbeeld een hogere doorvoer voor veelzijdige schrijfbewerkingen, terwijl een andere storage-engine betere prestaties biedt, wat zorgt voor efficiëntie bij het verwerken van zware werklasten

26. Leg uit hoe journaling werkt in MongoDB

MongoDB slaat de schrijfbewerkingen op en past deze toe in het journaal en het geheugen op de schijf voordat de wijzigingen in de gegevensbestanden worden geëmuleerd bij het uitvoeren van journaal. Het schrijven van journaals is atomair, wat betekent dat ze consistent zijn met alle op schijf gejournaliseerde bestanden. MongoDB kan een journaalsubdirectory maken binnen de gedefinieerde directory door dbpath wanneer journaling is ingeschakeld.

27. Noem de twee opslag-engines die door MongoDB worden gebruikt

De twee opslag-engines die door MongoDB worden gebruikt zijn:

  • WiredTiger
  • MMAPv1

28. Leg uit hoe vergrendeling en transactie wordt bereikt in MongoDB

Om concepten van vergrendeling en transactie in MongoDB te bereiken, kunt u documenten nesten gebruiken, ook wel ingesloten documenten genoemd. Bovendien ondersteunt MongoDB atomaire operaties bij het werken binnen een enkel document.

29. Wat is GridFS in MongoDB?

Een GridFS is een specificatie voor het ophalen en opslaan van bestanden die de maximale door BSON aanbevolen grootte van 16 MB overschrijden. GridFS verdeelt bestanden die de normaal aanbevolen limiet overschrijden in twee delen of brokken en slaat ze op als afzonderlijke bestanden wanneer ze de opslaglimiet overschrijden.

30. Leg uit hoe gelijktijdigheid van invloed is op primaire replicasets?

MongoDB schrijft altijd naar de primaire oplog tijdens het schrijven naar een verzameling op de primaire tijdens replicatie. De primaire oplog is een speciale verzameling die wordt gevonden in de lokale database. Daarom moet MongoDB in dergelijke gevallen zowel de lokale database als de collectiedatabase vergrendelen.

31. Leg de betekenis uit van een naamruimte in relatie tot MongoDB

Een naamruimte, kort gezegd, staat bekend als de aaneenschakeling van de collectie- en databasenaam. bijvoorbeeld foss.linux waarbij foss de database is en linux de verzameling.

32. De ObjectID-structuur in MongoDB uitleggen?

Een ObjectID is een 12-byte BSON-documenttype dat het volgende bevat:

  • 3-byte teller
  • 2-byte proces-ID
  • 4-bytes waarde die seconden voorstelt
  • 3-byte machine-ID

33. Leg uit hoe MongoDB als beter wordt beschouwd dan andere SQL-databases.

MongoDB staat bekend om het mogelijk maken van zeer schaalbare en flexibele documentstructuren. Een enkel gegevensdocument kan bijvoorbeeld vijf kolommen bevatten en andere documenten in dezelfde verzameling kunnen tien kolommen bevatten. MongoDB-databases zijn veel sneller dan SQL-databases omdat ze efficiënte opslag- en indexeringstechnieken hebben.

34. Noem alle talen die met MongoDB kunnen worden gebruikt?

Bij het schrijven van deze interviewvragen ondersteunt MongoDB de volgende officiële talen C, C#, Java, C++, Python, PHP, Ruby, Scala, Erlang, Go en Perl. Alle genoemde talen kunnen worden gebruikt met MongoDB. Dit neemt echter niet weg dat er in de toekomst meer talen kunnen worden geïntroduceerd om MongoDB te ondersteunen.

35. Ondersteunt MongoDB beperkingen voor externe sleutels?

MongoDB ondersteunt geen externe sleutelbeperkingen en gerelateerde relaties

36. Markeer de punten waarmee rekening moet worden gehouden bij het maken van een schema in MongoDB

Er moet rekening worden gehouden met de punten die hierin worden vermeld:

  • Je moet joins doen in de schrijfmodus, niet in de leesmodus
  • Als u documenten samen gebruikt, is het raadzaam om ze te scheiden; combineer de objecten echter in een enkel document
  • Optimaliseer uw schema voor veelvuldig gebruik
  • Zorg er altijd voor dat het schema is ontworpen in overeenstemming met uw vereisten
  • Complexe aggregaties moeten in het schema worden gedaan

37. Geef de syntaxis op die worden gebruikt om een ​​verzameling te maken en neer te zetten in MongoDB

De syntaxis die wordt gebruikt om een ​​collectie te maken is:db.createCollection(name,options)

De syntaxis die wordt gebruikt om een ​​verzameling te verwijderen is:db.collection.drop()

38. Waaruit bestaat de ObjectID in MongoDB?

ObjectID bestaat uit de volgende componenten:

  • Client computer-ID
  • Tijdstempel
  • Cliëntproces-ID
  • teller met verhoogde teller van 3 bytes

39. Geef de gegevenstypen die in MongoDB worden gebruikt een naam

MongoDB biedt een breed scala aan gegevenstypen als waarden in de documenten. MongoDB-documenten zijn vergelijkbaar met objecten in JavaScript. Naast het essentiële waardepaar van de JSON, ondersteunt MongoDB ook verschillende aanvullende gegevenstypen. De belangrijkste gegevenstypen in MongoDB zijn:

  • Booleaans
{"x" : true}
  • Nummer
{"x" : 4}
  • Null
{"x" : null}
  • String
{"x" : "foobar"}
  • Datum
{"x" : new Date()}
  • Array
{"x" : ["a", "b", "c"]}
  • Regelmatige expressie
{"x" : /foobar/i}
  • Object-ID
{"x" : ObjectId()}
  • Binaire gegevens
Binary data is a concatenation of arbitrary bytes
  • Code
{"x" : function() { /* ... */ }}
  • Ingesloten document
{"x" : {"foo" : "bar"}}

40. Wanneer moet u MongoDB gebruiken?

MongoDB kan voor verschillende dingen worden gebruikt. Ten eerste kunt u bij het bouwen van internettoepassingen MongoDB gebruiken. Ten tweede kan MongoDB worden gebruikt om bedrijfsapplicaties te bouwen die gericht zijn op snel evolueren en elegant schalen. Ontwikkelaars die schaalbare applicaties bouwen met behulp van agile methodologieën zijn bekend met MongoDB omdat het een uitstekende keuze is voor het bouwen van schaalbare applicaties. Als u het volgende moet doen, zou MongoDB uw eerste keuze moeten zijn:

  • Schaal uw gegevensopslagplaatsen op tot vele beheersbare enorme formaten
  • Evolueer het implementatietype dankzij snelle zakelijke veranderingen
  • Beheer, zoek en bewaar gegevens met behulp van georuimtelijke, tekst- en tijdreeksdimensies.
  • Ondersteun het bouwen van snelle iteratieve ontwikkeling
  • Schaalt naar hogere niveaus van schrijf- en leesverkeer – MongoDB ondersteunt horizontale schaling via sharding, gegevensdistributie over verschillende machines en faciliteert bewerkingen met een hogere doorvoer die grote datasets bevatten.

Conclusie

Dit artikel heeft bijna alle belangrijke interviewvragen behandeld die je tijdens een interview kunt tegenkomen. We hopen dat de vragen je helpen om je goed voor te bereiden op je volgende sollicitatiegesprek. Als je nog vragen hebt, plaats ze dan in het opmerkingengedeelte, want je publiek betekent veel voor ons. Bedankt voor het lezen.


  1. maxmemory-parameter in redis.conf

  2. 3 manieren om de rij met de maximale waarde in SQL te selecteren

  3. redis + gevent - Slechte prestaties - wat doe ik verkeerd?

  4. Dubbele waarden vinden in een MongoDB-array