Suosituimmat MongoDB-haastattelukysymykset

Suosituimmat Mongodb Haastattelukysymykset



MongoDB on avoimen lähdekoodin NoSQL-tietokannan hallintajärjestelmä; Se ei ainoastaan ​​helpota jäsentämättömän tiedon tallentamista, vaan myös hallitsee sitä. Aina kun herää kysymys miljoonien jäsentämättömien tietojen riveistä hallinnasta, suositellaan MongoDB:tä.

MongoDB:n ensimmäisen version julkaisi helmikuussa 2007 10 gen Ohjelmistoyhtiö, myöhemmin vuonna 2013, 10gen muutti yrityksen nimeksi MongoDB Inc.

MongoDB on NoSQL-tietokanta, jota käytetään tietojen tallentamiseen JSON-asiakirjamuotoon tämän ominaisuuden ansiosta, valtava määrä jäsentelemätöntä dataa voidaan helposti tallentaa ja hallita MongoDB:ssä. Nämä tiedot sisältävät asiakirjat tunnetaan kokoelmina. Ja nämä kokoelmat ovat samanlaisia ​​kuin taulukot, joita käytetään relaatiotietokannoissa tietojen tallentamiseen.







On monia syitä, miksi MongoDB on niin suosittu verrattuna muihin relaatio- ja NoSQL-tietokantoihin, joista osa ovat:



  • Kehittäjät voivat määritellä rakenteen avain-arvo-parien mukaan
  • Kuten relaatiotietokannat, rivejä ja sarakkeita ei tarvita dataa varten
  • MongoDB-rakennehierarkia mahdollistaa tietojen tallentamisen taulukkomuodossa ja voi myös tallentaa monimutkaisia ​​tietoja
  • Sen avulla kehittäjät hallitsevat tietokantoja helposti, koska se tukee useita ohjelmointikieliä
  • Se tukee myös gridFS:n ja replikoinnin ominaisuuksia

Sen suosion vuoksi MongoDB:n kanssa työskenteleville kehittäjille on paljon työmahdollisuuksia. Tämä artikkeli liittyy kysymyksiin, jotka ovat tärkeimpiä ja useimmin kysyttyjä monien parhaiden organisaatioiden keskuudessa.



MongoDB:n haastattelukysymykset

Usein kysytyt kysymykset on jaettu kolmeen tasoon: Perustaso, Keskitaso ja Asiantuntijataso.





Perustaso

Nämä kysymykset liittyvät MongoDB:n peruskäsitteisiin ja terminologioihin, ja haastattelussa jokaisen ehdokkaan tulee vastata näihin kysymyksiin.

Kysymys 1: Mitä tiedät NoSQL-tietokannoista ja niiden tyypeistä?
NoSQL-tietokannat ovat niitä tietokantoja, jotka eivät tallenna tietoja taulukoihin kuten SQL-tietokannat tekevät sen sijaan, että ne tallentavat tietoja muissa muodoissa, kuten asiakirjoissa ja avainarvolomakkeissa.



NoSQL-tietokantoja on neljää tärkeää tyyppiä:

  • Asiakirjatietokannat: Nämä tietokannat tallentavat tietoja JSON-dokumenttien muodossa, nämä asiakirjat yhdistyvät kokoelmiksi ja nämä kokoelmat muodostavat tietokannan.
  • Avainarvotietokannat: Nämä tietokannat tallentavat tiedot avainarvojen muodossa, esimerkiksi 'Name = John', tässä esimerkissä 'Nimi' on avain ja 'John' on arvo.
  • Leveä sarakekauppa: Nämä tietokannat tallentavat tietoja dynaamisten taulukoiden muodossa, toisin kuin relaatiotietokannat, nämä taulukot eivät ole strukturoituja.
  • Graafitietokannat: Nämä tietokannat sisältävät reunat ja solmut; solmuja käytetään tietojen tallentamiseen, kun taas reunoja käytetään osoittamaan solmujen välisiä suhteita.

Kysymys 2: minkä tyyppinen NoSQL-tietokanta MongoDB on?
MongoDB-tietokanta kuuluu asiakirjatietokantoihin, mikä tarkoittaa, että se tallentaa tietoja JSON-dokumenttien mukaisesti. Se ei noudata mitään skeemaa ja sallii kaikentyyppisten tietojen lisäämisen siihen.

