Glavna pitanja za MongoDB intervju

Glavna Pitanja Za Mongodb Intervju



MongoDB je NoSQL sustav za upravljanje bazom podataka otvorenog koda; ne samo da omogućuje jednostavno pohranjivanje nestrukturiranih podataka, već i njima upravlja. Kad god se pojavi pitanje kako upravljati milijunima redaka nestrukturiranih podataka, preporučuje se MongoDB.

Prvu verziju MongoDB-a izdala je u veljači 2007 10 gen Softverska tvrtka, kasnije 2013., 10gen je promijenila naziv tvrtke u MongoDB Inc.

MongoDB je NoSQL baza podataka koja se koristi za pohranu podataka u obrascu JSON dokumenata jer se zbog ove značajke golema količina nestrukturiranih podataka može lako pohraniti i upravljati njima u MongoDB-u. Skup ovih dokumenata koji sadrže podatke poznat je kao zbirke. A te su zbirke slične tablicama koje se koriste u relacijskim bazama podataka za pohranu podataka.







Mnogo je razloga zašto je MongoDB toliko popularan u usporedbi s drugim relacijskim i NoSQL bazama podataka, neki od njih su:



  • Programeri mogu definirati strukturu prema parovima ključ-vrijednost
  • Poput relacijskih baza podataka, za podatke nisu potrebni redovi i stupci
  • Hijerarhijska struktura MongoDB-a omogućuje pohranu podataka u obliku nizova, a također može pohraniti složene podatke
  • Programerima omogućuje jednostavno upravljanje bazama podataka budući da podržava više programskih jezika
  • Također podržava značajke gridFS-a i replikacije

Zbog njegove popularnosti, postoji mnogo prilika za posao za programere koji rade s MongoDB-om. Ovaj se članak odnosi na pitanja koja su najvažnija i koja često postavljaju mnoge najbolje ocijenjene organizacije.



MongoDB pitanja za intervju

Najčešća pitanja podijeljena su u tri razine: Osnovna razina, Srednja razina i Stručna razina.





Osnovna razina

Ova pitanja se odnose na osnovne pojmove i terminologiju MongoDB-a, a na intervjuu se očekuje da svaki kandidat odgovori na ova pitanja.

Pitanje 1: Što znate o NoSQL bazama podataka i njihovim vrstama?
NoSQL baze podataka one su baze podataka koje ne pohranjuju podatke u tablice kao što to čine SQL baze podataka, već pohranjuju podatke u drugim oblicima kao što su dokumenti i oblici ključ-vrijednost.



Postoje četiri važne vrste NoSQL baza podataka:

  • Baze dokumenata: Ove baze podataka pohranjuju podatke u obliku JSON dokumenata, ti se dokumenti kombiniraju u zbirke, a te se zbirke kombiniraju u bazu podataka.
  • Baze podataka ključ-vrijednost: Ove baze podataka pohranjuju podatke u obliku ključeva i vrijednosti, na primjer, 'Ime = Ivan', u ovom primjeru 'Ime' je ključ, a 'Ivan' je vrijednost.
  • Prodavaonica širokih stupova: Ove baze podataka pohranjuju podatke u obliku dinamičkih tablica, za razliku od relacijskih baza podataka, te tablice nisu strukturirane.
  • Graf baze podataka: Ove baze podataka sadrže rubove i čvorove; čvorovi se koriste za pohranu informacija, dok se rubovi koriste za prikaz odnosa među čvorovima.

Pitanje 2: koja je vrsta NoSQL baze podataka MongoDB?
MongoDB baza podataka spada u dokumentne baze podataka, što znači da pohranjuje podatke prema JSON dokumentima. Ne slijedi nikakvu shemu i dopušta umetanje bilo koje vrste podataka u nju.

Pitanje 3: Koja je bolja od MongoDB i SQL baza podataka?
MongoDB je bolji od SQL baza podataka na takav način da može rukovati nestrukturiranim podacima, dok SQL baze podataka rukuju samo strukturiranim podacima i pohranjuju ih bez ikakvih ograničenja za razliku od relacijskih baza podataka. Zbog svoje značajke bez sheme, upitima se u MongoDB-u rukuje brže u usporedbi sa SQL bazama podataka budući da podaci nisu smješteni u obliku tablica, a umjesto toga u nizu tablica podaci su smješteni na isto mjesto pa su jednostavan za upit za pristup podacima, a MongoDB dopušta da se njegovi podaci mapiraju u drugim programskim jezicima što korisnicima olakšava rad na njima.

Pitanje 4: Što je dokument i zbirka u MongoDB-u?
Podaci se pohranjuju u MongoDB u obliku dokumenata, zatim se ti dokumenti kombiniraju u zbirku, a niz zbirki se kombinira u bazu podataka. Da biste ovo razumjeli, razmotrite primjer baze podataka o školama, baza podataka o školama sadrži zbirke koje u sebi sadrže podatke o razredima, a nadalje, ti dokumenti (podaci o razredima) sadrže podatke učenika (podaci o učenicima) u obliku dokumenata.

