Populaarsed MongoDB intervjuuküsimused

Populaarsed Mongodb Intervjuukusimused



MongoDB on avatud lähtekoodiga NoSQL-i andmebaasihaldussüsteem; see mitte ainult ei hõlbusta struktureerimata andmete salvestamist, vaid ka haldab neid. Kui tekib küsimus, kuidas hallata miljoneid struktureerimata andmete ridu, on soovitatav kasutada MongoDB-d.

MongoDB esimese versiooni avaldas 2007. aasta veebruaris 10 gen Tarkvaraettevõte, hiljem 2013. aastal muutis 10gen ettevõtte nime MongoDB Inc-ks.

MongoDB on NoSQL-i andmebaas, mida kasutatakse andmete salvestamiseks JSON-dokumentide vormis, kuna selle funktsiooni tõttu saab MongoDB-s hõlpsasti salvestada ja hallata tohutul hulgal struktureerimata andmeid. Nende andmeid sisaldavate dokumentide kogumit nimetatakse kogudeks. Ja need kogud on sarnased tabelitega, mida kasutatakse relatsiooniandmebaasides andmete salvestamiseks.







On palju põhjuseid, miks MongoDB on teiste relatsiooni- ja NoSQL-i andmebaasidega võrreldes nii populaarne, mõned neist on järgmised:



  • Arendajad saavad määratleda struktuuri vastavalt võtme-väärtuste paaridele
  • Nagu relatsiooniandmebaasid, pole andmete jaoks ridu ja veerge vaja
  • MongoDB struktuuri hierarhia võimaldab salvestada andmeid massiivi kujul ja ka keerukaid andmeid
  • See võimaldab selle arendajatel andmebaase hõlpsalt hallata, kuna see toetab mitut programmeerimiskeelt
  • Samuti toetab see gridFS-i ja replikatsiooni funktsioone

Selle populaarsuse tõttu on MongoDB-ga töötavatele arendajatele palju töövõimalusi. See artikkel on seotud küsimustega, mis on kõige olulisemad ja mida sageli küsivad paljud kõrgelt hinnatud organisatsioonid.



MongoDB intervjuu küsimused

Korduma kippuvad küsimused jagunevad kolmeks tasemeks: algtase, kesktase ja eksperditase.





Põhitase

Need küsimused on seotud MongoDB põhikontseptsioonide ja terminoloogiaga ning intervjuus eeldatakse, et iga kandidaat peaks neile küsimustele vastama.

1. küsimus: mida teate NoSQL-i andmebaasidest ja nende tüüpidest?
NoSQL-i andmebaasid on need andmebaasid, mis ei salvesta andmeid tabelitesse, nagu SQL-andmebaasid, selle asemel, et salvestada andmeid muudel vormidel, nagu dokumendid ja võtmeväärtuste vormid.



NoSQL-i andmebaase on neli olulist tüüpi:

  • Dokumentide andmebaasid: Need andmebaasid salvestavad andmeid JSON-dokumentide kujul, need dokumendid ühendavad kogusid ja need kogud moodustavad andmebaasi.
  • Võtmeväärtuste andmebaasid: Need andmebaasid salvestavad andmeid võtmeväärtuste kujul, näiteks 'Nimi = John', selles näites on 'Nimi' võti ja 'John' on väärtus.
  • Laia veeruga pood: Need andmebaasid salvestavad andmeid dünaamiliste tabelite kujul, erinevalt relatsioonilistest andmebaasidest ei ole need tabelid struktureeritud.
  • Graafikuandmebaasid: Need andmebaasid sisaldavad servi ja sõlme; sõlme kasutatakse teabe salvestamiseks, servi aga sõlmede vaheliste suhete näitamiseks.

2. küsimus: millist tüüpi NoSQL-i andmebaas MongoDB on?
MongoDB andmebaas kuulub dokumentide andmebaaside hulka, mis tähendab, et see salvestab andmeid vastavalt JSON-dokumentidele. See ei järgi ühtegi skeemi ja võimaldab sellesse sisestada mis tahes tüüpi andmeid.

3. küsimus: milline neist on MongoDB ja SQL andmebaaside hulgas parem?
MongoDB on parem kui SQL-andmebaasid nii, et see suudab käsitleda struktureerimata andmeid, samas kui SQL-andmebaasid töötlevad ainult struktureeritud andmeid ja salvestavad neid piiranguteta erinevalt relatsiooniandmebaasidest. Skeemivaba funktsiooni tõttu töödeldakse MongoDB-s päringuid SQL-andmebaasidega võrreldes kiiresti, kuna andmeid ei paigutata tabelite kujul ja selle asemel paigutatakse mitmesse tabelisse andmed samasse kohta, nii et need on päringule on lihtne andmetele juurde pääseda ja MongoDB võimaldab oma andmeid kaardistada teistes programmeerimiskeeltes, mis hõlbustab kasutajatel sellega töötamist.