Kysymys 3: Kumpi on parempi MongoDB- ja SQL-tietokannoista?
MongoDB on parempi kuin SQL-tietokannat siten, että se pystyy käsittelemään jäsentämätöntä dataa, kun taas SQL-tietokannat käsittelevät vain strukturoitua tietoa ja tallentavat sen ilman rajoituksia toisin kuin relaatiotietokannat. Sen kaavattoman ominaisuuden vuoksi kyselyt käsitellään MongoDB:ssä nopeasti SQL-tietokantoihin verrattuna, koska tietoja ei sijoiteta taulukoiden muodossa ja useissa taulukoissa tiedot sijoitetaan sen sijaan samaan paikkaan, joten se on kyselyn on helppo päästä käsiksi tietoihin, ja MongoDB mahdollistaa tietojen kartoittamisen muilla ohjelmointikielillä, mikä helpottaa käyttäjien työstämistä.

Kysymys 4: Mikä on asiakirja ja kokoelma MongoDB:ssä?
Tiedot tallennetaan MongoDB:hen dokumenttien muodossa, sitten nämä asiakirjat yhdistyvät kokoelmaksi ja useat kokoelmat muodostavat tietokannan. Tämän ymmärtämiseksi harkitse esimerkkiä koulun_data-tietokannasta, jossa koulun_data-tietokanta sisältää kokoelmia, joissa on classes_data, ja lisäksi nämä asiakirjat (classes_data) sisältävät opiskelijoiden tiedot (opiskelijatiedot) dokumenttien muodossa.

Kysymys 5: Mitä ovat MongoDB-tietotyypit?
MongoDB tukee monia tietotyyppejä:

merkkijono Merkkijonotietotyyppi tallentaa tiedot aakkosten/merkkien muodossa ja sen tulee olla 8 tavua ja kuulua UTF-8:aan, esimerkiksi Jone.
Kokonaisluku Se tallentaa numeroita 64-bittisiin asti, mutta koko voi vaihdella palvelimen mukaan, esimerkiksi 1,54.
Boolean Tätä käytetään tallentamaan loogisia arvoja, jotka voivat olla joko 0 tai 1, esimerkiksi, onko John luokassa? Sen vastaus on joko kyllä ​​tai ei.
Kaksinkertainen Tämä tallentaa kelluvat luvut, kuten 22.8.
Min/Max-näppäimet Sitä käytetään min- ja maksimiarvojen vertailuun.
Taulukot Tätä käytetään taulukoiden tai useiden arvojen tallentamiseen yhteen avaimeen.
Aikaleima Kun mitä tahansa asiakirjaa muutetaan, se voi säilyttää muutokset.
Esine Tämä tallentaa upotetut asiakirjat
Tyhjä Se tallentaa nolla-arvot.
Symboli Tämä on merkkijonotyyppi ja voi tallentaa ne kielet, jotka liittyvät symboleihin
Päivämäärä Nykyinen aika ja päivämäärä voidaan tallentaa näihin tietotyyppeihin
Objektin tunnus Asiakirjoilla on yksilölliset tunnukset, nämä tunnukset voidaan tallentaa tähän tietotyyppiin
Binaaridata Binaaridataa, joka tunnetaan myös konekielenä, on tallennettu siihen.
Koodi Javascript-koodit tallennetaan dokumentteihin tämän tietotyypin avulla
Tavallinen ilme Tähän tietotyyppiin voidaan tallentaa mikä tahansa lauseke

Kysymys 6: Mitä vaihtoehtoja MongoDB:lle on?
MongoDB on eräänlainen NoSQL-tietokanta, jonka avulla suuret hajautetut tiedot tallennetaan BSON-dokumentteihin. MongoDB:n vaihtoehdot voivat olla Amazon DynamoDB, Microsoft Azure Cosmos DB, Couchbase, PostgreSQL, Redis ja Cassandra.

Keskitaso

