A legnépszerűbb MongoDB interjúkérdések

A Legnepszerubb Mongodb Interjukerdesek



A MongoDB egy nyílt forráskódú NoSQL adatbázis-kezelő rendszer; nem csak megkönnyíti a strukturálatlan adatok tárolását, hanem kezeli is azokat. Amikor felmerül a kérdés, hogyan kell kezelni milliónyi strukturálatlan adatsort, a MongoDB ajánlott.

A MongoDB első verzióját 2007 februárjában adta ki 10 gen A szoftvercég, majd 2013-ban a 10gen a cég nevét MongoDB Inc.-re változtatta.

A MongoDB egy NoSQL-adatbázis, amelyet a JSON-dokumentumok űrlapon való tárolására használnak, mivel ennek a szolgáltatásnak köszönhetően hatalmas mennyiségű strukturálatlan adat tárolható és kezelhető a MongoDB-ben. Ezen dokumentumoknak az adatokat tartalmazó halmazát gyűjteményeknek nevezzük. És ezek a gyűjtemények hasonlóak a relációs adatbázisokban az adatok tárolására használt táblákhoz.







Számos oka van annak, hogy a MongoDB miért olyan népszerű más relációs és NoSQL adatbázisokhoz képest, ezek közül néhány:



  • A fejlesztők a kulcs-érték párok szerint határozhatják meg a struktúrát
  • A relációs adatbázisokhoz hasonlóan nincs szükség sorokra és oszlopokra az adatokhoz
  • A MongoDB szerkezeti hierarchia lehetővé teszi az adatok tömb formájában történő tárolását, valamint összetett adatok tárolását is
  • Segítségével a fejlesztők könnyen kezelhetik az adatbázisokat, mivel több programozási nyelvet támogat
  • Támogatja a gridFS és a replikáció szolgáltatásait is

Népszerűsége miatt rengeteg munkalehetőség kínálkozik a MongoDB-vel dolgozó fejlesztőknek. Ez a cikk azokhoz a kérdésekhez kapcsolódik, amelyek a legfontosabbak, és amelyeket sok legjobban értékelt szervezet gyakran feltesz.



MongoDB interjúkérdések

A leggyakrabban feltett kérdések három szintre oszthatók: alapszint, középszint és szakértői szint.





Alapszint

Ezek a kérdések a MongoDB alapfogalmaihoz és terminológiájához kapcsolódnak, és egy interjú során elvárás, hogy minden jelölt válaszoljon ezekre a kérdésekre.

1. kérdés: Mit tud a NoSQL adatbázisokról és típusaikról?
A NoSQL-adatbázisok azok az adatbázisok, amelyek nem tárolnak adatokat táblákban, mint az SQL-adatbázisok, hanem más formákban, például dokumentumokban és kulcsérték-űrlapokban tárolják az adatokat.



A NoSQL-adatbázisoknak négy fontos típusa van:

  • Dokumentum adatbázisok: Ezek az adatbázisok JSON-dokumentumok formájában tárolják az adatokat, ezek a dokumentumok gyűjteményeket alkotnak, ezek a gyűjtemények pedig adatbázist alkotnak.
  • Kulcsérték adatbázisok: Ezek az adatbázisok kulcsértékek formájában tárolják az adatokat, például „Név = János”, ebben a példában a „Név” a kulcs, a „János” pedig az érték.
  • Széles oszlopos üzlet: Ezek az adatbázisok dinamikus táblák formájában tárolják az adatokat, a relációs adatbázisokkal ellentétben ezek a táblák nem strukturáltak.
  • Grafikon adatbázisok: Ezek az adatbázisok éleket és csomópontokat tartalmaznak; A csomópontok az információk tárolására szolgálnak, míg az élek a csomópontok közötti kapcsolatok megjelenítésére szolgálnak.

