Najboljša vprašanja za intervjuje za MongoDB

Najboljsa Vprasanja Za Intervjuje Za Mongodb



MongoDB je odprtokodni sistem za upravljanje baz podatkov NoSQL; ne le omogoča enostavno shranjevanje nestrukturiranih podatkov, ampak jih tudi upravlja. Kadarkoli se pojavi vprašanje, kako upravljati milijone vrstic nestrukturiranih podatkov, priporočamo MongoDB.

Prvo različico MongoDB je februarja 2007 izdal 10 gen Programsko podjetje, kasneje leta 2013, 10gen je spremenilo ime podjetja v MongoDB Inc.

MongoDB je zbirka podatkov NoSQL, ki se uporablja za shranjevanje podatkov v obrazcu dokumentov JSON, zaradi te funkcije je mogoče v MongoDB zlahka shraniti in upravljati ogromno nestrukturiranih podatkov. Niz teh dokumentov s podatki je znan kot zbirke. In te zbirke so podobne tabelam, ki se uporabljajo v relacijskih zbirkah podatkov za shranjevanje podatkov.







Obstaja veliko razlogov, zakaj je MongoDB tako priljubljen v primerjavi z drugimi relacijskimi bazami podatkov in bazami podatkov NoSQL, nekateri med njimi so:



  • Razvijalci lahko definirajo strukturo glede na pare ključ-vrednost
  • Tako kot pri relacijskih zbirkah podatkov vrstice in stolpci za podatke niso potrebni
  • Hierarhična struktura MongoDB omogoča shranjevanje podatkov v obliki nizov in lahko tudi shranjevanje kompleksnih podatkov
  • Njegovim razvijalcem omogoča preprosto upravljanje baz podatkov, saj podpira več programskih jezikov
  • Podpira tudi funkcije gridFS in replikacije

Zaradi njegove priljubljenosti obstaja veliko zaposlitvenih možnosti za razvijalce, ki delajo z MongoDB. Ta članek je povezan z vprašanji, ki so najpomembnejša in jih pogosto zastavljajo številne visoko ocenjene organizacije.



Vprašanja za intervju z MongoDB

Najpogostejša vprašanja so razdeljena na tri nivoje: osnovni nivo, srednji nivo in strokovni nivo.





Osnovna raven

Ta vprašanja so povezana z osnovnimi koncepti in terminologijo MongoDB in na razgovoru se pričakuje, da mora vsak kandidat odgovoriti na ta vprašanja.

Vprašanje 1: kaj veste o bazah podatkov NoSQL in njihovih vrstah?
Baze podatkov NoSQL so tiste baze podatkov, ki ne shranjujejo podatkov v tabelah, kot to počnejo baze podatkov SQL, namesto da shranjujejo podatke v drugih oblikah, kot so dokumenti in obrazci ključ-vrednost.



Obstajajo štiri pomembne vrste baz podatkov NoSQL:

  • Baze dokumentov: Te zbirke podatkov shranjujejo podatke v obliki dokumentov JSON, ti dokumenti se združijo v zbirke, te zbirke pa se združijo v zbirko podatkov.
  • Podatkovne baze ključev in vrednosti: Te zbirke podatkov shranjujejo podatke v obliki ključev in vrednosti, na primer »Ime = Janez«, v tem primeru je »Ime« ključ, »Janez« pa vrednost.
  • Trgovina s širokim stebrom: Te baze podatkov shranjujejo podatke v obliki dinamičnih tabel, za razliko od relacijskih baz podatkov te tabele niso strukturirane.
  • Baze podatkov grafov: Te zbirke podatkov vsebujejo robove in vozlišča; vozlišča se uporabljajo za shranjevanje informacij, medtem ko se robovi uporabljajo za prikaz odnosov med vozlišči.

2. vprašanje: katera vrsta baze podatkov NoSQL je MongoDB?
Podatkovna baza MongoDB spada med dokumentne baze, kar pomeni, da hrani podatke po dokumentih JSON. Ne sledi nobeni shemi in omogoča vstavljanje katere koli vrste podatkov vanjo.

Vprašanje 3: Katera je boljša med zbirkami podatkov MongoDB in SQL?
MongoDB je boljši od baz podatkov SQL na tak način, da lahko obravnava nestrukturirane podatke, medtem ko baze podatkov SQL obravnavajo samo strukturirane podatke in jih shranjujejo brez kakršnih koli omejitev, za razliko od relacijskih baz podatkov. Zaradi svoje funkcije brez sheme se poizvedbe v MongoDB obravnavajo hitro v primerjavi z bazami podatkov SQL, saj podatki niso postavljeni v obliki tabel in v številnih tabelah namesto tega so podatki postavljeni na isto mesto, tako da so enostaven za poizvedbo dostop do podatkov, MongoDB pa omogoča preslikavo svojih podatkov v druge programske jezike, kar uporabnikom olajša delo z njimi.

