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

Almindelige MongoDB-interviewspørgsmål

Hvis du er blevet nomineret som interviewperson for ovenstående emne, anbefaler vi, at du tjekker nogle af de ofte stillede spørgsmål i denne artikelvejledning. MongoDB-interviewspørgsmål er bevidst designet til at hjælpe vores læsere med at blive bekendt med arten og formen af ​​spørgsmål, de kan støde på under et MongoDB-interview.

En vigtig pointe at bemærke er dog, at gode interviewere næppe stiller særlige spørgsmål under et interview. I stedet har de nogle gange en tendens til at forblive professionelle og uforudsigelige.

Bemærk: Hav altid et grundlæggende begreb om emnet før et interview. Dette vil hjælpe dig med at besvare de fleste af de spørgsmål, som intervieweren eller interviewudvalget har stillet.

Denne artikelguide viser nogle af de ofte stillede spørgsmål i et MongoDB-interview. Følg derfor med for at lære mere.

Almindelige MongoDB-interviewspørgsmål

Nedenfor er nogle af de mest stillede MongoDB-interviewspørgsmål:

1. Hvad er MongoDB?

Det er en dokumentorienteret database, der giver høj tilgængelighed, høj ydeevne og nem skalerbarhed. MongoDB er en NoSQL-database.

2. Hvad er en NoSQL-database?

En NoSQL-database hjælper med at give en måde at hente og gemme modellerede data på alle andre måder end ved brug af tabelrelationer (dem, der bruges i relationsdatabaser). Forskellige typer NoSQL-databaser er:

  • Nøgle-værdi
  • Kolonneorienteret
  • Dokumentorienteret
  • Graf

3. Hvilken type NoSQL-database er MongoDB?

MongoDB lagerfører data i form af BSON-dokumenter, da det er en dokumentorienteret database. Disse BSON-dokumenter er gemt i en samling.

4. Forklar sharding, og hvad det betyder i MongoDB?

Sharding er en teknik, der bruges i MongoDB til at gemme data på tværs af flere maskiner. MongoDB bruger sharding til at understøtte implementering af store datasæt og operationer med høj kapacitet. Sharding er en MongoDB-tilgang til at opfylde standarderne og kravene til hurtig datavækst. De vandrette datapartitioner i en DB- eller søgemaskine kaldes et databaseshard eller et shard.

5. Nævn nogle af nøglefunktionerne i MongoDB

  • Ekspressivt forespørgselssprog
  • Meget agil skalerbar database
  • Fleksible datamodeller i form af dokumenter
  • Meget hurtigere end andre traditionelle databaser.

6. Sammenlign CouchDB og MongoDB på højere niveauer

På trods af at både CouchDB og MongoDB er dokumenterede databaser, skiller MongoDB sig stadig ud som et bedre valg til store applikationer, der kræver dynamik i deres forespørgsler og fremragende ydeevne. Dette betyder dog ikke, at CouchDB ikke er effektiv, da den også bruges til applikationer, der lejlighedsvis ændrer sig og bruger foruddefinerede forespørgsler.

7. Hvordan tilføjer man data i MongoDB?

Syntakssætningen "inserts" bruges til at tilføje data til MongoDB. For eksempel, for at indsætte et enkelt dokument, skal du bruge samlingssyntaksen nedenfor:

insertOne

> db.fosslinux.insertOne({“title” :“Hvorfor jeg elsker Foss”})

Brug nedenstående syntaks for at indsætte adskillige dokumenter i en samling:

insertmany

Denne metode vil tillade videregivelse af arrays til dokumenter i databasen.

8. Hvordan sletter man et dokument i MongoDB?

CRUD API'et bruges i MongoDB til sletningsformål, da det giver følgende:

deleteOne
deleteMany

Syntakser, der kan bruges til at slette henholdsvis enkelte og mange filer. De medfølgende syntakser hjælper med at filtrere dokumenter fra som deres første parametre. Filtrene er afgørende, da de specificerer de kriterier, der er sat til at matche de dokumenter, der skal fjernes.

Eksempel:

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

9. Sådan forespørges data i MongoDB

