Nejlepší otázky k rozhovoru MongoDB

Nejlepsi Otazky K Rozhovoru Mongodb



MongoDB je open-source systém pro správu databází NoSQL; nejenže usnadňuje ukládání nestrukturovaných dat, ale také je spravuje. Kdykoli vyvstane otázka, jak spravovat miliony řádků nestrukturovaných dat, doporučujeme MongoDB.

První verze MongoDB byla vydána v únoru 2007 10 gen Softwarová společnost, později v roce 2013, 10gen změnil název společnosti na MongoDB Inc.

MongoDB je databáze NoSQL, která se používá k ukládání dat ve formě dokumentů JSON, protože díky této funkci lze v MongoDB snadno uložit a spravovat obrovské množství nestrukturovaných dat. Soubor těchto dokumentů obsahujících data se nazývá sbírky. A tyto kolekce jsou podobné tabulkám, které se používají v relačních databázích k ukládání dat.







Existuje mnoho důvodů, proč je MongoDB tak populární ve srovnání s jinými relačními a NoSQL databázemi, některé z nich jsou:



  • Vývojáři mohou definovat strukturu podle párů klíč–hodnota
  • Stejně jako relační databáze nejsou pro data potřeba řádky a sloupce
  • Hierarchická struktura MongoDB umožňuje ukládat data ve formě polí a také může ukládat komplexní data
  • Umožňuje jeho vývojářům snadno spravovat databáze, protože podporuje více programovacích jazyků
  • Podporuje také funkce gridFS a replikace

Kvůli jeho popularitě existuje mnoho pracovních příležitostí pro vývojáře, kteří pracují s MongoDB. Tento článek se týká otázek, které jsou nejdůležitější a které si často klade mnoho nejlépe hodnocených organizací.



Otázky k rozhovoru MongoDB

Nejčastěji kladené otázky jsou rozděleny do tří úrovní: Základní úroveň, Střední úroveň a Úroveň Expert.





Základní úroveň

Tyto otázky souvisí se základními pojmy a terminologií MongoDB a při pohovoru se očekává, že na tyto otázky by měl odpovědět každý kandidát.

Otázka 1: Co víte o NoSQL databázích a jejich typech?
Databáze NoSQL jsou databáze, které neukládají data do tabulek jako databáze SQL, místo toho, aby ukládaly data v jiných formách, jako jsou dokumenty a formuláře klíč-hodnota.



Existují čtyři důležité typy databází NoSQL:

  • Databáze dokumentů: Tyto databáze ukládají data ve formě dokumentů JSON, tyto dokumenty se spojují do kolekcí a tyto kolekce se spojují do databáze.
  • Databáze párů klíč–hodnota: Tyto databáze ukládají data ve formě párů klíč–hodnota, například „Jméno = Jan“, v tomto příkladu je „Jméno“ klíč a „Jan“ je hodnota.
  • Obchod se širokým sloupcem: Tyto databáze ukládají data ve formě dynamických tabulek, na rozdíl od relačních databází nejsou tyto tabulky strukturované.
  • Databáze grafů: Tyto databáze obsahují hrany a uzly; uzly se používají k ukládání informací, zatímco hrany se používají k zobrazení vztahů mezi uzly.

Otázka 2: jaký typ NoSQL databáze MongoDB je?
Databáze MongoDB patří mezi databáze dokumentů, což znamená, že ukládá data podle dokumentů JSON. Neřídí se žádným schématem a umožňuje do něj vkládat libovolný typ dat.

Otázka 3: Která je lepší mezi databázemi MongoDB a SQL?
MongoDB je lepší než databáze SQL takovým způsobem, že dokáže zpracovávat nestrukturovaná data, zatímco databáze SQL zpracovávají pouze strukturovaná data a ukládají je bez jakéhokoli omezení na rozdíl od relačních databází. Díky své vlastnosti bez schématu jsou dotazy v MongoDB zpracovávány rychle ve srovnání s databázemi SQL, protože data nejsou umístěna ve formě tabulek a místo toho v řadě tabulek jsou data umístěna na stejné místo, takže jsou Pro dotaz je snadný přístup k datům a MongoDB umožňuje mapovat svá data v jiných programovacích jazycích, což uživatelům usnadňuje práci s nimi.