Vprašanje 4: Kaj je dokument in zbirka v MongoDB?
Podatki so shranjeni v MongoDB v obliki dokumentov, nato pa se ti dokumenti združijo v zbirko, več zbirk pa se združi v zbirko podatkov. Da bi to razumeli, si oglejte primer baze podatkov o šolskih_podatkih, zbirka podatkov o šolskih_podatkih vsebuje zbirke, ki vsebujejo podatke o razredih, poleg tega pa ti dokumenti (podatki_o razredih) vsebujejo podatke o učencih (podatki o učencih) v obliki dokumentov.

Vprašanje 5: Kaj so podatkovni tipi MongoDB?
Obstaja veliko vrst podatkov, ki jih MongoDB podpira:

Vrvica Nizovni podatkovni tip shranjuje podatke v obliki abecede/znakov in mora imeti 8 bajtov ter pripadati UTF-8, na primer Jone.
Celo število Shranjuje številke do 64 bitov, vendar se lahko velikost razlikuje glede na strežnik, na primer 1,54.
Boolean To se uporablja za shranjevanje logičnih vrednosti, ki so lahko 0 ali 1, na primer, John je v razredu? Njegov odgovor je bodisi da ali ne.
Dvojno To shranjuje plavajoče številke, kot je 22,8.
Tipke Min/Max Uporablja se za primerjavo najmanjših in največjih vrednosti.
Nizi To se uporablja za shranjevanje nizov ali več vrednosti v enem ključu.
Časovni žig Ko je kateri koli dokument spremenjen, lahko vodi evidenco sprememb.
Objekt Ta shranjuje vdelane dokumente
Nič Shranjuje ničelne vrednosti.
Simbol To je vrsta niza in lahko shrani tiste jezike, ki so povezani s simboli
Datum Trenutni čas in datum je mogoče shraniti v te vrste podatkov
ID predmeta Dokumenti imajo edinstvene ID-je, te ID-je je mogoče shraniti v tem podatkovnem tipu
Binarni podatki V njem so shranjeni binarni podatki, znani tudi kot strojni jezik.
Koda Kode Javascript so shranjene v dokumentih s pomočjo te vrste podatkov
Vsakdanje izražanje V tem podatkovnem tipu je mogoče shraniti kateri koli izraz

Vprašanje 6: Katere so alternative MongoDB?
MongoDB je vrsta baze podatkov NoSQL, s pomočjo katere se veliki porazdeljeni podatki shranjujejo v dokumente BSON. Alternative MongoDB so lahko Amazon DynamoDB, Microsoft Azure Cosmos DB, Couchbase, PostgreSQL, Redis in Cassandra.

Vmesna stopnja

Ta vprašanja so bolj povezana z naprednimi koncepti kot z osnovami in na razgovoru se pričakuje, da bo povprečen kandidat odgovoril na ta vprašanja.

Vprašanje 7: Kako lahko primerjamo MongoDB in SQL na visoki ravni?
Baze podatkov SQL so relacijske baze podatkov, ki podatke hranijo na dobro strukturiran in organiziran način v obliki vrstic in stolpcev, ki sestavljajo tabele, po drugi strani pa so baze podatkov MongoDB baze podatkov NoSQL, ki shranjujejo podatke v dokumentih, ti dokumenti so skupaj znane kot zbirke, te zbirke pa se združijo v zbirko podatkov.

Vprašanje 8: Ali obstajajo v MongoDB kakšne funkcije, kot je upravljanje transakcij ACID in zaklepanje?
Ne, MongoDB privzeto ne zagotavlja nobene transakcije ACID na več dokumentih, lahko pa zagotovi podporo za transakcije ACID na enem dokumentu.

Vprašanje 9: Kaj je indeksiranje v MongoDB?
V MongoDB je indeks posebna podatkovna struktura, ki zaseda nekatera polja baze podatkov in vsebuje nekaj podatkov za izdelavo indeksa. Indeks izboljša iskalno sposobnost baze, namesto da išče določeno stvar iz množice dokumentov, lahko uporabnik neposredno preide na določen dokument s pomočjo indeksiranja.

{
študent_id = 1
Študentsko ime = 'Pavel'
Država = 'Združene države'
}

V zgornjem primeru je »Student_id =1« indeks, tako da če kdo išče po Student_id ali 1, se bo odprl naslednji dokument.

Vprašanje 10: Ali je v MongoDB mogoče ustvariti indeks na polju polja?

Da, v matričnem polju lahko ustvarimo indeks v MongoDB in indeksira vsako vrednost matrike. Pravzaprav MongoDB sam ustvari indeks z več ključi in vam ga ni treba določiti, če je katero koli polje indeksa matrika.

Vprašanje 11: Ali je mogoče zagnati več operacij Javascript v enem primerku MongoDB?
Možno je zagnati več operacij Javascript v enem primerku mongod, ker je v različici 2.4 MongoDB V8 dodan motor javascript.