Forespørgsel til data i en tabel hjælper med at returnere et undersæt af dokumenter inde i en samling (fra ingen dokumenter til alle dokumenter, der er til stede i samlingen). "find ” metode bruges til at udføre enhver forespørgsel i MongoDB. Det første argument, der gives efter find-erklæringen, bestemmer, hvilke dokumenter der beregnes eller returneres.

Eksempel:

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

10. Forklar, hvad der er et replikasæt i MongoDB

Et replikasæt kan betegnes som en mongo-gruppeinstans, der er vært for lignende datasæt. I et replikasæt er den ene node primær, og den anden er sekundær. Alle data replikeres fra de primære til sekundære noder.

11. Hvordan fungerer replikering i MongoDB?

Replikering er den proces, der indebærer synkronisering af data på tværs af forskellige servere. Replikering er nøglen, da det hjælper med at give mindre redundans og samtidig øge datatilgængeligheden. Replikering er nøglen, da det hjælper med at forhindre databaser i at miste enkelte servere på grund af tilgængeligheden af ​​flere kopier i forskellige databaseservere. Replikering gør det også muligt for brugere at komme sig efter tjenesteafbrydelser og hardwarefejl.

12. Fremhæv rollerne som profiler i MongoDB

En databaseprofiler i MongoDB viser den karakteristiske ydeevne af hver operation udført mod databasen. For at finde forespørgsler fra profiler, der er langsommere end forventet, kan du bruge profiler.

13. Forklar kort, hvordan man flytter gamle filer til moveChunk-mappen i MongoDB?

Ja, gamle filer kan flyttes til moveChunk-mappen. Dette kan gøres under en normal skæreoperation. Filerne lavet som sikkerhedskopier kan slettes, når handlingerne er udført. Flytning af gamle filer til moveChunk-biblioteket hjælper med at skabe og spare plads.

14. Hvilken funktion bruges i MongoDB til at lave sikre sikkerhedskopier?

I MongoDB bruges journalføring, mens der oprettes sikre sikkerhedskopier.

15. Hvad er indekser i MongoDB?

Indekser i MongoDB understøtter udførelsen af ​​forespørgsler. Hvis indekser ikke er til stede i MongoDB, skal der foretages en samlingsscanning for at scanne alle dokumenterne i en samling og vælge alle de dokumenter, der indeholder en matchende forespørgselssætning.

16. Navngiv MongoDB-alternativer

Nedenfor er nogle af MongoDB-alternativerne:

  • CouchDB
  • Cassandra
  • Redis
  • Hbase
  • Riak

17. Kræver MongoDB masser af Random-Access Memory (RAM)?

Nej, det er det sjove ved MongoDB. Du behøver ikke en masse RAM for at køre, da det dynamisk deallokerer og allokerer RAM baseret på andre proceskrav.

18. Hvor mange indekser oprettes som standard af MongoDB til en ny samling?

MongoDB opretter _id-samlingen som standard for alle nye samlinger.

19. Forklar vigtigheden af ​​en dækket forespørgsel i MongoDB.

Ved hjælp af den dækkede forespørgsel kan MongoDB matche forespørgselsbetingelserne og returnere feltresultaterne ved at bruge det samme indeks, da alle felter allerede er dækket i selve indekset. Dette kan gøres uden at have et kig inde i de dokumenter, der bruges. Også dækkede forespørgsler udføres hurtigere, da indekserne lejlighedsvis er gemt i RAM.

20. Hvad er en dækket forespørgsel?

En dækket forespørgsel er en forespørgsel, der:

  • Felterne beregnet i resultaterne ligner indekset
  • Felterne brugt i forespørgselssektionen er en del af de indekser, der bruges i forespørgslen

21. Hvad er aggregation i MongoDB?

Aggregeringsoperationer hjælper med at behandle dataposter og returnere de beregnede resultater. Aggregeringsoperationer hjælper med at gruppere værdier fra forskellige dokumenter, udføre forskellige operationer på de grupperede data og returnere et enkelt resultat. MongoDB har tre alternative måder at udføre aggregering på:

  • Brug af kort-reducer-funktionen
  • Brug af aggregeringspipeline
  • Brug af aggregeringskommandoer og -metoder til en enkelt formål.

22. Forklar, hvad replikering er, og hvordan det fungerer i MongoDB?

