Populiariausi MongoDB interviu klausimai

Populiariausi Mongodb Interviu Klausimai



MongoDB yra atvirojo kodo NoSQL duomenų bazių valdymo sistema; tai ne tik palengvina nestruktūrizuotų duomenų saugojimą, bet ir juos valdo. Kai kyla klausimas, kaip valdyti milijonus nestruktūrizuotų duomenų eilučių, rekomenduojama naudoti MongoDB.

Pirmąją MongoDB versiją 2007 m. vasario mėn. išleido 10 gen Programinės įrangos įmonė, vėliau 2013 m., 10gen pakeitė įmonės pavadinimą į MongoDB Inc.

„MongoDB“ yra „NoSQL“ duomenų bazė, kuri naudojama duomenims saugoti JSON dokumentų formoje dėl šios funkcijos, todėl „MongoDB“ galima lengvai saugoti ir valdyti daugybę nestruktūruotų duomenų. Šių dokumentų rinkinys, turintis duomenis, vadinamas rinkiniais. Ir šios kolekcijos yra panašios į lenteles, kurios naudojamos reliacinėse duomenų bazėse duomenims saugoti.







Yra daug priežasčių, kodėl MongoDB yra toks populiarus, palyginti su kitomis reliacinėmis ir NoSQL duomenų bazėmis, kai kurios iš jų yra:



  • Kūrėjai gali apibrėžti struktūrą pagal rakto-reikšmių poras
  • Kaip ir reliacinėse duomenų bazėse, duomenims nereikia eilučių ir stulpelių
  • MongoDB struktūros hierarchija leidžia saugoti duomenis masyvų pavidalu, taip pat gali saugoti sudėtingus duomenis
  • Tai leidžia kūrėjams lengvai valdyti duomenų bazes, nes palaiko kelias programavimo kalbas
  • Jis taip pat palaiko gridFS ir replikacijos funkcijas

Dėl savo populiarumo kūrėjams, dirbantiems su MongoDB, yra daug darbo galimybių. Šis straipsnis yra susijęs su klausimais, kurie yra patys svarbiausi ir dažniausiai užduodami daugelio geriausiai įvertintų organizacijų.



MongoDB interviu klausimai

Dažniausiai užduodami klausimai skirstomi į tris lygius: pagrindinį, vidutinį ir eksperto lygį.





Pagrindinis lygis

Šie klausimai yra susiję su pagrindinėmis MongoDB sąvokomis ir terminologija, todėl tikimasi, kad pokalbio metu kiekvienas kandidatas turėtų atsakyti į šiuos klausimus.

1 klausimas: ką žinote apie NoSQL duomenų bazes ir jų tipus?
NoSQL duomenų bazės yra tos duomenų bazės, kurios nesaugo duomenų lentelėse, kaip tai daro SQL duomenų bazės, o ne saugo duomenis kitomis formomis, pavyzdžiui, dokumentais ir raktų verčių formomis.



Yra keturi svarbūs NoSQL duomenų bazių tipai:

  • Dokumentų duomenų bazės: Šiose duomenų bazėse saugomi duomenys JSON dokumentų pavidalu, šie dokumentai sujungiami į rinkinius, o šios kolekcijos sudaro duomenų bazę.
  • Raktinių verčių duomenų bazės: Šios duomenų bazės saugo duomenis raktų reikšmių pavidalu, pavyzdžiui, „Vardas = Jonas“, šiame pavyzdyje „Vardas“ yra raktas, o „Jonas“ yra reikšmė.
  • Plačios kolonos parduotuvė: Šiose duomenų bazėse duomenys saugomi dinaminių lentelių pavidalu, kitaip nei reliacinėse duomenų bazėse, šios lentelės nėra struktūrizuotos.
  • Grafikų duomenų bazės: Šiose duomenų bazėse yra briaunos ir mazgai; mazgai naudojami informacijai saugoti, o kraštai naudojami santykiams tarp mazgų parodyti.