Nämä kysymykset liittyvät enemmän edistyneisiin käsitteisiin kuin perusasioihin, ja haastattelussa keskivertoehdokkaan odotetaan vastaavan näihin kysymyksiin.

Kysymys 7: Kuinka voimme verrata MongoDB:tä ja SQL:ää korkealla tasolla?
SQL-tietokannat ovat relaatiotietokantoja, jotka tallentavat tietoja hyvin jäsennellysti ja organisoidusti riveinä ja sarakkeina, jotka muodostavat taulukoita, toisaalta MongoDB-tietokannat ovat NoSQL-tietokantoja, jotka tallentavat tietoja asiakirjoihin, nämä asiakirjat ovat kollektiivisesti tunnetaan kokoelmina, ja nämä kokoelmat muodostavat tietokannan.

Kysymys 8: Onko MongoDB:ssä toimintoja, kuten ACID-tapahtumien hallinta ja lukitus?
Ei, oletuksena MongoDB ei tarjoa ACID-tapahtumia useille asiakirjoille, mutta se voi tarjota tukea ACID-tapahtumille yhdelle asiakirjalle.

Kysymys 9: Mitä on indeksointi MongoDB:ssä?
MongoDB:ssä indeksi on erityinen tietorakenne, joka kattaa joitain tietokannan kenttiä ja sisältää joitain tietoja indeksin muodostamista varten. Hakemisto parantaa tietokannan hakukykyä, sen sijaan, että käyttäjä etsiisi tiettyä asiaa useista asiakirjoista, käyttäjä voi siirtyä suoraan määritettyyn dokumenttiin indeksoinnin avulla.

{
Opiskelijanumero = 1
Opiskelijan nimi = 'Paavali'
Maa = 'Yhdysvallat'
}

Yllä olevassa esimerkissä 'Opiskelijatunnus =1' on indeksi, joten jos joku tekee haun joko opiskelijatunnuksella tai 1:llä, seuraava dokumentti avautuu.

Kysymys 10: Voiko MongoDB:ssä luoda hakemiston taulukkokenttään?

Kyllä, voimme luoda indeksin taulukkokenttään MongoDB:ssä, ja se indeksoi jokaisen taulukon arvon. Itse asiassa MongoDB itse luo moniavaimen indeksin, eikä sinun tarvitse määrittää sitä, jos jokin indeksikenttä on taulukko.

Kysymys 11: Onko mahdollista suorittaa useita Javascript-toimintoja yhdessä MongoDB-esiintymässä?
On mahdollista suorittaa useita Javascript-toimintoja yhdessä mongod-esiintymässä, koska MongoDB V8:n 2.4-versioon on lisätty javascript-moottori.

Kysymys 12: Mitä on päiväkirjan pitäminen MongoDB:ssä?
Kun kirjaus on otettu käyttöön MongoDB:ssä, se luo Journalin alihakemiston hakemistoon /data/db , joka on oletusarvoisesti dbPathin määrittelemä polku. Kun kirjaus on käynnissä, MongoDB muokkaa ja tallentaa tiedot muistiin ja levylle, ennen kuin tietojen muutokset siirretään levylle. MongoDB voi noutaa muutokset Journal-tiedostosta ja varmistaa tiedostojen kestävyyden.

Asiantuntijataso

Nämä kysymykset liittyvät MongoDB:n edistyneempiin konsepteihin, ja näihin kysymyksiin odotetaan vastaavan asiantuntijaehdokkaan.

Kysymys 13: Mikä on MongoDB-jakoprosessi?
MongoDB:ssä sharding on prosessi, jossa valtavan tietokannan tiedot jaetaan monien MongoDB-palvelimien kesken. Tietojen käsittely on siis helppoa ja se pystyy myös vastaamaan kyselyihin suurella nopeudella. MongoDB tukee vaakasuuntaista skaalausta sirpaloinnin kautta.

MongoDB-klusteri koostuu kolmesta osasta, jotka ovat sirpaleita ; se tunnetaan myös replikana ja on saatavilla kaikilla palvelimilla, mangot ; ne toimivat tulkkina palvelimen ja sirpaleen välillä ja konfigurointipalvelimet ; ne tallentavat klusterin kokoonpanoasetukset ja metatiedot.