Replikering i MongoDB er processen med at synkronisere data på tværs af servere. Replikering øger datatilgængeligheden, mens den på den anden side giver redundans. Replikeringshjælpemidler forhindrer en database i at miste en enkelt server, da flere datakopier er på forskellige DB-servere. I tilfælde af serviceafbrydelser og hardware vil fejlreplikering hjælpe dig med at gendanne.

23. Primære og sekundære replikasæt i MongoDB

I MongoDB omtales replikering som "single-master", hvilket betyder, at kun én node har evnen til at acceptere skriveoperationer ad gangen. Primære og master noder accepterer skrivninger. Alle sekundære noder (slave) replikeres fra de primære noder (skrivebeskyttet. De kan kun være klar, men kan ikke skrives).

24. Forklar hvorfor datafiler i MongoDB er store

På grund af sin mekanisme til at forhåndsallokere datafiler for at undgå filsystemfragmentering og reservere plads, har MongoDB en tendens til at have meget store datafiler.

25. Forklar, hvad en lagringsmotor i MongoDB er?

En lagermotor er en del af databasen, der er ansvarlig for at styre den måde, hvorpå data lagres på disken. For eksempel kan én storage-motor muligvis understøtte en højere gennemløb for alsidige skriveoperationer, mens en anden storage-motor giver bedre ydeevne, hvilket sikrer effektivitet, mens man håndterer store arbejdsbyrder

26. Forklar, hvordan journalføring fungerer i MongoDB

MongoDB gemmer og anvender skrivefunktionerne i journalen på disken og hukommelsen, før ændringerne i datafilerne emuleres, når de kører med journalføring. Journalskrivninger er atomare, hvilket betyder, at de følger ensartethed på alle journalførte filer på disken. MongoDB kan oprette en journalundermappe i den definerede mappe ved hjælp af dbpath, når journalisering er aktiveret.

27. Navngiv de to lagringsmotorer, der bruges af MongoDB

De to lagringsmotorer, der bruges af MongoDB er:

  • WiredTiger
  • MMAPv1

28. Forklar hvordan låsning og transaktion opnås i MongoDB

For at opnå koncepter for låsning og transaktion i MongoDB kan du bruge dokumentindlejring, også kaldet indlejrede dokumenter. Desuden understøtter MongoDB atomoperationer, når du arbejder inden for et enkelt dokument.

29. Hvad er GridFS i MongoDB?

En GridFS er en specifikation til hentning og lagring af filer, der overstiger den maksimale BSON anbefalede størrelse på 16 MB. GridFS opdeler filer, der overskrider den normalt anbefalede grænse, i to dele eller bidder og gemmer dem som separate filer, når de overskrider lagergrænsen.

30. Forklar, hvordan samtidighed påvirker primære replikasæt?

MongoDB skriver altid til den primære oplog, mens den skriver til en samling på den primære under replikering. Den primære oplog er en særlig samling fundet i den lokale database. Derfor er MongoDB nødt til at låse både lokal- og samlingsdatabaserne i sådanne tilfælde.

31. Forklar betydningen af ​​et navneområde i forhold til MongoDB

Et navneområde er kort fortalt kendt som sammenkædningen af ​​samlingen og databasenavnet. for eksempel foss.linux, hvor foss er databasen og linux er samlingen.

32. Forklar ObjectID-strukturen i MongoDB?

Et ObjectID er en 12-byte BSON-dokumenttype, der indeholder:

  • 3-byte tæller
  • 2-byte proces-id
  • 4-bytes værdi præsenterer sekunder
  • 3-byte maskin-id

33. Forklar, hvordan MongoDB anses for at være bedre end andre SQL-databaser.

MongoDB er kendt for at tillade meget skalerbare og fleksible dokumentstrukturer. For eksempel kan et enkelt datadokument indeholde fem kolonner, og andre dokumenter i samme samling kan indeholde ti kolonner. MongoDB-databaser er meget hurtigere end SQL-databaser, da de har effektive lagrings- og indekseringsteknikker.

34. Nævn alle sprog, der kan bruges med MongoDB?