2 klausimas: kokio tipo NoSQL duomenų bazė yra MongoDB?
MongoDB duomenų bazė priklauso dokumentų duomenų bazėms, o tai reiškia, kad ji saugo duomenis pagal JSON dokumentus. Ji nesilaiko jokios schemos ir leidžia į ją įterpti bet kokio tipo duomenis.

3 klausimas: kuri iš MongoDB ir SQL duomenų bazių yra geresnė?
MongoDB yra geresnis už SQL duomenų bazes tokiu būdu, kad gali tvarkyti nestruktūrizuotus duomenis, o SQL duomenų bazės tvarko tik struktūrinius duomenis ir saugo juos be jokių apribojimų, skirtingai nei reliacinėse duomenų bazėse. Dėl beschemos funkcijos MongoDB užklausos yra apdorojamos greitai, palyginti su SQL duomenų bazėmis, nes duomenys nėra pateikiami lentelių pavidalu, o daugelyje lentelių vietoj jų duomenys dedami toje pačioje vietoje, todėl užklausai lengva pasiekti duomenis, o „MongoDB“ leidžia susieti savo duomenis kitomis programavimo kalbomis, o tai palengvina naudotojų darbą.

4 klausimas: kas yra MongoDB dokumentas ir kolekcija?
Duomenys saugomi MongoDB dokumentų pavidalu, tada šie dokumentai sujungiami į kolekciją, o daugybė kolekcijų sujungiama į duomenų bazę. Norėdami tai suprasti, apsvarstykite mokyklos_duomenų duomenų bazės pavyzdį, mokyklos_duomenų duomenų bazėje yra rinkiniai, kuriuose yra klasių_duomenys, o toliau šiuose dokumentuose (classes_data) yra mokinių duomenys (studento_duomenys) dokumentų pavidalu.

5 klausimas: kokie yra MongoDB duomenų tipai?
„MongoDB“ palaiko daugybę duomenų tipų:

Styga Eilutės duomenų tipas saugo duomenis abėcėlės / simbolių pavidalu ir turi būti 8 baitų ir priklausyti UTF-8, pavyzdžiui, Jone.
Sveikasis skaičius Jame saugomi skaičiai iki 64 bitų, tačiau dydis gali skirtis priklausomai nuo serverio, pavyzdžiui, 1,54.
Būlio Tai naudojama loginėms reikšmėms, kurios gali būti 0 arba 1, saugoti, pavyzdžiui, Jonas yra klasėje? Jo atsakymas yra taip arba ne.
Dvigubas Tai saugo slankiuosius skaičius, pvz., 22,8.
Min/Max mygtukai Jis naudojamas min ir max verčių palyginimui.
Masyvai Tai naudojama masyvams arba kelioms reikšmėms saugoti viename rakte.
Laiko žyma Pakeitus bet kurį dokumentą, jis gali saugoti pakeitimų įrašus.
Objektas Tai saugo įterptus dokumentus
Null Jis saugo nulines vertes.
Simbolis Tai yra eilutės tipas ir gali saugoti tas kalbas, kurios yra susijusios su simboliais
Data Dabartinis laikas ir data gali būti saugomi šiuose duomenų tipuose
Objekto ID Dokumentai turi unikalius ID, šie ID gali būti saugomi šiame duomenų tipe
Dvejetainiai duomenys Jame saugomi dvejetainiai duomenys, dar vadinami mašinų kalba.
Kodas Šio duomenų tipo pagalba dokumentuose saugomi Javascript kodai
Įprasta išraiška Šiame duomenų tipe gali būti saugoma bet kokia išraiška

6 klausimas: kokios yra MongoDB alternatyvos?
MongoDB yra NoSQL duomenų bazės tipas, kurio pagalba BSON dokumentuose saugomi dideli paskirstyti duomenys. MongoDB alternatyvos gali būti Amazon DynamoDB, Microsoft Azure Cosmos DB, Couchbase, PostgreSQL, Redis ir Cassandra.

Vidutinio lygio

Šie klausimai labiau susiję su pažangiomis sąvokomis, o ne su pagrindais, todėl tikimasi, kad į šiuos klausimus turėtų atsakyti vidutinis kandidatas.

