sql >> Databasteknik >  >> NoSQL >> MongoDB

Vanliga MongoDB-intervjufrågor

Om du framgångsrikt har blivit nominerad som intervjuperson för ämnet ovan rekommenderar vi att du kollar in några av de vanligaste frågorna i den här artikelguiden. MongoDB-intervjufrågor är avsiktligt utformade för att hjälpa våra läsare att bekanta sig med arten och formen av frågor de kan stöta på under en MongoDB-intervju.

En viktig punkt att notera är dock att bra intervjuare knappast ställer speciella frågor under en intervju. Istället tenderar de ibland att förbli professionella och oförutsägbara.

Obs! Ha alltid någon grundläggande uppfattning om ämnet innan en intervju. Detta kommer att hjälpa dig att svara på de flesta av frågorna från intervjuaren eller intervjukommittén.

Den här artikelguiden kommer att visa några av de vanligaste frågorna i en MongoDB-intervju. Håll därför utkik för att lära dig mer.

Vanliga MongoDB-intervjufrågor

Nedan är några av de mest ställda MongoDB-intervjufrågorna:

1. Vad är MongoDB?

Det är en dokumentorienterad databas som ger hög tillgänglighet, hög prestanda och enkel skalbarhet. MongoDB är en NoSQL-databas.

2. Vad är en NoSQL-databas?

En NoSQL-databas hjälper till att tillhandahålla ett sätt att hämta och lagra modellerad data på alla andra sätt än genom att använda tabellrelationer (de som används i relationsdatabaser). Olika typer av NoSQL-databaser är:

  • Nyckel-värde
  • Kolumnorienterad
  • Dokumentorienterad
  • Diagram

3. Vilken typ av NoSQL-databas är MongoDB?

MongoDB lagrar data i form av BSON-dokument eftersom det är en dokumentorienterad databas. Dessa BSON-dokument lagras i en samling.

4. Förklara sharding och vad det betyder i MongoDB?

Sharding är en teknik som används i MongoDB för att lagra data på flera maskiner. MongoDB använder skärning för att stödja distribution av stora datamängder och operationer med hög genomströmning. Sharding är en MongoDB-metod för att möta standarderna och kraven för snabb datatillväxt. De horisontella datapartitionerna i en DB eller sökmotor kallas en databasskärva eller en shard.

5. Nämn några av huvudfunktionerna i MongoDB

  • Expressivt frågespråk
  • Mycket agil skalbar databas
  • Flexibla datamodeller i form av dokument
  • Mycket snabbare än andra traditionella databaser.

6. Jämför CouchDB och MongoDB på högre nivåer

Trots att både CouchDB och MongoDB är dokumenterade databaser, framstår MongoDB fortfarande som ett bättre val för stora applikationer som kräver dynamik i sina frågor och fantastiska prestanda. Detta betyder dock inte att CouchDB inte är effektivt eftersom det också används för applikationer som ibland ändras och använder fördefinierade frågor.

7. Hur lägger man till data i MongoDB?

Syntaxsatsen "inserts" används för att lägga till data till MongoDB. Till exempel, för att infoga ett enstaka dokument, använd samlingssyntaxen nedan:

insertOne

> db.fosslinux.insertOne({“title” :“Varför jag älskar Foss”})

För att infoga flera dokument i en samling, använd syntaxen nedan:

insertmany

Denna metod kommer att tillåta överföring av arrayer till dokument i databasen.

8. Hur tar man bort ett dokument i MongoDB?

CRUD API används i MongoDB för raderingsändamål eftersom det tillhandahåller följande:

deleteOne
deleteMany

Syntaxer som kan användas för att radera enstaka respektive många filer. De medföljande syntaxerna hjälper till att filtrera bort dokument som deras första parametrar. Filtren är viktiga eftersom de anger kriterierna som ska matcha de dokument som ska tas bort.

Exempel:

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

9. Hur man frågar efter data i MongoDB