Otázka 4: Co je dokument a kolekce v MongoDB?
Data jsou uložena v MongoDB ve formě dokumentů, poté se tyto dokumenty spojí do kolekce a řada kolekcí se spojí a vytvoří databázi. Abychom tomu porozuměli, uvažujme příklad databáze school_data, databáze school_data obsahuje kolekce, které obsahují data o třídách, a dále tyto dokumenty (data o třídách) obsahují data studentů (data o studentech) ve formě dokumentů.

Otázka 5: Jaké jsou datové typy MongoDB?
Existuje mnoho typů dat, které MongoDB podporuje:

Tětiva Datový typ String ukládá data ve formě abeced/znaků a musí mít 8 bajtů a patřit do UTF-8, například Jone.
Celé číslo Ukládá čísla až do 64 bitů, ale velikost se může lišit v závislosti na serveru, například 1,54.
Boolean To se používá k ukládání booleovských hodnot, které mohou být 0 nebo 1, například John je ve třídě? Jeho odpověď je buď ano, nebo ne.
Dvojnásobek To ukládá plovoucí čísla jako 22.8.
Tlačítka Min/Max Slouží k porovnání minimálních a maximálních hodnot.
Pole To se používá k uložení polí nebo více hodnot v jednom klíči.
Časové razítko Když je jakýkoli dokument upraven, může uchovávat záznamy o změnách.
Objekt Tím se ukládají vložené dokumenty
Nula Ukládá nulové hodnoty.
Symbol Toto je typ řetězce a může ukládat jazyky, které souvisí se symboly
datum V těchto typech dat lze uložit aktuální čas a datum
ID objektu Dokumenty mají jedinečná ID, tato ID lze uložit do tohoto datového typu
Binární data Jsou v něm uložena binární data, známá také jako strojový jazyk.
Kód Pomocí tohoto datového typu se v dokumentech ukládají kódy Javascript
Regulární výraz V tomto datovém typu lze uložit jakýkoli výraz

Otázka 6: Jaké jsou alternativy k MongoDB?
MongoDB je typ NoSQL databáze, pomocí které jsou v BSON dokumentech ukládána velká distribuovaná data. Alternativy MongoDB mohou být Amazon DynamoDB, Microsoft Azure Cosmos DB, Couchbase, PostgreSQL, Redis a Cassandra.

Střední úroveň

Tyto otázky souvisejí spíše s pokročilými pojmy než se základy a při pohovoru se očekává, že na tyto otázky by měl odpovědět průměrný kandidát.

Otázka 7: Jak můžeme porovnat MongoDB a SQL na vysoké úrovni?
SQL databáze jsou relační databáze, které ukládají data dobře strukturovaným a organizovaným způsobem ve formě řádků a sloupců, které tvoří tabulky, na druhé straně databáze MongoDB jsou databáze NoSQL, které ukládají data v dokumentech, tyto dokumenty jsou souhrnně známé jako kolekce a tyto kolekce se spojí a vytvoří databázi.

Otázka 8: Existují v MongoDB nějaké funkce, jako je správa transakcí ACID a zamykání?
Ne, ve výchozím nastavení MongoDB neposkytuje žádnou ACID transakci na více dokumentech, nicméně může poskytnout podporu ACID transakcí na jednom dokumentu.

Otázka 9: Co je indexování v MongoDB?
V MongoDB je index speciální datová struktura, která zabírá některá pole databáze a obsahuje některá data pro vytvoření indexu. Index zlepšuje vyhledávací schopnost databáze, místo prohledávání konkrétní věci z mnoha dokumentů může uživatel přejít přímo na zadaný dokument pomocí indexace.

{
Student_id = 1
Jméno studenta = 'Pavel'
Země = 'Spojené státy'
}

Ve výše uvedeném příkladu je „Student_id =1“ index, takže pokud kdokoli hledá buď podle Student_id nebo 1, otevře se následující dokument.

Otázka 10: Lze v MongoDB vytvořit index na poli pole?

Ano, můžeme vytvořit index na poli pole v MongoDB a indexuje každou hodnotu pole. Ve skutečnosti MongoDB sám vytváří víceklíčový index a nemusíte jej zadávat, pokud je nějaké pole indexu pole.

Otázka 11: Je možné spustit více operací Javascriptu v jedné instanci MongoDB?
Je možné spustit více operací Javascript v jedné instanci mongoda, protože ve verzi 2.4 MongoDB V8 je přidán javascriptový engine.