7 klausimas: kaip galime palyginti MongoDB ir SQL aukštu lygiu?
SQL duomenų bazės yra reliacinės duomenų bazės, kuriose duomenys saugomi gerai struktūrizuotu ir organizuotu būdu eilučių ir stulpelių pavidalu, kurie sudaro lenteles, kita vertus, MongoDB duomenų bazės yra NoSQL duomenų bazės, kurios saugo duomenis dokumentuose. Šie dokumentai yra bendrai. žinomos kaip kolekcijos, ir šios kolekcijos sudaro duomenų bazę.

8 klausimas: ar yra tokių funkcijų kaip ACID operacijų valdymas ir užrakinimas MongoDB?
Ne, pagal numatytuosius nustatymus MongoDB nepateikia jokių ACID operacijų su keliais dokumentais, tačiau gali palaikyti ACID operacijas viename dokumente.

9 klausimas: kas yra indeksavimas MongoDB?
MongoDB indeksas yra speciali duomenų struktūra, kuri užima kai kuriuos duomenų bazės laukus ir talpina kai kuriuos duomenis indeksui sudaryti. Indeksas pagerina duomenų bazės paieškos galimybes, užuot ieškojęs konkretaus daikto iš daugybės dokumentų, vartotojas gali tiesiogiai eiti į nurodytą dokumentą indeksavimo pagalba.

{
Studento pažymėjimas = 1
Studento vardas = 'Paulius'
Šalis = 'Jungtinės Valstijos'
}

Aukščiau pateiktame pavyzdyje „Studento_id =1“ yra indeksas, taigi, jei kas nors ieškos pagal Studento_id arba 1, bus atidarytas šis dokumentas.

10 klausimas: ar MongoDB galima sukurti indeksą masyvo lauke?

Taip, mes galime sukurti indeksą MongoDB masyvo lauke ir jis indeksuoja kiekvieną masyvo reikšmę. Tiesą sakant, MongoDB pats sukuria kelių raktų indeksą ir jums nereikia jo nurodyti, jei kuris nors indekso laukas yra masyvas.

11 klausimas: ar viename MongoDB egzemplioriuje galima vykdyti kelias Javascript operacijas?
Galima paleisti kelias Javascript operacijas viename mongod egzemplioriuje, nes 2.4 versijoje MongoDB V8 yra įtrauktas javascript variklis.

12 klausimas: kas yra žurnalas MongoDB?
Kai žurnalas įgalintas MongoDB, kataloge sukuriamas žurnalo pakatalogis /duomenys/db , kuris pagal numatytuosius nustatymus yra dbPath apibrėžtas kelias. Vykdant žurnalų registravimą, MongoDB redaguoja ir išsaugo duomenis atmintyje ir diske, prieš duomenų pakeitimus perkeliant į diską. Tai labai naudinga, jei įvyko klaida, dėl kurios nebuvo išsaugoti duomenų pakeitimai, MongoDB gali nuskaityti pakeitimus iš žurnalo failo ir užtikrinti failų patvarumą.

Eksperto lygis

Šie klausimai yra susiję su pažangesnėmis MongoDB koncepcijomis, tikimasi, kad į šiuos klausimus turėtų atsakyti ekspertas.

13 klausimas: kas yra „MongoDB“ dalijimosi procesas?
MongoDB dalijimasis yra didžiulės duomenų bazės duomenų paskirstymo tarp daugelio MongoDB serverių procesas. Taigi lengva tvarkyti duomenis ir taip pat gali greitai atsakyti į užklausas. „MongoDB“ palaiko horizontalų mastelio keitimą per skaidymą.

„MongoDB“ klasteris susideda iš trijų dalių, kurios yra šukės ; ji taip pat žinoma kaip replika ir yra prieinama kiekviename serveryje, mangai ; jie veikia kaip vertėjas tarp serverio ir skeveldros, ir konfigūracijos serveriai ; jie saugo klasterio konfigūracijos parametrus ir metaduomenis.