Pitanje 5: Što su MongoDB tipovi podataka?
Postoje mnoge vrste podataka koje MongoDB podržava:

Niz Vrsta podataka String pohranjuje podatke u obliku slova/znakova i mora biti od 8 bajtova i pripadati UTF-8, npr. Jone.
Cijeli broj Pohranjuje brojeve do 64 bita, ali veličina može varirati ovisno o poslužitelju, na primjer, 1,54.
Booleov Ovo se koristi za pohranjivanje Booleovih vrijednosti koje mogu biti 0 ili 1, na primjer, Ivan je u razredu? Njegov odgovor je ili da ili ne.
Dvostruko Ovo pohranjuje pokretne brojeve poput 22,8.
Min/Max tipke Koristi se za usporedbu minimalnih i maksimalnih vrijednosti.
Nizovi Ovo se koristi za pohranjivanje nizova ili više vrijednosti u jednom ključu.
Vremenska oznaka Kada se bilo koji dokument mijenja, može voditi evidenciju izmjena.
Objekt Ovo pohranjuje ugrađene dokumente
Null Pohranjuje nulte vrijednosti.
Simbol Ovo je vrsta niza i može pohraniti one jezike koji su povezani sa simbolima
Datum Trenutno vrijeme i datum mogu se pohraniti u ove vrste podataka
ID objekta Dokumenti imaju jedinstvene ID-ove, ti ID-ovi mogu biti pohranjeni u ovoj vrsti podataka
Binarni podaci U njemu se pohranjuju binarni podaci koji su također poznati kao strojni jezik.
Kodirati Javascript kodovi pohranjuju se u dokumente uz pomoć ove vrste podataka
Uobičajeni izraz Bilo koji izraz može biti pohranjen u ovom tipu podataka

Pitanje 6: Koje su alternative MongoDB-u?
MongoDB je vrsta NoSQL baze podataka, uz pomoć koje se veliki distribuirani podaci pohranjuju u BSON dokumente. Alternative za MongoDB mogu biti Amazon DynamoDB, Microsoft Azure Cosmos DB, Couchbase, PostgreSQL, Redis i Cassandra.

Srednja razina

Ta se pitanja više odnose na napredne koncepte nego na osnove i na intervjuu se očekuje da prosječan kandidat odgovori na ova pitanja.

Pitanje 7: Kako možemo usporediti MongoDB i SQL na visokoj razini?
SQL baze podataka su relacijske baze podataka koje pohranjuju podatke na dobro strukturiran i organiziran način u obliku redaka i stupaca koji čine tablice, s druge strane, MongoDB baze podataka su NoSQL baze podataka, koje pohranjuju podatke u dokumente, ti dokumenti su zajedno poznate kao zbirke, a te se zbirke kombiniraju u bazu podataka.

Pitanje 8: Postoje li funkcionalnosti poput ACID upravljanja transakcijama i zaključavanja u MongoDB-u?
Ne, prema zadanim postavkama MongoDB ne pruža nikakvu ACID transakciju na više dokumenata, međutim, može pružiti podršku za ACID transakcije na jednom dokumentu.

Pitanje 9: Što je indeksiranje u MongoDB-u?
U MongoDB-u, indeks je posebna struktura podataka koja zauzima neka polja baze podataka i sadrži neke podatke za izradu indeksa. Indeksom se poboljšava mogućnost pretraživanja baze podataka, umjesto traženja određene stvari iz gomile dokumenata, korisnik može izravno otići do navedenog dokumenta uz pomoć indeksiranja.

{
Studentska iskaznica = 1
Ime studenta = 'Pavao'
Zemlja = 'Ujedinjene države'
}

U gornjem primjeru, 'Student_id =1' je indeks, tako da ako bilo tko pretražuje prema Student_id ili 1, otvorit će se sljedeći dokument.

Pitanje 10: U MongoDB-u, može li se stvoriti indeks na polju polja?

Da, možemo stvoriti indeks na polju niza u MongoDB-u, a on indeksira svaku vrijednost niza. Zapravo, MongoDB sam stvara indeks s više ključeva i ne morate ga specificirati ako je bilo koje polje indeksa polje.

Pitanje 11: Je li moguće pokrenuti više Javascript operacija u jednoj MongoDB instanci?
Moguće je pokrenuti više Javascript operacija u jednoj mongod instanci jer je u verziji 2.4 MongoDB V8 dodan javascript mehanizam.