4. küsimus: mis on MongoDB dokument ja kogu?
Andmed salvestatakse MongoDB-s dokumentide kujul, seejärel need dokumendid ühendavad kogumi ja mitmed kogud moodustavad andmebaasi. Selle mõistmiseks vaatleme kooli_andmete andmebaasi näidet, kooli_andmete andmebaas sisaldab kogusid, milles on klasside_andmed, ja lisaks sisaldavad need dokumendid (klasside_andmed) õpilaste andmeid (õpilase_andmed) dokumentide kujul.

5. küsimus: mis on MongoDB andmetüübid?
MongoDB toetab paljusid andmetüüpe:

String Stringi andmetüüp salvestab andmed tähestiku/märkide kujul ning see peab olema 8 baiti ja kuuluma UTF-8-le, näiteks Jone.
Täisarv See salvestab numbreid kuni 64 bitti, kuid suurus võib serverist olenevalt erineda, näiteks 1,54.
Boolean Seda kasutatakse tõeväärtuste salvestamiseks, mis võivad olla kas 0 või 1, näiteks kas John on klassis? Selle vastus on kas jah või ei.
Kahekordne See salvestab ujuvad numbrid nagu 22,8.
Min/Max klahvid Seda kasutatakse min ja max väärtuste võrdlemiseks.
Massiivid Seda kasutatakse massiivide või mitme väärtuse salvestamiseks ühes võtmes.
Ajatempel Kui mis tahes dokumenti muudetakse, võib see säilitada muudatuste kohta arvestust.
Objekt See salvestab manustatud dokumendid
Null See salvestab nullväärtused.
Sümbol See on stringi tüüp ja see võib salvestada sümbolitega seotud keeli
Kuupäev Praegust kellaaega ja kuupäeva saab salvestada nendesse andmetüüpidesse
Objekti ID Dokumentidel on kordumatud ID-d, neid ID-sid saab sellesse andmetüüpi salvestada
Binaarsed andmed Sellesse salvestatakse binaarandmed, mida tuntakse ka masinakeelena.
Kood Javascripti koodid salvestatakse selle andmetüübi abil dokumentidesse
Regulaaravaldis Sellesse andmetüüpi saab salvestada mis tahes avaldise

6. küsimus: millised on MongoDB alternatiivid?
MongoDB on NoSQL-i andmebaasi tüüp, mille abil salvestatakse BSON-dokumentidesse suuri hajutatud andmeid. MongoDB alternatiivid võivad olla Amazon DynamoDB, Microsoft Azure Cosmos DB, Couchbase, PostgreSQL, Redis ja Cassandra.

Kesktasemel

Need küsimused on rohkem seotud edasijõudnute mõistetega kui põhitõdedega ning intervjuul eeldatakse, et keskmine kandidaat peaks neile küsimustele vastama.

7. küsimus: kuidas võrrelda MongoDB-d ja SQL-i kõrgel tasemel?
SQL-andmebaasid on relatsiooniandmebaasid, mis salvestavad andmeid hästi struktureeritult ja organiseeritult ridade ja veergude kujul, mis moodustavad tabeleid, teisalt on MongoDB andmebaasid NoSQL-andmebaasid, mis salvestavad andmeid dokumentides, need dokumendid on ühised. nimetatakse kogudeks ja need kogud moodustavad andmebaasi.

8. küsimus: kas MongoDB-s on selliseid funktsioone nagu ACID-i tehingute haldamine ja lukustamine?
Ei, vaikimisi ei paku MongoDB ühtegi ACID-tehingut mitme dokumendi puhul, kuid see võib pakkuda ACID-tehingute tuge ühe dokumendi kohta.

9. küsimus: mis on MongoDB-s indekseerimine?
MongoDB-s on indeks spetsiaalne andmestruktuur, mis hõivab mõned andmebaasi väljad ja sisaldab indeksi loomiseks mõningaid andmeid. Indeks parandab andmebaasi otsimisvõimet, selle asemel, et otsida konkreetset asja paljudest dokumentidest, saab kasutaja indekseerimise abil otse määratud dokumendi juurde minna.

{
Õpilase ID = 1
Õpilase nimi = 'Paul'
Riik = 'Ühendriigid'
}

Ülaltoodud näites on 'Õpilase_id =1' indeks, nii et kui keegi otsib kas õpilase_id või 1 järgi, avatakse järgmine dokument.

10. küsimus: kas MongoDB-s saab massiiviväljale indeksi luua?

Jah, me saame luua MongoDB massiiviväljale indeksi ja see indekseerib iga massiivi väärtuse. Tegelikult loob MongoDB ise mitme võtmega indeksi ja te ei pea seda määrama, kui mõni indeksiväli on massiiv.

11. küsimus: kas ühes MongoDB eksemplaris on võimalik käitada mitut Javascripti toimingut?
Ühes mongodi eksemplaris on võimalik käitada mitut Javascripti toimingut, kuna MongoDB V8 versioonis 2.4 on lisatud javascripti mootor.

