Populārākie MongoDB intervijas jautājumi

Popularakie Mongodb Intervijas Jautajumi



MongoDB ir atvērtā koda NoSQL datu bāzes pārvaldības sistēma; tas ne tikai atvieglo nestrukturētu datu glabāšanu, bet arī tos pārvalda. Ikreiz, kad rodas jautājums par to, kā pārvaldīt miljoniem nestrukturētu datu rindu, ieteicams izmantot MongoDB.

MongoDB pirmo versiju 2007. gada februārī izlaida 10 gen Programmatūras uzņēmums, vēlāk 2013. gadā, 10gen mainīja uzņēmuma nosaukumu uz MongoDB Inc.

MongoDB ir NoSQL datu bāze, kas tiek izmantota datu glabāšanai JSON dokumentu formā, pateicoties šai funkcijai, MongoDB var viegli uzglabāt un pārvaldīt milzīgu daudzumu nestrukturētu datu. Šo dokumentu kopa, kurā ir dati, ir pazīstama kā kolekcijas. Un šīs kolekcijas ir līdzīgas tabulām, kuras tiek izmantotas relāciju datu bāzēs datu glabāšanai.







Ir daudz iemeslu, kāpēc MongoDB ir tik populārs salīdzinājumā ar citām relāciju un NoSQL datu bāzēm, daži no tiem ir:



  • Izstrādātāji var definēt struktūru atbilstoši atslēgu un vērtību pāriem
  • Tāpat kā relāciju datubāzēs, rindas un kolonnas datiem nav vajadzīgas
  • MongoDB struktūras hierarhiskā sistēma ļauj uzglabāt datus masīvu formā, kā arī var uzglabāt sarežģītus datus
  • Tas ļauj izstrādātājiem viegli pārvaldīt datu bāzes, jo tas atbalsta vairākas programmēšanas valodas
  • Tā atbalsta arī gridFS un replikācijas funkcijas

Tā popularitātes dēļ izstrādātājiem, kuri strādā ar MongoDB, ir daudz darba iespēju. Šis raksts ir saistīts ar jautājumiem, kas ir vissvarīgākie un ko bieži uzdod daudzas visaugstāk novērtētās organizācijas.



MongoDB intervijas jautājumi

Visbiežāk uzdotie jautājumi ir sadalīti trīs līmeņos: pamata līmenis, vidējais līmenis un eksperta līmenis.





Pamatlīmenis

Šie jautājumi ir saistīti ar MongoDB pamatjēdzieniem un terminoloģiju, un intervijā ir sagaidāms, ka katram kandidātam ir jāatbild uz šiem jautājumiem.

1. jautājums: ko jūs zināt par NoSQL datu bāzēm un to veidiem?
NoSQL datu bāzes ir tās datu bāzes, kas neuzglabā datus tabulās, kā to dara SQL datu bāzes, tā vietā, lai saglabātu datus citās formās, piemēram, dokumentos un atslēgu vērtību formās.



Ir četri svarīgi NoSQL datu bāzu veidi:

  • Dokumentu datu bāzes: Šajās datu bāzēs tiek glabāti dati JSON dokumentu veidā, šie dokumenti tiek apvienoti, veidojot kolekcijas, un šīs kolekcijas tiek apvienotas, veidojot datu bāzi.
  • Atslēgu vērtību datu bāzes: Šajās datu bāzēs dati tiek glabāti atslēgu vērtību veidā, piemēram, “Vārds = Jānis”, šajā piemērā “Vārds” ir atslēga un “Jānis” ir vērtība.
  • Plašu kolonnu veikals: Šīs datu bāzes glabā datus dinamisku tabulu veidā, atšķirībā no relāciju datu bāzēm šīs tabulas nav strukturētas.
  • Grafiku datu bāzes: Šīs datu bāzes satur malas un mezglus; mezgli tiek izmantoti informācijas glabāšanai, savukārt malas tiek izmantotas, lai parādītu attiecības starp mezgliem.