Att fråga efter data i en tabell hjälper till att returnera en delmängd av dokument i en samling (från inga dokument till alla dokument som finns i samlingen). "hitta ”-metoden används för att utföra alla frågor i MongoDB. Det första argumentet som ges efter find-satsen kommer att avgöra vilka dokument som beräknas eller returneras.

Exempel:

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

10. Förklara vad som är en replikuppsättning i MongoDB

En replikuppsättning kan kallas en mongogruppinstans som är värd för liknande datamängder. I en replikuppsättning är en nod primär och den andra sekundär. All data replikeras från den primära till sekundära noden.

11. Hur fungerar replikering i MongoDB?

Replikering är den process som innebär synkronisering av data över olika servrar. Replikering är nyckeln eftersom det ger mindre redundans samtidigt som datatillgängligheten ökar. Replikering är nyckeln eftersom det hjälper till att förhindra databaser från att förlora enstaka servrar på grund av tillgången på flera kopior i olika databasservrar. Replikering gör det också möjligt för användare att återhämta sig från tjänstavbrott och maskinvarufel.

12. Markera rollerna som profiler i MongoDB

En databasprofilerare i MongoDB visar den karakteristiska prestandan för varje operation som görs mot databasen. För att hitta frågor från profiler som är långsammare än förväntat kan du använda profileraren.

13. Förklara kort hur man flyttar gamla filer till moveChunk-katalogen i MongoDB?

Ja, gamla filer kan flyttas till moveChunk-katalogen. Detta kan göras under en normal skärvningsoperation. Filerna som gjorts som säkerhetskopior kan raderas när operationerna är klara. Att flytta gamla filer till moveChunk-katalogen hjälper till att skapa och spara utrymme.

14. Vilken funktion används i MongoDB för att skapa säkra säkerhetskopior?

I MongoDB används journalföring samtidigt som säkra säkerhetskopior skapas.

15. Vad är index i MongoDB?

Index i MongoDB stöder exekvering av frågor. Om index inte finns i MongoDB, måste en samlingsskanning göras för att skanna alla dokument i en samling och välja alla dokument som innehåller en matchande frågesats.

16. Namnge MongoDB-alternativ

Nedan är några av MongoDB-alternativen:

  • CouchDB
  • Cassandra
  • Redis
  • Hbase
  • Riak

17. Kräver MongoDB massor av Random-Access Memory (RAM)?

Nej, det här är det roliga med MongoDB. Du behöver inte mycket RAM för att köra eftersom det dynamiskt avallokerar och allokerar RAM baserat på andra processkrav.

18. Som standard, hur många index skapas av MongoDB för en ny samling?

MongoDB skapar _id-samlingen som standard för alla nya samlingar.

19. Förklara vikten av en täckt fråga i MongoDB.

Med hjälp av den täckta frågan kan MongoDB matcha frågevillkoren och returnera fältresultaten genom att använda samma index eftersom alla fält redan har täckts i själva indexet. Detta kan göras utan att ta en titt inuti de dokument som används. Dessutom exekveras täckta frågor snabbare eftersom indexen ibland lagras i RAM-minnet.

20. Vad är en täckt fråga?

En täckt fråga är en fråga som:

  • Fälten som beräknas i resultaten liknar indexet
  • Fälten som används i frågeavsnittet är en del av indexen som används i frågan

21. Vad är aggregation i MongoDB?

Aggregationsoperationer hjälper till att bearbeta dataposter och returnera de beräknade resultaten. Aggregationsoperationer hjälper till att gruppera värden från olika dokument, utföra olika operationer på den grupperade datan och returnera ett enda resultat. MongoDB har tre alternativa sätt att utföra aggregering:

  • Använda kartförminskningsfunktionen
  • Använda aggregeringspipeline
  • Använda aggregeringskommandon och metoder för enstaka ändamål.

22. Förklara vad som är replikering och hur det fungerar i MongoDB?