2. kérdés: Milyen típusú NoSQL adatbázis a MongoDB?
A MongoDB adatbázis a dokumentumadatbázisokhoz tartozik, ami azt jelenti, hogy a JSON dokumentumoknak megfelelően tárolja az adatokat. Nem követ semmilyen sémát, és lehetővé teszi bármilyen típusú adat beillesztését.

3. kérdés: Melyik a jobb a MongoDB és SQL adatbázisok közül?
A MongoDB jobb, mint az SQL-adatbázisok oly módon, hogy képes kezelni a strukturálatlan adatokat, míg az SQL-adatbázisok csak a strukturált adatokat kezelik és korlátozás nélkül tárolják, ellentétben a relációs adatbázisokkal. A sémamentesség miatt a MongoDB-ben a lekérdezések az SQL adatbázisokhoz képest gyorsabban kezelhetők, mivel az adatok nem táblák formájában kerülnek elhelyezésre, hanem több táblában is egy helyre kerülnek, így A lekérdezés könnyen hozzáférhet az adatokhoz, a MongoDB pedig lehetővé teszi adatainak más programozási nyelveken való leképezését, ami megkönnyíti a felhasználók számára a munkát.

4. kérdés: Mi az a dokumentum és gyűjtemény a MongoDB-ben?
Az adatokat a MongoDB-ben tárolják dokumentumok formájában, majd ezek a dokumentumok egyesülve gyűjteményt alkotnak, számos gyűjtemény pedig adatbázist alkot. Ennek megértéséhez vegyünk egy példát egy iskola_adat adatbázisra, ahol az iskola_adatok adatbázisa olyan gyűjteményeket tartalmaz, amelyekben osztályok_adatok vannak, továbbá ezek a dokumentumok (classes_data) a tanulók adatait (tanulói adatok) tartalmazzák dokumentumok formájában.

5. kérdés: Mik azok a MongoDB adattípusok?
A MongoDB számos adattípust támogat:

Húr A string adattípus ábécék/karakterek formájában tárolja az adatokat, 8 bájtosnak kell lennie, és UTF-8-hoz kell tartoznia, például Jone.
Egész szám Legfeljebb 64 bites számokat tárol, de a méret a szervertől függően változhat, például 1,54.
Boolean Ez a logikai értékek tárolására szolgál, amelyek lehetnek 0 vagy 1, például John az osztályban van? A válasz vagy igen, vagy nem.
Kettős Ez olyan lebegő számokat tárol, mint a 22,8.
Min/Max gombok Min és max értékek összehasonlítására szolgál.
Tömbök Ez tömbök vagy több érték tárolására szolgál egy kulcsban.
Időbélyeg Bármely dokumentum módosítása esetén megőrizheti a módosítások nyilvántartását.
Tárgy Ez tárolja a beágyazott dokumentumokat
Nulla Null értékeket tárol.
Szimbólum Ez a karakterlánc típusa, és képes tárolni azokat a nyelveket, amelyek a szimbólumokhoz kapcsolódnak
Dátum Az aktuális idő és dátum ezekben az adattípusokban tárolható
Objektumazonosító A dokumentumok egyedi azonosítókkal rendelkeznek, ezek az azonosítók ebben az adattípusban tárolhatók
Bináris adatok Bináris adatok, amelyeket gépi nyelvnek is neveznek, tárolódnak benne.
Kód A Javascript kódok ezen adattípus segítségével kerülnek tárolásra a dokumentumokban
Reguláris kifejezés Ebben az adattípusban bármilyen kifejezés tárolható

6. kérdés: Melyek a MongoDB alternatívái?
A MongoDB egy olyan NoSQL adatbázis, amelynek segítségével a BSON dokumentumokban nagy elosztott adatok tárolódnak. A MongoDB alternatívái lehetnek az Amazon DynamoDB, a Microsoft Azure Cosmos DB, a Couchbase, a PostgreSQL, a Redis és a Cassandra.

Középfokú