2. jautājums: kāda veida NoSQL datubāze ir MongoDB?
MongoDB datu bāze pieder dokumentu datu bāzēm, kas nozīmē, ka tā saglabā datus saskaņā ar JSON dokumentiem. Tas neseko nevienai shēmai un ļauj tajā ievietot jebkāda veida datus.

3. jautājums: kura no MongoDB un SQL datu bāzēm ir labāka?
MongoDB ir labāka par SQL datu bāzēm tādā veidā, ka tā var apstrādāt nestrukturētus datus, savukārt SQL datu bāzes apstrādā tikai strukturētus datus un glabā tos bez jebkādiem ierobežojumiem atšķirībā no relāciju datu bāzēm. Pateicoties bezshēmas funkcijai, MongoDB vaicājumi tiek apstrādāti ātri, salīdzinot ar SQL datu bāzēm, jo ​​dati netiek ievietoti tabulu veidā un vairākās tabulās dati tiek ievietoti tajā pašā vietā, tāpēc tie tiek vaicājumam ir viegli piekļūt datiem, un MongoDB ļauj kartēt savus datus citās programmēšanas valodās, kas lietotājiem nodrošina vieglu darbu pie tiem.

4. jautājums: kas ir dokuments un kolekcija MongoDB?
Dati tiek glabāti MongoDB dokumentu veidā, pēc tam šie dokumenti apvienojas, veidojot kolekciju, un vairākas kolekcijas apvienojas, veidojot datu bāzi. Lai to saprastu, apsveriet skolas_datu datu bāzes piemēru, skolas_datu datu bāze satur kolekcijas, kurās ir klases_dati, un tālāk šajos dokumentos (klases_dati) ir ietverti skolēnu dati (studentu_dati) dokumentu veidā.

5. jautājums. Kas ir MongoDB datu tipi?
Ir daudz datu tipu, kurus atbalsta MongoDB:

Stīga Virknes datu tips saglabā datus alfabēta/rakstzīmju veidā, un tiem ir jābūt 8 baitiem un jāpieder UTF-8, piemēram, Jone.
Vesels skaitlis Tas saglabā skaitļus līdz 64 bitiem, bet lielums var atšķirties atkarībā no servera, piemēram, 1,54.
Būla To izmanto, lai saglabātu Būla vērtības, kas var būt 0 vai 1, piemēram, Jānis ir klasē? Tā atbilde ir jā vai nē.
Dubults Šeit tiek saglabāti peldošie skaitļi, piemēram, 22,8.
Min/Max taustiņi To izmanto, lai salīdzinātu minimālās un maksimālās vērtības.
Masīvi To izmanto, lai vienā atslēgā saglabātu masīvus vai vairākas vērtības.
Laika zīmogs Ja jebkurš dokuments tiek mainīts, tas var saglabāt izmaiņu ierakstus.
Objekts Tas glabā iegultos dokumentus
Null Tas saglabā nulles vērtības.
Simbols Šis ir virknes veids, un tajā var saglabāt tās valodas, kas ir saistītas ar simboliem
Datums Šajos datu tipos var saglabāt pašreizējo laiku un datumu
Objekta ID Dokumentiem ir unikāli id, šos ID var saglabāt šajā datu tipā
Binārie dati Tajā tiek glabāti binārie dati, kas pazīstami arī kā mašīnvaloda.
Kods Ar šī datu veida palīdzību dokumentos tiek saglabāti Javascript kodi
Regulāra izteiksme Šajā datu tipā var saglabāt jebkuru izteiksmi

6. jautājums: kādas ir MongoDB alternatīvas?
MongoDB ir NoSQL datu bāzes veids, ar kura palīdzību BSON dokumentos tiek glabāti lieli izplatīti dati. MongoDB alternatīvas var būt Amazon DynamoDB, Microsoft Azure Cosmos DB, Couchbase, PostgreSQL, Redis un Cassandra.

Vidējais līmenis