Replikering i MongoDB är processen att synkronisera data över servrar. Replikering ökar datatillgängligheten medan den å andra sidan ger redundans. Replikeringshjälpmedel förhindrar att en databas förlorar en enda server eftersom flera datakopior finns på olika DB-servrar. I händelse av tjänstavbrott och hårdvara, kommer felreplikering att hjälpa dig att återställa.

23. Primära och sekundära replikuppsättningar i MongoDB

I MongoDB hänvisas replikering till som "single-master", vilket betyder att endast en nod har förmågan att acceptera skrivoperationer åt gången. Primära och masternoder accepterar skrivningar. Alla sekundära noder (slav) replikeras från de primära noderna (skrivskyddad. De kan bara vara klara men kan inte skrivas).

24. Förklara varför datafiler i MongoDB är stora

På grund av dess mekanism för att förallokera datafiler för att undvika filsystemfragmentering och reservera utrymme, tenderar MongoDB att ha mycket stora datafiler.

25. Förklara vad en lagringsmotor i MongoDB är?

En lagringsmotor är en del av databasen som ansvarar för att hantera det sätt på vilket data lagras på disken. Till exempel kan en lagringsmotor stödja en högre genomströmning för mångsidiga skrivoperationer medan en annan lagringsmotor erbjuder bättre prestanda, vilket säkerställer effektivitet när du hanterar tunga arbetsbelastningar

26. Förklara hur journalföring fungerar i MongoDB

MongoDB lagrar och tillämpar skrivfunktionerna i journalen och minnet på disken innan ändringarna i datafilerna emuleras när de körs med journalisering. Journalskrivningar är atomära, vilket innebär att de följer konsistens på alla journalförda filer på disken. MongoDB kan skapa en journalunderkatalog inom den definierade katalogen med dbpath när journalisering är aktiverad.

27. Namnge de två lagringsmotorerna som används av MongoDB

De två lagringsmotorerna som används av MongoDB är:

  • WiredTiger
  • MMAPv1

28. Förklara hur låsning och transaktion uppnås i MongoDB

För att uppnå koncept för låsning och transaktion i MongoDB kan du använda dokumentkapsling, även kallat inbäddade dokument. Dessutom stöder MongoDB atomoperationer när du arbetar inom ett enda dokument.

29. Vad är GridFS i MongoDB?

En GridFS är en specifikation för hämtning och lagring av filer som överstiger den maximala BSON-rekommenderade storleken på 16 MB. GridFS delar upp filer som överskrider den normalt rekommenderade gränsen i två delar eller bitar och lagrar dem som separata filer när de överskrider lagringsgränsen.

30. Förklara hur samtidighet påverkar primära replikuppsättningar?

MongoDB skriver alltid till den primära oploggen medan den skriver till en samling på den primära under replikering. Den primära oploggen är en speciell samling som finns i den lokala databasen. Därför måste MongoDB låsa både den lokala databasen och samlingsdatabasen i sådana fall.

31. Förklara betydelsen av ett namnområde i relation till MongoDB

Ett namnområde är kortfattat känt som sammanlänkningen av samlingens och databasnamnet. till exempel foss.linux där foss är databasen och linux är samlingen.

32. Förklara ObjectID-strukturen i MongoDB?

Ett ObjectID är en 12-byte BSON-dokumenttyp som innehåller:

  • 3-byte-räknare
  • 2-byte process-id
  • 4-byte värde som visar sekunder
  • 3-byte maskinidentifierare

33. Förklara hur MongoDB anses vara bättre än andra SQL-databaser.

MongoDB är känt för att tillåta mycket skalbara och flexibla dokumentstrukturer. Till exempel kan ett enda datadokument innehålla fem kolumner, och andra dokument i samma samling kan innehålla tio kolumner. MongoDB-databaser är mycket snabbare än SQL-databaser eftersom de har effektiva lagrings- och indexeringstekniker.

34. Namnge alla språk som kan användas med MongoDB?