Ezek a kérdések inkább a haladó fogalmakhoz, mint az alapokhoz kapcsolódnak, és egy interjú során elvárás, hogy egy átlagos jelölt válaszoljon ezekre a kérdésekre.

7. kérdés: Hogyan hasonlíthatjuk össze a MongoDB-t és az SQL-t magas szinten?
Az SQL adatbázisok olyan relációs adatbázisok, amelyek jól strukturáltan és rendezve tárolják az adatokat sorok és oszlopok formájában, amelyek táblázatokat alkotnak, másrészt a MongoDB adatbázisok a NoSQL adatbázisok, amelyek adatokat tárolnak a dokumentumokban, ezek a dokumentumok együttesen gyűjtemények néven ismertek, és ezek a gyűjtemények egy adatbázist alkotnak.

8. kérdés: Vannak olyan funkciók, mint az ACID tranzakciókezelés és zárolás a MongoDB-ben?
Nem, a MongoDB alapértelmezés szerint nem biztosít ACID-tranzakciót több dokumentumon, azonban egyetlen dokumentumon is támogatja az ACID-tranzakciókat.

9. kérdés: Mi az indexelés a MongoDB-ben?
A MongoDB-ben az index egy speciális adatstruktúra, amely az adatbázis egyes mezőit foglalja el, és néhány adatot tartalmaz index létrehozásához. Az index javítja az adatbázis keresési képességét, ahelyett, hogy sok dokumentum között keresne egy adott dolgot, a felhasználó az indexelés segítségével közvetlenül a megadott dokumentumra tud lépni.

{
Diákigazolvány = 1
Tanuló név = 'Pál'
Ország = 'Egyesült Államok'
}

A fenti példában a „Student_id =1” egy index, tehát ha valaki diákazonosító vagy 1 alapján keres, akkor a következő dokumentum nyílik meg.

10. kérdés: A MongoDB-ben létrehozható-e index egy tömbmezőn?

Igen, létrehozhatunk egy indexet egy tömbmezőn a MongoDB-ben, és az indexeli a tömb minden értékét. Valójában a MongoDB önmagában hozza létre a többkulcsos indexet, és nem kell megadnia, ha bármely indexmező tömb.

11. kérdés: Lehetséges több Javascript-művelet futtatása egyetlen MongoDB-példányban?
Lehetőség van több Javascript-művelet futtatására egyetlen mongod-példányban, mivel a MongoDB V8 2.4-es verziójában javascript-motor került hozzáadásra.

12. kérdés: Mi a naplózás a MongoDB-ben?
Ha a naplózás engedélyezve van a MongoDB-ben, létrehoz egy alkönyvtárat a Journal alkönyvtárában a címtárban /data/db , amely alapértelmezés szerint a dbPath által meghatározott elérési út. A naplózás futása közben a MongoDB szerkeszti és tárolja az adatokat a memóriában és a lemezen, mielőtt az adatváltozások a lemezre kerülnének. Nagyon hasznos abban az esetben, ha olyan hiba lépett fel, amely miatt az adatok változásai nem kerültek mentésre, a MongoDB le tudja kérni a változásokat a Journal fájlból, és biztosítani tudja a fájlok tartósságát.

Szakértői szint

Ezek a kérdések a MongoDB fejlettebb koncepcióihoz kapcsolódnak, ezekre a kérdésekre várhatóan egy szakértő jelöltnek kell válaszolnia.

13. kérdés: Mi a MongoDB felosztási folyamata?
A MongoDB-ben a felosztás egy hatalmas adatbázis adatainak sok MongoDB-kiszolgáló között történő elosztásának folyamata. Így könnyen kezelhető az adatok, és a lekérdezésekre is nagy sebességgel tud válaszolni. A MongoDB támogatja a vízszintes skálázást a felosztáson keresztül.