Šie jautājumi ir vairāk saistīti ar progresīvām jēdzieniem, nevis ar pamatiem, un ir sagaidāms, ka intervijā uz šiem jautājumiem jāatbild vidusmēra kandidātam.

7. jautājums: kā mēs varam salīdzināt MongoDB un SQL augstā līmenī?
SQL datu bāzes ir relāciju datu bāzes, kurās dati tiek glabāti labi strukturētā un organizētā veidā rindu un kolonnu veidā, kas veido tabulas, no otras puses, MongoDB datu bāzes ir NoSQL datu bāzes, kas glabā datus dokumentos, šie dokumenti ir kolektīvi. pazīstamas kā kolekcijas, un šīs kolekcijas apvieno, veidojot datu bāzi.

8. jautājums: vai MongoDB ir tādas funkcijas kā ACID darījumu pārvaldība un bloķēšana?
Nē, pēc noklusējuma MongoDB nenodrošina nevienu ACID darījumu ar vairākiem dokumentiem, tomēr tas var nodrošināt ACID darījumu atbalstu vienā dokumentā.

9. jautājums: kas ir indeksēšana MongoDB?
MongoDB indekss ir īpaša datu struktūra, kas aizņem dažus datu bāzes laukus un satur dažus datus, lai izveidotu indeksu. Indekss uzlabo datu bāzes meklēšanas iespējas, tā vietā, lai meklētu konkrētu lietu no daudziem dokumentiem, lietotājs var tieši ar indeksēšanas palīdzību doties uz norādīto dokumentu.

{
Studenta_id = 1
Studenta vārds = 'Pāvils'
Valsts = 'Savienotās Valstis'
}

Iepriekš minētajā piemērā “Studenta_id =1” ir rādītājs, tādēļ, ja kāds meklēs pēc Studenta_id vai 1, tiks atvērts šāds dokuments.

10. jautājums: vai MongoDB var izveidot indeksu masīva laukā?

Jā, mēs varam izveidot indeksu masīva laukā MongoDB, un tas indeksē katru masīva vērtību. Faktiski MongoDB pats izveido vairāku atslēgu indeksu, un jums tas nav jānorāda, ja kāds indeksa lauks ir masīvs.

11. jautājums: vai vienā MongoDB instancē ir iespējams palaist vairākas Javascript darbības?
Ir iespējams palaist vairākas Javascript darbības vienā mongod instancē, jo MongoDB V8 versijā 2.4 ir pievienots javascript dzinējs.

12. jautājums. Kas ir žurnālu veidošana MongoDB?
Kad MongoDB ir iespējota žurnālu veidošana, tā direktorijā izveido žurnāla apakšdirektoriju /data/db , kas pēc noklusējuma ir ceļš, ko nosaka dbPath. Kamēr darbojas žurnāli, MongoDB rediģē un saglabā datus atmiņā un diskā, pirms datu izmaiņas tiek pārsūtītas uz disku. Tas ir ļoti noderīgi, ja ir radusies kļūda, kuras dēļ izmaiņas datos nav saglabātas, MongoDB var izgūt izmaiņas no žurnāla faila un nodrošināt failu noturību.

Ekspertu līmenis

Šie jautājumi ir saistīti ar progresīvākām MongoDB koncepcijām, ir sagaidāms, ka uz šiem jautājumiem jāatbild ekspertu kandidātam.

13. jautājums: Kas ir MongoDB sadalīšanas process?
MongoDB sadalīšana ir milzīgas datu bāzes datu izplatīšanas process starp daudziem MongoDB serveriem. Tāpēc ir viegli apstrādāt datus, kā arī var atbildēt uz vaicājumiem ar lielu ātrumu. MongoDB atbalsta horizontālo mērogošanu, izmantojot sadalīšanu.

MongoDB klasteris sastāv no trim daļām, kas ir lauskas ; tā ir pazīstama arī kā replika un ir pieejama katrā serverī, mango ; tie darbojas kā tulks starp serveri un shard, un konfigurācijas serveri ; tie saglabā klastera konfigurācijas iestatījumus un metadatus.