12. küsimus: mis on MongoDB-s ajakirjandus?
Kui päevik on MongoDB-s lubatud, loob see kataloogis Journal alamkataloogi /data/db , mis on vaikimisi dbPathi määratud tee. Päeviku salvestamise ajal redigeerib ja salvestab MongoDB andmeid mällu ja kettale, enne kui andmete muudatused kettale üle kantakse. See on väga abiks juhul, kui on ilmnenud viga, mille tõttu andmetes tehtud muudatusi pole salvestatud, MongoDB saab muudatused Journal failist kätte saada ja suudab tagada failide vastupidavuse.

Eksperdi tase

Need küsimused on seotud MongoDB arenenumate kontseptsioonidega, eeldatakse, et ekspertkandidaat peaks neile küsimustele vastama.

13. küsimus: Mis on MongoDB jagamisprotsess?
MongoDB-s on jagamine tohutu andmebaasi andmete jaotamine paljude MongoDB serverite vahel. Seega on andmete käsitlemine lihtne ja päringutele saab vastata ka suure kiirusega. MongoDB toetab horisontaalset skaleerimist killustamise kaudu.

MongoDB klaster koosneb kolmest osast, mis on killud ; seda tuntakse ka koopiana ja see on saadaval igas serveris, mangod ; nad toimivad tõlgina serveri ja killu vahel ning konfiguratsiooniserverid ; need salvestavad klastri konfiguratsiooniseaded ja metaandmed.

14. küsimus: Mis on skaleerimine ja kuidas see MongoDB-s toimub?
Kui ühes sõlmes on palju andmeid, lähenevad mitu sõlme laaditud sõlmele, et jaotada selle koormus. Seda protsessi ühe sõlme koormuse jagamiseks erinevatele sõlmedele nimetatakse skaleerimiseks ja seda nimetatakse ka horisontaalseks skaleerimiseks.

15. küsimus: kuidas saame MongoDB päringukeelt kasutades teavet päringuplaanide kohta?
The seletama() kasutatakse käsku ja see toetab režiime, mis on 'allPlansExecution, executionStats ja queryPlanner'. Näiteks:

db . restoranid . seletama ( 'executionStats' ) . leida (
{ 'köök' : 1 , 'linnaosa' : 'Brooklyn' }
) ;

Ülaltoodud näites saadakse restorani andmed käsust selgitus().

16. küsimus: selgitage MongoDB koondamisraamistikku.
MongoDB-s andmete toomine erinevatest kogudest ja pärast arvutamist tagastab kombineeritud tulemuse, mida nimetatakse koondamiseks. Sellel on kolm sammu: esiteks sisestab see sisendi ja filtreerib dokumentidest, mida vajame, kasutades $match(), seejärel teeme filtreeritud teabe koondamistöö kasutades $group() ja lõpuks sorteerime meie tulemused, kasutades funktsiooni $sort().

17. küsimus: kas MongoDB operatsiooni abil on võimalik lukustada rohkem kui ühte andmebaasi?
Jah, MongoDB saab lukustada rohkem kui ühe andmebaasi, mitme andmebaasi koheseks lukustamiseks kasutame MongoDB operatsiooni db.copyDatabase() , samas kui operatsioon, db.repairDatabase() rakendage andmebaasi redigeerimisel globaalset lukku ja piirake ka muid toiminguid kuni selle eemaldamiseni.

18. küsimus: mis on MongoDB-s GridFS?
Suuri faile, mis ületavad 16 MB, nagu pildid, videofailid ja helifailid, hallatakse MongoDB-s GridFS-i abil ning salvestatakse faili osade ja tükkidena, mitte ühe dokumendina, vaikimisi toetab MongoDB ainult kahte vormingut, mis on fs. failid ja fs.chunks failide tükkide ja metaandmete salvestamiseks.

19. küsimus: kuidas saate MongoDB-s replikatsiooninähtusi kirjeldada?
Replikatsioon on andmete sünkroonimise protsess paljude serverite vahel, MongoDB aga kopeerib andmed ja kordab need erinevatesse serveritesse, nii et serveri krahhi korral saab andmeid hankida mis tahes teisest serverist, mis tagab andmete turvalisuse.

20. küsimus: mis on Mongo Shell?
Mongo kest on JavaScripti platvorm, mille kaudu saame MongoDB-ga suhelda ja päringute abil ka andmetes muudatusi teha. Seda kasutatakse ka administratiivsetel eesmärkidel, näiteks andmebaasi eksemplaride hooldamiseks. Vaikimisi on mongo shell installifailis, kuid kui see pole installitud, saate selle installida MongoDB serverist.

Järeldus

MongoDB on populaarne NoSQL-i andmebaas, mida kasutatakse andmete haldamiseks dokumentide kujul ja mida on väga lihtne käsitleda, kuna see on skeemivaba. Seda kasutavad paljud tuntud ettevõtted nagu Twitter ja Facebook. Selle populaarsuse tõttu on MongoDB liideses töötavatele arendajatele palju töövõimalusi. Selles artiklis on jagatud kõige sagedamini küsitud MongoDB intervjuu küsimusi koos sobivate vastustega.