När du skriver dessa intervjufrågor stöder MongoDB följande officiella språk C, C#, Java, C++, Python, PHP, Ruby, Scala, Erlang, Go och Perl. Alla de nämnda språken kan användas med MongoDB. Detta hindrar dock inte det faktum att fler språk kan introduceras i framtiden för att stödja MongoDB.

35. Stöder MongoDB begränsningar för främmande nyckel?

MongoDB stöder inte begränsningar för främmande nyckel och relaterade relationer

36. Markera de punkter som måste beaktas när du skapar ett schema i MongoDB

Punkterna som anges här måste beaktas:

  • Du bör göra anslutningar när du är i skrivläge, inte i läsläge
  • Om du använder dokument tillsammans, är det lämpligt att separera dem; kombinera dock objekten till ett enda dokument
  • Optimera ditt schema för frekvent användning
  • Se alltid till att schemat är utformat i linje med dina krav
  • Komplexa aggregationer bör göras i schemat

37. Ange syntaxerna som används för att skapa och släppa en samling i MongoDB

Syntaxen som används för att skapa en samling är:db.createCollection(namn,alternativ)

Syntaxen som används för att ta bort en samling är:db.collection.drop()

38. Vad består ObjectID i MongoDB av?

ObjectID består av följande komponenter:

  • Klientmaskin-ID
  • Tidsstämpel
  • Klientprocess-ID
  • 3 byte ökad räknare

39. Namnge datatyperna som används i MongoDB

MongoDB erbjuder ett brett utbud av datatyper som värden i dokumenten. MongoDB-dokument liknar objekt i JavaScript. Vid sidan av JSON:s väsentliga värdepar-natur, stöder MongoDB också olika ytterligare datatyper. De viktigaste datatyperna i MongoDB är:

  • Boolesk
{"x" : true}
  • Nummer
{"x" : 4}
  • Null
{"x" : null}
  • Sträng
{"x" : "foobar"}
  • Datum
{"x" : new Date()}
  • Array
{"x" : ["a", "b", "c"]}
  • Reguljärt uttryck
{"x" : /foobar/i}
  • Objekt-ID
{"x" : ObjectId()}
  • Binära data
Binary data is a concatenation of arbitrary bytes
  • Kod
{"x" : function() { /* ... */ }}
  • Inbäddat dokument
{"x" : {"foo" : "bar"}}

40. När ska du använda MongoDB?

MongoDB kan användas till olika saker. För det första, när du bygger internetapplikationer kan du använda MongoDB. För det andra kan MongoDB användas för att bygga affärsapplikationer som syftar till att snabbt utvecklas och skala elegant. Utvecklare som bygger skalbara applikationer med hjälp av agila metoder är bekanta med MongoDB eftersom det är ett utmärkt val för att bygga skalbara applikationer. Om du behöver göra följande bör MongoDB vara ditt förstahandsval:

  • Skala dina dataförråd till många hanterbara stora storlekar
  • Utveckla implementeringstypen på grund av snabba affärsförändringar
  • Hantera, sök och lagra data med hjälp av geospatiala, text- och tidsseriedimensioner.
  • Stöd uppbyggnaden av snabb iterativ utveckling
  • Skalar till högre nivåer av skriv- och lästrafik – MongoDB stöder horisontell skalning via skärning, datadistribution över distinkta maskiner och underlättar operationer med högre genomströmning som innehåller stora datamängder.

Slutsats

Den här artikeln har utförligt täckt nästan alla viktiga intervjufrågor man kan stöta på när man är i en intervju. Vi hoppas att frågorna kommer att hjälpa dig att förbereda dig ordentligt för din nästa intervju. Om du har några missade frågor, vänligen posta dem i kommentarsfältet, eftersom din publik betyder mycket för oss. Tack för att du läste.


  1. Hur fungerar sorteringen i den nya mongodb PECL-förlängningen?

  2. MongoDB $storlek

  3. Spring Data MongoDB - Annotation @CreatedDate fungerar inte när du använder med anpassat Id-fält

  4. Node js mongoose befolka gräns