Pitanje 12: Što je vođenje dnevnika u MongoDB-u?
Kada je vođenje dnevnika omogućeno u MongoDB-u, stvara se poddirektorij Journal, unutar direktorija /podaci/db , što je staza koju definira dbPath, prema zadanim postavkama. Dok je vođenje dnevnika pokrenuto, MongoDB uređuje i pohranjuje podatke u memoriju i na disk, prije nego što se promjene podataka prenesu na disk. Od velike je pomoći u slučaju da se dogodi bilo kakva pogreška zbog koje promjene podataka nisu spremljene, MongoDB može dohvatiti promjene iz datoteke dnevnika i može osigurati trajnost datoteka.

Stručna razina

Ova su pitanja povezana s naprednijim konceptima MongoDB-a, očekuje se da bi stručni kandidat trebao odgovoriti na ta pitanja.

Pitanje 13: Što je MongoDB proces dijeljenja?
U MongoDB-u, dijeljenje je proces distribucije podataka ogromne baze podataka među mnogim MongoDB poslužiteljima. Stoga je lako rukovati podacima i također može odgovoriti na upite velikom brzinom. MongoDB podržava horizontalno skaliranje kroz dijeljenje.

MongoDB klaster se sastoji od tri dijela koji su krhotine ; poznata je i kao replika i dostupna je na svakom poslužitelju, mango ; djeluju kao tumač između poslužitelja i sharda, i konfiguracijski poslužitelji ; oni pohranjuju konfiguracijske postavke klastera i metapodatke.

Pitanje 14: Što je scale-out i kako se događa u MongoDB-u?
Kada postoji mnogo podataka na jednom čvoru, višestruki čvorovi približavaju se učitanom čvoru kako bi rasporedili njegovo opterećenje. Ovaj proces dijeljenja opterećenja jednog čvora na različite čvorove naziva se skaliranje, a također je poznato i kao horizontalno skaliranje.

Pitanje 15: Kako možemo dobiti informacije o planovima upita koristeći MongoDB jezik upita?
The objasniti() koristi se naredba i podržava načine rada koji su “allPlansExecution, executionStats i queryPlanner”. Na primjer:

db . restorana . objasniti ( 'statistika izvršenja' ) . pronaći (
{ 'kuhinja' : 1 , 'općina' : 'Brooklyn' }
) ;

U gornjem primjeru, podaci o restoranu se dohvaćaju iz naredbe expand().

Pitanje 16: Objasnite MongoDB agregacijski okvir.
U MongoDB-u, dohvaćanje podataka iz različitih zbirki i nakon izračuna vraćanje kombiniranog rezultata poznatog kao agregacija. Ima tri koraka, prvo će uzeti unos i filtrirati dokumente koje trebamo iz dokumenata pomoću $match(), zatim obavljamo posao agregacije na filtriranim informacijama pomoću $group(), i na kraju sortiramo naše rezultate koristeći $sort().

Pitanje 17: Je li moguće zaključati više od jedne baze podataka koristeći MongoDB operaciju?
Da, MongoDB može zaključati više od jedne baze podataka, za trenutačno zaključavanje više baza podataka koristimo operaciju MongoDB db.copyDatabase() , dok operacija, db.repairDatabase() primijenite globalnu blokadu na uređivanje baze podataka i također ograničite druge operacije koje treba provesti dok se ne ukloni.

Pitanje 18: Što je GridFS u MongoDB-u?
Velikim datotekama koje prelaze 16 MB poput slika, video datoteka i audio datoteka upravlja se u MongoDB-u pomoću GridFS-a i pohranjuju se u dijelovima i komadima datoteke umjesto u jednom dokumentu, prema zadanim postavkama MongoDB podržava samo dva formata koji su fs. datoteke i fs.chunks za pohranjivanje dijelova i metapodataka datoteka.

Pitanje 19: Kako možete opisati fenomen replikacije u MongoDB-u?
Replikacija je proces sinkronizacije podataka između više poslužitelja, dok MongoDB kopira podatke i replicira ih na različite poslužitelje, tako da se u slučaju pada poslužitelja podaci mogu dohvatiti s bilo kojeg drugog poslužitelja što osigurava sigurnost podataka.

Pitanje 20: Što je Mongo Shell?
Mongo shell je JavaScript platforma, preko koje možemo komunicirati s MongoDB-om i također možemo napraviti izmjene u podacima pomoću upita. Također se koristi u administrativne svrhe kao što je održavanje instanci baze podataka. Prema zadanim postavkama, mongo shell je uključen u instalacijsku datoteku, ali ako nije instaliran, možete ga instalirati s MongoDB poslužitelja.

Zaključak

MongoDB je popularna NoSQL baza podataka koja se koristi za upravljanje podacima u obliku dokumenata i vrlo je jednostavna za rukovanje jer je bez sheme. Koriste ga mnoge poznate tvrtke poput Twittera i Facebooka. Zbog njegove popularnosti, postoje brojne mogućnosti zapošljavanja za programere koji rade u MongoDB sučelju. U ovom članku podijeljena su najčešće postavljana pitanja za MongoDB intervju s odgovarajućim odgovorima.