14 klausimas: kas yra padidinimas ir kaip tai vyksta MongoDB?
Kai viename mazge yra daug duomenų, keli mazgai priartėja prie įkelto mazgo, kad paskirstytų jo apkrovą. Šis vieno mazgo apkrovos paskirstymo skirtingiems mazgams procesas vadinamas mastelio mažinimu ir taip pat žinomas kaip horizontalus mastelio keitimas.

15 klausimas: kaip galime gauti informacijos apie užklausų planus naudojant MongoDB užklausų kalbą?
The paaiškinti () naudojama komanda ir ji palaiko režimus, kurie yra „allPlansExecution“, „executionStats“ ir „queryPlanner“. Pavyzdžiui:

db . restoranai . paaiškinti ( 'vykdymo statistika' ) . rasti (
{ 'virtuvė' : 1 , 'miestas' : 'Bruklinas' }
) ;

Aukščiau pateiktame pavyzdyje restorano duomenys gaunami iš paaiškinimo() komandos.

16 klausimas: paaiškinkite MongoDB agregavimo sistemą.
„MongoDB“ gavus duomenis iš skirtingų kolekcijų ir po skaičiavimo pateikiamas bendras rezultatas, žinomas kaip agregacija. Jį sudaro trys žingsniai: pirma, ji įves ir išfiltruos mums reikalingus dokumentus iš dokumentų naudodami $match(), tada atliksime filtruotos informacijos apibendrinimą naudodami $group(), ir galiausiai surūšiuosime mūsų rezultatai naudojant $sort().

17 klausimas: Ar galima užrakinti daugiau nei vieną duomenų bazę naudojant MongoDB operaciją?
Taip, MongoDB gali užrakinti daugiau nei vieną duomenų bazę, norėdami akimirksniu užrakinti kelias duomenų bazes, mes naudojame MongoDB operaciją db.copyDatabase() , kadangi operacija, db.repairDatabase() taikyti visuotinį užraktą redaguojant duomenų bazę ir apriboti kitas operacijas, kurios turi būti įgyvendintos, kol ji nebus pašalinta.

18 klausimas: kas yra „GridFS“ MongoDB?
Dideli failai, viršijantys 16 MB, pavyzdžiui, vaizdai, vaizdo failai ir garso failai, tvarkomi MongoDB naudojant GridFS ir saugomi failo dalimis ir dalimis, o ne viename dokumente. Pagal numatytuosius nustatymus MongoDB palaiko tik du formatus, kurie yra fs. failai ir fs.chunks failų gabalams ir metaduomenims saugoti.

19 klausimas: kaip galite apibūdinti replikacijos reiškinius MongoDB?
Replikacija yra daugelio serverių duomenų sinchronizavimo procesas, o MongoDB kopijuoja duomenis ir atkartoja juos į skirtingus serverius, todėl serverio gedimo atveju duomenis galima gauti iš bet kurio kito serverio, kuris užtikrina duomenų saugumą.

20 klausimas: kas yra Mongo Shell?
Mongo apvalkalas yra „JavaScript“ platforma, per kurią galime sąveikauti su „MongoDB“ ir taip pat atlikti duomenų pakeitimus naudodami užklausas. Jis taip pat naudojamas administravimo tikslais, pavyzdžiui, duomenų bazės egzempliorių priežiūrai. Pagal numatytuosius nustatymus mongo apvalkalas yra įtrauktas į diegimo failą, bet jei jis neįdiegtas, galite jį įdiegti iš MongoDB serverio.

Išvada

„MongoDB“ yra populiari NoSQL duomenų bazė, naudojama duomenims tvarkyti dokumentų pavidalu ir kurią labai lengva tvarkyti, nes ji yra beschema. Jį naudoja daugelis gerai žinomų kompanijų, tokių kaip Twitter ir Facebook. Dėl savo populiarumo kūrėjams, dirbantiems MongoDB sąsajoje, yra daugybė darbo galimybių. Šiame straipsnyje pateikiami dažniausiai užduodami MongoDB interviu klausimai su tinkamais atsakymais.