Vprašanje 12: Kaj je beleženje v MongoDB?
Ko je v MongoDB omogočeno beleženje, ustvari podimenik Journal znotraj imenika /podatki/db , ki je pot, ki jo privzeto definira dbPath. Med vodenjem dnevnika MongoDB ureja in shranjuje podatke v pomnilnik in na disk, preden se spremembe podatkov prenesejo na disk. Zelo koristno je, če je prišlo do kakršne koli napake, zaradi katere spremembe podatkov niso bile shranjene, MongoDB lahko pridobi spremembe iz datoteke Journal in lahko zagotovi trajnost datotek.

Strokovna raven

Ta vprašanja so povezana z naprednejšimi koncepti MongoDB, pričakuje se, da bo na ta vprašanja odgovoril strokovni kandidat.

Vprašanje 13: Kaj je postopek razdeljevanja MongoDB?
V MongoDB je razdeljevanje proces distribucije podatkov ogromne baze podatkov med številne strežnike MongoDB. Tako je enostavno rokovati s podatki in se lahko tudi hitro odzove na poizvedbe. MongoDB podpira horizontalno skaliranje prek razrezovanja.

Grozd MongoDB je sestavljen iz treh delov, ki so drobci ; znan tudi kot replika in je na voljo na vsakem strežniku, mango ; delujejo kot tolmači med strežnikom in shardom ter konfiguracijske strežnike ; shranjujejo konfiguracijske nastavitve gruče in metapodatke.

Vprašanje 14: Kaj je skaliranje in kako se pojavi v MongoDB?
Ko je na enem vozlišču veliko podatkov, se več vozlišč približa naloženemu vozlišču, da porazdeli njegovo obremenitev. Ta postopek delitve obremenitve enega vozlišča na različna vozlišča se imenuje skaliranje in je znan tudi kot horizontalno skaliranje.

Vprašanje 15: Kako lahko pridobimo informacije o načrtih poizvedb z uporabo jezika poizvedb MongoDB?
The razloži() uporablja se ukaz in podpira načine, ki so »allPlansExecution, executionStats in queryPlanner«. Na primer:

db . restavracije . pojasni ( 'statistika izvedbe' ) . najti (
{ 'kuhinja' : 1 , 'okrožje' : 'Brooklyn' }
) ;

V zgornjem primeru so podatki o restavraciji pridobljeni iz ukaza expand().

Vprašanje 16: Razložite ogrodje združevanja MongoDB.
V MongoDB pridobivanje podatkov iz različnih zbirk in po izračunu vrnitev kombiniranega rezultata, znanega kot združevanje. Ima tri korake, najprej bo prevzel vnos in filtriral dokumente, ki jih potrebujemo, iz dokumentov z uporabo $match(), nato opravimo združevanje filtriranih informacij z uporabo $group() in končno razvrstimo naše rezultate z uporabo $sort().

Vprašanje 17: Ali je mogoče z operacijo MongoDB zakleniti več kot eno bazo podatkov?
Da, MongoDB lahko zaklene več kot eno bazo podatkov, za takojšnje zaklepanje več baz podatkov uporabljamo operacijo MongoDB db.copyDatabase() , medtem ko operacija, db.repairDatabase() uporabite globalno zaklepanje pri urejanju baze podatkov in tudi omejite druge operacije, ki jih je treba izvesti, dokler ni odstranjena.

Vprašanje 18: Kaj je GridFS v MongoDB?
Velike datoteke, ki presegajo 16 MB, kot so slike, video datoteke in zvočne datoteke, se upravljajo v MongoDB z uporabo GridFS in so shranjene v delih in kosih datoteke namesto v enem samem dokumentu. MongoDB privzeto podpira samo dve obliki, ki sta fs. datoteke in fs.chunks za shranjevanje kosov in metapodatkov datotek.

Vprašanje 19: Kako lahko opišete pojave podvajanja v MongoDB?
Replikacija je proces sinhronizacije podatkov med številnimi strežniki, medtem ko MongoDB kopira podatke in jih replicira na različne strežnike, tako da je v primeru zrušitve strežnika podatke mogoče pridobiti s katerega koli drugega strežnika, kar zagotavlja varnost podatkov.

Vprašanje 20: Kaj je Mongo Shell?
Lupina mongo je platforma JavaScript, prek katere lahko komuniciramo z MongoDB in lahko tudi spreminjamo podatke s pomočjo poizvedb. Uporablja se tudi za administrativne namene, kot je vzdrževanje primerkov baze podatkov. Lupina mongo je privzeto vključena v namestitveno datoteko, če pa ni nameščena, jo lahko namestite s strežnika MongoDB.

Zaključek

MongoDB je priljubljena baza podatkov NoSQL, ki se uporablja za upravljanje podatkov v obliki dokumentov in je zelo enostavna za uporabo, saj je brez sheme. Uporabljajo ga številna znana podjetja, kot sta Twitter in Facebook. Zaradi njegove priljubljenosti obstajajo številne zaposlitvene možnosti za razvijalce, ki delajo v vmesniku MongoDB. V tem članku so najpogosteje zastavljena vprašanja za intervjuje MongoDB deljena z ustreznimi odgovori.