A MongoDB-fürt három részből áll, amelyek szilánkok ; replikaként is ismert, és minden szerveren elérhető, mangó ; tolmácsként működnek a szerver és a szilánk között, és konfigurációs szerverek ; tárolják a fürt konfigurációs beállításait és a metaadatokat.

14. kérdés: Mi az a skálázás, és hogyan történik a MongoDB-ben?
Ha sok adat van egy csomóponton, a több csomópont közel kerül a betöltött csomóponthoz, hogy elosztja a terhelést. Az egyetlen csomópont terhelésének különböző csomópontokkal való megosztásának folyamatát kiosztásnak nevezik, és vízszintes skálázásnak is nevezik.

15. kérdés: Hogyan szerezhetünk információkat a lekérdezési tervekről a MongoDB lekérdezési nyelv használatával?
Az magyarázd () parancsot használják, és támogatja az alábbi módokat: „allPlansExecution, executionStats és queryPlanner”. Például:

db . éttermek . megmagyarázni ( 'executionStats' ) . megtalálja (
{ 'konyha' : 1 , 'kerület' : 'Brooklyn' }
) ;

A fenti példában az étterem adatait a magyarázat() parancsból kérjük le.

16. kérdés: Magyarázza el a MongoDB aggregációs keretrendszert.
A MongoDB-ben az adatok lekérése a különböző gyűjteményekből, és a számítás után az összesítésként ismert kombinált eredményt adja vissza. Három lépésből áll, először beírja és kiszűri a szükséges dokumentumokat a dokumentumokból a $match() segítségével, majd elvégzi az összesítési feladatot a szűrt információkon a $group() segítségével, és végül rendezi. eredményeinket a $sort() használatával.

17. kérdés: Lehetséges egynél több adatbázis zárolása a MongoDB művelettel?
Igen, a MongoDB egynél több adatbázist is tud zárolni, több adatbázis azonnali zárolásához a MongoDB műveletet használjuk db.copyDatabase() , mivel a művelet, db.repairDatabase() globális zárolást alkalmaz az adatbázis szerkesztésére, és korlátozza az egyéb végrehajtandó műveleteket az eltávolításig.

18. kérdés: Mi az a GridFS a MongoDB-ben?
A 16 MB-ot meghaladó nagy fájlokat, például képeket, videofájlokat és hangfájlokat a MongoDB a GridFS segítségével kezeli, és a fájl részeiben és darabjaiban tárolja egyetlen dokumentum helyett. A MongoDB alapértelmezés szerint csak két fs formátumot támogat. fájlok és fs.chunks a fájlok darabjainak és metaadatainak tárolására.

19. kérdés: Hogyan írhatja le a replikációs jelenségeket a MongoDB-ben?
A replikáció az adatok szinkronizálásának folyamata számos szerver között, míg a MongoDB az adatokat másolja és replikálja különböző szerverekre, így a szerver összeomlása esetén az adatok bármelyik másik szerverről lekérhetők, ami biztosítja az adatok biztonságát.

20. kérdés: Mi az a Mongo Shell?
A mongo shell egy JavaScript platform, amelyen keresztül kapcsolatba léphetünk a MongoDB-vel, és a lekérdezések segítségével módosíthatunk az adatokon. Adminisztratív célokra is használják, például az adatbázispéldányok karbantartására. Alapértelmezés szerint a mongo shell szerepel a telepítőfájlban, de ha nincs telepítve, telepítheti a MongoDB kiszolgálóról.

Következtetés

A MongoDB egy népszerű NoSQL adatbázis, amelyet dokumentumok formájában kezelnek, és nagyon könnyen kezelhető, mivel sémamentes. Számos jól ismert cég használja, például a Twitter és a Facebook. Népszerűsége miatt számos munkalehetőség kínálkozik a MongoDB felületen dolgozó fejlesztőknek. Ebben a cikkben a MongoDB interjúk leggyakrabban feltett kérdéseit a megfelelő válaszokkal együtt közöljük.