14. jautājums: Kas ir mērogošana un kā tas notiek MongoDB?
Ja vienā mezglā ir daudz datu, vairāki mezgli tuvojas ielādētajam mezglam, lai sadalītu tā slodzi. Šo viena mezgla slodzes kopīgošanas procesu dažādiem mezgliem sauc par mērogošanu, un to sauc arī par horizontālo mērogošanu.

15. jautājums: kā mēs varam iegūt informāciju par vaicājumu plāniem, izmantojot MongoDB vaicājumu valodu?
The izskaidrot () tiek izmantota komanda, un tā atbalsta režīmus, kas ir “allPlansExecution, executionStats un queryPlanner”. Piemēram:

db . restorāniem . paskaidrot ( 'executionStats' ) . atrast (
{ 'virtuve' : 1 , 'pilsēta' : 'Bruklina' }
) ;

Iepriekš minētajā piemērā restorāna dati tiek izgūti no komandas paskaidrot().

16. jautājums. Izskaidrojiet MongoDB apkopošanas sistēmu.
Vietnē MongoDB tiek iegūti dati no dažādām kolekcijām un pēc skaitļošanas tiek atgriezts kombinēts rezultāts, kas pazīstams kā apkopojums. Tam ir trīs darbības, pirmkārt, tas veiks ievadi un filtrēs mums nepieciešamos dokumentus no dokumentiem, izmantojot $match(), pēc tam mēs veicam filtrētās informācijas apkopošanas darbu, izmantojot $group(), un visbeidzot mēs kārtosim mūsu rezultāti, izmantojot $sort().

17. jautājums: Vai ir iespējams bloķēt vairāk nekā vienu datu bāzi, izmantojot MongoDB darbību?
Jā, MongoDB var bloķēt vairāk nekā vienu datu bāzi, lai uzreiz bloķētu vairākas datu bāzes, mēs izmantojam MongoDB darbību db.copyDatabase() , tā kā operācija, db.repairDatabase() piemērot globālu bloķēšanu datu bāzes rediģēšanai un arī ierobežot citas darbības, kas jāievieš, līdz tā tiek noņemta.

18. jautājums: Kas ir GridFS MongoDB?
Lieli faili, kas pārsniedz 16 MB, piemēram, attēli, video faili un audio faili, tiek pārvaldīti MongoDB, izmantojot GridFS, un tiek glabāti faila daļās un daļās, nevis vienā dokumentā. Pēc noklusējuma MongoDB atbalsta tikai divus formātus, kas ir fs. faili un fs.chunks, lai saglabātu failu gabalus un metadatus.

19. jautājums: kā jūs varat aprakstīt replikācijas parādības MongoDB?
Replikācija ir datu sinhronizācijas process starp daudziem serveriem, savukārt MongoDB kopē datus un replikē tos dažādos serveros, tāpēc servera avārijas gadījumā datus var izgūt no jebkura cita servera, kas nodrošina datu drošību.

20. jautājums: kas ir Mongo Shell?
Mongo apvalks ir JavaScript platforma, caur kuru mēs varam mijiedarboties ar MongoDB, kā arī varam veikt izmaiņas datos, izmantojot vaicājumus. To izmanto arī administratīviem nolūkiem, piemēram, datu bāzes gadījumu uzturēšanai. Pēc noklusējuma mongo apvalks ir iekļauts instalācijas failā, bet, ja tas nav instalēts, varat to instalēt no MongoDB servera.

Secinājums

MongoDB ir populāra NoSQL datu bāze, ko izmanto, lai pārvaldītu datus dokumentu veidā, un to ir ļoti viegli apstrādāt, jo tā ir bezshēma. To izmanto daudzi labi pazīstami uzņēmumi, piemēram, Twitter un Facebook. Tā popularitātes dēļ izstrādātājiem, kuri strādā MongoDB saskarnē, ir daudz darba iespēju. Šajā rakstā visbiežāk uzdotie MongoDB intervijas jautājumi ir kopīgoti ar atbilstošām atbildēm.