Kysymys 14: Mikä on skaalaus ja miten se tapahtuu MongoDB:ssä?
Kun yhdessä solmussa on paljon dataa, useat solmut tulevat lähelle ladattua solmua jakaakseen sen kuorman. Tätä prosessia, jossa yhden solmun kuormitus jaetaan eri solmuille, kutsutaan skaalaukseksi, ja se tunnetaan myös horisontaalisena skaalauksena.

Kysymys 15: Kuinka saamme tietoa kyselysuunnitelmista käyttämällä MongoDB-kyselykieltä?
The selittää() komentoa käytetään ja se tukee tiloja, jotka ovat 'allPlansExecution, executionStats ja queryPlanner'. Esimerkiksi:

db . ravintolat . selittää ( 'executionStats' ) . löytö (
{ 'keittiö' : 1 , 'kaupunginosa' : 'Brooklyn' }
) ;

Yllä olevassa esimerkissä ravintolan tiedot haetaan komennolla magyarázat().

Kysymys 16: Selitä MongoDB Aggregation Framework.
MongoDB:ssä tietojen hakeminen eri kokoelmista ja laskennan jälkeen yhdistetyn tuloksen palauttaminen, joka tunnetaan nimellä Aggregation. Siinä on kolme vaihetta, ensin se syöttää ja suodattaa tarvitsemamme asiakirjat asiakirjoista käyttämällä $match(), sitten teemme koontityön suodatetuille tiedoille käyttämällä $group() ja lopuksi lajittelemme tuloksemme käyttämällä $sort().

Kysymys 17: Onko mahdollista lukita useampi kuin yksi tietokanta MongoDB-toiminnolla?
Kyllä, MongoDB voi lukita useamman kuin yhden tietokannan, useiden tietokantojen lukitsemiseksi välittömästi, käytämme MongoDB-toimintoa db.copyDatabase() , kun taas operaatio, db.repairDatabase() soveltaa globaalia lukitusta tietokannan muokkaamiseen ja rajoittaa myös muita toteutettavia toimintoja, kunnes se poistetaan.

Kysymys 18: Mikä on GridFS MongoDB:ssä?
Suuria tiedostoja, jotka ylittävät 16 megatavua, kuten kuvia, videotiedostoja ja äänitiedostoja, hallitaan MongoDB:ssä GridFS:n avulla ja ne tallennetaan tiedoston osiin ja osiin yhden asiakirjan sijasta. MongoDB tukee oletusarvoisesti vain kahta fs-muotoa. tiedostot ja fs.chunks tiedostojen kappaleiden ja metatietojen tallentamiseen.

Kysymys 19: Kuinka voit kuvata MongoDB:n replikointiilmiöitä?
Replikointi on prosessi, jossa tietoja synkronoidaan useiden palvelimien välillä, kun taas MongoDB kopioi tiedot ja replikoi ne eri palvelimille, joten palvelimen kaatuessa tiedot voidaan hakea miltä tahansa toiselta palvelimelta, mikä varmistaa tietojen turvallisuuden.

Kysymys 20: Mikä on Mongo Shell?
Mongo-kuori on JavaScript-alusta, jonka kautta voimme olla vuorovaikutuksessa MongoDB:n kanssa ja tehdä myös muutoksia dataan kyselyiden avulla. Sitä käytetään myös hallinnollisiin tarkoituksiin, kuten tietokannan ilmentymien ylläpitoon. Oletuksena mongo shell sisältyy asennustiedostoon, mutta jos sitä ei ole asennettu, voit asentaa sen MongoDB-palvelimelta.

Johtopäätös

MongoDB on suosittu NoSQL-tietokanta, jota käytetään dokumenttien muodossa olevien tietojen hallintaan ja jota on erittäin helppo käsitellä, koska se on kaavaton. Sitä käyttävät monet tunnetut yritykset, kuten Twitter ja Facebook. Sen suosion vuoksi MongoDB-käyttöliittymässä työskenteleville kehittäjille on lukuisia työmahdollisuuksia. Tässä artikkelissa useimmin kysytyt MongoDB-haastattelukysymykset on jaettu asianmukaisten vastausten kanssa.