Otázka 12: Co je žurnálování v MongoDB?
Když je v MongoDB povoleno žurnálování, vytvoří se podadresář Journal v adresáři /data/db , což je ve výchozím nastavení cesta definovaná dbPath. Zatímco žurnálování běží, MongoDB upravuje a ukládá data do paměti a na disk, než se změny dat přenesou na disk. Je to velmi užitečné v případě, že dojde k nějaké chybě, kvůli které nebyly uloženy změny v datech, MongoDB může načíst změny ze souboru Journal a může zajistit trvanlivost souborů.

Expertní úroveň

Tyto otázky souvisejí s pokročilejšími koncepty MongoDB, očekává se, že na tyto otázky by měl odpovědět kandidát s odborností.

Otázka 13: Co je proces shardování MongoDB?
V MongoDB je sharding proces distribuce dat obrovské databáze mezi mnoho serverů MongoDB. Je tedy snadné s daty pracovat a také může reagovat na dotazy vysokou rychlostí. MongoDB podporuje horizontální škálování prostřednictvím shardingu.

MongoDB cluster se skládá ze tří částí, které jsou střepy ; je také známá jako replika a je dostupná na každém serveru, manga ; fungují jako tlumočník mezi serverem a datovým fragmentem a konfigurační servery ; ukládají konfigurační nastavení clusteru a metadata.

Otázka 14: Co je scale-out a jak k němu dochází v MongoDB?
Pokud je na jednom uzlu mnoho dat, více uzlů se přiblíží k načtenému uzlu, aby se jeho zatížení rozložilo. Tento proces sdílení zátěže jednoho uzlu s různými uzly se nazývá škálování a je také známý jako horizontální škálování.

Otázka 15: Jak můžeme získat informace o plánech dotazů pomocí dotazovacího jazyka MongoDB?
The vysvětlit() používá se příkaz a podporuje režimy, kterými jsou „allPlansExecution, executeStats a queryPlanner“. Například:

db . restaurace . vysvětlit ( 'executionStats' ) . nalézt (
{ 'kuchyně' : 1 , 'čtvrť' : 'Brooklyn' }
) ;

Ve výše uvedeném příkladu jsou data restaurace načtena z příkazu explain().

Otázka 16: Vysvětlete MongoDB Agregation Framework.
V MongoDB načítání dat z různých kolekcí a po výpočtu vrací kombinovaný výsledek známý jako agregace. Má tři kroky, nejprve provede vstup a odfiltruje dokumenty, které potřebujeme z dokumentů pomocí $match(), poté provedeme agregaci filtrovaných informací pomocí $group() a nakonec seřadíme naše výsledky pomocí $sort().

Otázka 17: Je možné zamknout více než jednu databázi pomocí operace MongoDB?
Ano, MongoDB může uzamknout více než jednu databázi, k okamžitému uzamčení více databází používáme operaci MongoDB db.copyDatabase() zatímco operace, db.repairDatabase() použít globální zámek na úpravy databáze a také omezit provádění dalších operací, dokud nebude odstraněna.

Otázka 18: Co je GridFS v MongoDB?
Velké soubory, které přesahují 16 MB, jako jsou obrázky, videosoubory a zvukové soubory, jsou spravovány v MongoDB pomocí GridFS a uloženy v částech a kouscích souboru namísto jednoho dokumentu, ve výchozím nastavení MongoDB podporuje pouze dva formáty, které jsou fs. files a fs.chunks pro ukládání částí a metadat souborů.

Otázka 19: Jak můžete popsat fenomén replikace v MongoDB?
Replikace je proces synchronizace dat mezi mnoha servery, zatímco MongoDB kopíruje data a replikuje je na různé servery, takže v případě havárie serveru lze data načíst z jakéhokoli jiného serveru, který zajišťuje bezpečnost dat.

Otázka 20: Co je Mongo Shell?
Mongo shell je platforma JavaScriptu, prostřednictvím které můžeme komunikovat s MongoDB a také provádět úpravy v datech pomocí dotazů. Používá se také pro administrativní účely, jako je údržba instancí databáze. Ve výchozím nastavení je mongo shell součástí instalačního souboru, ale pokud není nainstalován, můžete jej nainstalovat ze serveru MongoDB.

Závěr

MongoDB je oblíbená NoSQL databáze, která slouží ke správě dat ve formě dokumentů a manipulace s ní je velmi snadná, jelikož je bez schématu. Používá jej mnoho známých společností jako Twitter a Facebook. Kvůli jeho popularitě existuje mnoho pracovních příležitostí pro vývojáře, kteří pracují v rozhraní MongoDB. V tomto článku byly sdíleny nejčastější otázky rozhovorů MongoDB s příslušnými odpověďmi.