Når du skriver disse interviewspørgsmål, understøtter MongoDB følgende officielle sprog C, C#, Java, C++, Python, PHP, Ruby, Scala, Erlang, Go og Perl. Alle de nævnte sprog kan bruges med MongoDB. Dette afskrækker dog ikke det faktum, at flere sprog kan introduceres i fremtiden for at understøtte MongoDB.

35. Understøtter MongoDB fremmednøglebegrænsninger?

MongoDB understøtter ikke udenlandske nøglebegrænsninger og relaterede relationer

36. Fremhæv de punkter, der skal overvejes, mens du opretter et skema i MongoDB

Punkterne angivet heri skal tages i betragtning:

  • Du bør oprette joinforbindelser, når du skriver, ikke i læsetilstand
  • Hvis du bruger dokumenter sammen, er det tilrådeligt at adskille dem; kombiner dog objekterne til et enkelt dokument
  • Optimer dit skema til hyppig brug
  • Sørg altid for, at skemaet er designet i overensstemmelse med dine krav
  • Komplekse aggregeringer bør udføres i skemaet

37. Angiv de syntakser, der bruges til at oprette og slippe en samling i MongoDB

Syntaksen, der bruges til at oprette en samling er:db.createCollection(navn,indstillinger)

Syntaksen, der bruges til at slette en samling er:db.collection.drop()

38. Hvad består ObjectID'et i MongoDB af?

ObjectID er sammensat af følgende komponenter:

  • Kundemaskine-id
  • Tidsstempel
  • Kundeproces-id
  • 3 byte øget tæller

39. Navngiv de datatyper, der bruges i MongoDB

MongoDB tilbyder en bred vifte af datatyper som værdier i dokumenterne. MongoDB-dokumenter ligner objekter i JavaScript. Udover JSONs væsentlige værdipar-natur, understøtter MongoDB også forskellige yderligere datatyper. De vigtigste datatyper i MongoDB er:

  • Boolesk
{"x" : true}
  • Nummer
{"x" : 4}
  • Nul
{"x" : null}
  • String
{"x" : "foobar"}
  • Dato
{"x" : new Date()}
  • Array
{"x" : ["a", "b", "c"]}
  • Regulært udtryk
{"x" : /foobar/i}
  • Objekt-id
{"x" : ObjectId()}
  • Binære data
Binary data is a concatenation of arbitrary bytes
  • Kode
{"x" : function() { /* ... */ }}
  • Indlejret dokument
{"x" : {"foo" : "bar"}}

40. Hvornår skal du bruge MongoDB?

MongoDB kan bruges til forskellige ting. For det første, når du bygger internetapplikationer, kan du bruge MongoDB. For det andet kan MongoDB bruges til at bygge forretningsapplikationer, der sigter mod hurtigt at udvikle sig og skalere elegant. Udviklere, der bygger skalerbare applikationer ved hjælp af agile metoder, er bekendt med MongoDB, da det er et glimrende valg til at bygge skalerbare applikationer. Hvis du har brug for at gøre følgende, bør MongoDB være dit første valg:

  • Skaler dine datalagre til mange håndterbare massive størrelser
  • Udvikler implementeringstypen på grund af hurtige forretningsændringer
  • Administrer, søg og gem data ved hjælp af geospatiale, tekst- og tidsseriedimensioner.
  • Støt opbygningen af ​​hurtig iterativ udvikling
  • Skaler til højere niveauer af skrive- og læsetrafik – MongoDB understøtter horisontal skalering via sharding, datadistribution på tværs af forskellige maskiner og letter operationer med højere kapacitet, der indeholder store datasæt.

Konklusion

Denne artikel har udførligt dækket næsten alle de store interviewspørgsmål, man kan støde på, når man er i et interview. Vi håber, at spørgsmålene vil hjælpe dig med at forberede dig tilstrækkeligt til din næste samtale. Hvis du har glemt spørgsmål, så skriv dem i kommentarfeltet, da dit publikum betyder meget for os. Tak fordi du læste med.


  1. Undtagelse, der godkender MongoCredential og Uncategorized Mongo Db Exception

  2. Sådan udføres grundlæggende forespørgselsoperationer i MongoDB

  3. Indstilling af udløbstid for en samling i mongodb ved hjælp af mongoose

  4. Sådan implementeres transaktion med rollback i Redis