Najlepšie otázky v rozhovore MongoDB

Najlepsie Otazky V Rozhovore Mongodb



MongoDB je open-source systém správy databáz NoSQL; poskytuje nielen jednoduché ukladanie neštruktúrovaných údajov, ale aj ich správu. Vždy, keď vyvstane otázka, ako spravovať milióny riadkov neštruktúrovaných údajov, odporúča sa MongoDB.

Prvá verzia MongoDB bola vydaná vo februári 2007 10 gen Softvérová spoločnosť, neskôr v roku 2013, 10gen zmenil názov spoločnosti na MongoDB Inc.

MongoDB je databáza NoSQL, ktorá sa používa na ukladanie údajov vo forme dokumentov JSON, pretože vďaka tejto funkcii možno v MongoDB ľahko uložiť a spravovať obrovské množstvo neštruktúrovaných údajov. Súbor týchto dokumentov obsahujúcich údaje sa nazýva zbierky. A tieto kolekcie sú podobné tabuľkám, ktoré sa používajú v relačných databázach na ukladanie údajov.







Existuje mnoho dôvodov, prečo je MongoDB taký populárny v porovnaní s inými relačnými a NoSQL databázami, niektoré z nich sú:



  • Vývojári môžu definovať štruktúru podľa párov kľúč – hodnota
  • Rovnako ako relačné databázy, riadky a stĺpce nie sú potrebné pre údaje
  • Hierarchická štruktúra MongoDB umožňuje ukladať údaje vo forme polí a tiež môže ukladať komplexné údaje
  • Umožňuje vývojárom jednoducho spravovať databázy, pretože podporuje viacero programovacích jazykov
  • Podporuje tiež funkcie gridFS a replikácie

Vďaka svojej popularite existuje veľa pracovných príležitostí pre vývojárov, ktorí pracujú s MongoDB. Tento článok súvisí s otázkami, ktoré sú najdôležitejšie a najčastejšie kladené mnohými najlepšie hodnotenými organizáciami.



Otázky na rozhovor MongoDB

Najčastejšie otázky sú rozdelené do troch úrovní: Základná úroveň, Stredne pokročilá úroveň a Úroveň Expert.





Základná úroveň

Tieto otázky súvisia so základnými pojmami a terminológiou MongoDB a pri pohovore sa očakáva, že na tieto otázky by mal odpovedať každý kandidát.

Otázka 1: Čo viete o NoSQL databázach a ich typoch?
Databázy NoSQL sú tie databázy, ktoré neukladajú údaje do tabuliek ako databázy SQL, namiesto toho, aby ukladali údaje v iných formách, ako sú dokumenty a formuláre kľúč-hodnota.



Existujú štyri dôležité typy databáz NoSQL:

  • Databázy dokumentov: Tieto databázy uchovávajú údaje vo forme dokumentov JSON, tieto dokumenty sa spájajú do kolekcií a tieto kolekcie sa kombinujú a vytvárajú databázu.
  • Databázy kľúč – hodnota: Tieto databázy uchovávajú údaje vo forme párov kľúč – hodnota, napríklad „Meno = Ján“, v tomto príklade „Meno“ je kľúč a „Ján“ je hodnota.
  • Obchod so širokým stĺpcom: Tieto databázy uchovávajú údaje vo forme dynamických tabuliek, na rozdiel od relačných databáz nie sú tieto tabuľky štruktúrované.
  • Databázy grafov: Tieto databázy obsahujú hrany a uzly; uzly sa používajú na ukladanie informácií, zatiaľ čo hrany sa používajú na zobrazenie vzťahov medzi uzlami.

Otázka 2: Aký typ NoSQL databázy MongoDB je?
Databáza MongoDB patrí medzi databázy dokumentov, čo znamená, že ukladá dáta podľa dokumentov JSON. Neriadi sa žiadnou schémou a umožňuje do nej vkladať akýkoľvek typ údajov.

Otázka 3: Ktorá z nich je lepšia medzi databázami MongoDB a SQL?
MongoDB je lepšia ako databázy SQL takým spôsobom, že dokáže spracovať neštruktúrované údaje, zatiaľ čo databázy SQL spracúvajú iba štruktúrované údaje a ukladajú ich bez akýchkoľvek obmedzení na rozdiel od relačných databáz. Vďaka svojej vlastnosti bez schémy sú dotazy v MongoDB spracovávané rýchlo v porovnaní s databázami SQL, pretože údaje nie sú umiestnené vo forme tabuliek a namiesto toho sú v niekoľkých tabuľkách umiestnené na rovnakom mieste, takže sú Pre dotaz je jednoduchý prístup k údajom a MongoDB umožňuje mapovanie údajov v iných programovacích jazykoch, čo používateľom uľahčuje prácu s nimi.

Otázka 4: Čo je dokument a zbierka v MongoDB?
Dáta sú uložené v MongoDB vo forme dokumentov, potom sa tieto dokumenty spoja do kolekcie a množstvo kolekcií sa spojí do databázy. Aby sme to pochopili, zoberme si príklad databázy školských_údajov, databáza školských_údajov obsahuje kolekcie, ktoré obsahujú dáta o triedach a ďalej tieto dokumenty (údaje o triedach) obsahujú dáta študentov (údaje o_študentoch) vo forme dokumentov.

Otázka 5: Aké sú typy údajov MongoDB?
Existuje mnoho typov údajov, ktoré MongoDB podporuje:

Reťazec Dátový typ String ukladá údaje vo forme abecedy/znakov a musí mať 8 bajtov a patriť do UTF-8, napríklad Jone.
Celé číslo Ukladá čísla až do 64 bitov, ale veľkosť sa môže líšiť v závislosti od servera, napríklad 1,54.
Boolean Používa sa na ukladanie boolovských hodnôt, ktoré môžu byť 0 alebo 1, napríklad John je v triede? Jeho odpoveď je buď áno alebo nie.
Dvojité Toto ukladá pohyblivé čísla ako 22.8.
Tlačidlá Min/Max Používa sa na porovnanie minimálnych a maximálnych hodnôt.
Polia Používa sa na ukladanie polí alebo viacerých hodnôt do jedného kľúča.
Časová značka Keď je akýkoľvek dokument upravený, môže viesť záznamy o zmenách.
Objekt Toto ukladá vložené dokumenty
Nulový Ukladá nulové hodnoty.
Symbol Toto je typ reťazca a môže ukladať jazyky, ktoré súvisia so symbolmi
Dátum V týchto typoch údajov je možné uložiť aktuálny čas a dátum
ID objektu Dokumenty majú jedinečné ID, tieto ID môžu byť uložené v tomto type údajov
Binárne dáta V ňom sú uložené binárne dáta, ktoré sú známe aj ako strojový jazyk.
kód Pomocou tohto dátového typu sa v dokumentoch ukladajú kódy JavaScript
Regulárny výraz V tomto dátovom type môže byť uložený akýkoľvek výraz

Otázka 6: Aké sú alternatívy k MongoDB?
MongoDB je typ databázy NoSQL, pomocou ktorej sa v dokumentoch BSON ukladajú veľké distribuované dáta. Alternatívami MongoDB môžu byť Amazon DynamoDB, Microsoft Azure Cosmos DB, Couchbase, PostgreSQL, Redis a Cassandra.

Stredná úroveň

Tieto otázky sa viac týkajú pokročilých pojmov ako základov a na pohovore sa očakáva, že na tieto otázky by mal odpovedať priemerný kandidát.

Otázka 7: Ako môžeme porovnávať MongoDB a SQL na vysokej úrovni?
SQL databázy sú relačné databázy, ktoré uchovávajú údaje dobre štruktúrovaným a organizovaným spôsobom vo forme riadkov a stĺpcov, ktoré tvoria tabuľky, na druhej strane databázy MongoDB sú databázy NoSQL, ktoré ukladajú údaje v dokumentoch, tieto dokumenty sú kolektívne známe ako kolekcie a tieto kolekcie sa spájajú do databázy.

Otázka 8: Existujú v MongoDB nejaké funkcie ako riadenie transakcií ACID a zamykanie?
Nie, MongoDB štandardne neposkytuje žiadnu ACID transakciu na viacerých dokumentoch, môže však poskytnúť podporu ACID transakcií na jednom dokumente.

Otázka 9: Čo je indexovanie v MongoDB?
V MongoDB je index špeciálna dátová štruktúra, ktorá zaberá niektoré polia databázy a obsahuje niektoré údaje na vytvorenie indexu. Index zlepšuje vyhľadávaciu schopnosť databázy, namiesto hľadania konkrétnej veci z množstva dokumentov môže používateľ prejsť priamo na zadaný dokument pomocou indexovania.

{
Študentská karta = 1
Meno študenta = 'Paul'
Krajina = 'Spojené štáty'
}

Vo vyššie uvedenom príklade je „Student_id =1“ index, takže ak niekto hľadá buď podľa Student_id alebo 1, otvorí sa nasledujúci dokument.

Otázka 10: Je možné v MongoDB vytvoriť index v poli poľa?

Áno, môžeme vytvoriť index na poli poľa v MongoDB a indexuje každú hodnotu poľa. V skutočnosti MongoDB sám vytvára viackľúčový index a nemusíte ho špecifikovať, ak je nejaké pole indexu pole.

Otázka 11: Je možné spustiť viacero operácií Javascript v jednej inštancii MongoDB?
Je možné spustiť viacero operácií Javascript v jednej inštancii mongodu, pretože vo verzii 2.4 MongoDB V8 je pridaný javascriptový engine.

Otázka 12: Čo je žurnálovanie v MongoDB?
Keď je žurnálovanie povolené v MongoDB, vytvorí sa podadresár Journal v adresári /data/db , čo je predvolene definovaná cesta dbPath. Kým je spustené žurnálovanie, MongoDB upravuje a ukladá údaje do pamäte a na disk predtým, ako sa zmeny údajov prenesú na disk. Je to veľmi užitočné v prípade, že sa vyskytla chyba, kvôli ktorej sa neuložili zmeny v údajoch, MongoDB dokáže načítať zmeny zo súboru Journal a môže zabezpečiť trvanlivosť súborov.

Expertná úroveň

Tieto otázky súvisia s pokročilejšími konceptmi MongoDB, očakáva sa, že na tieto otázky by mal odpovedať kandidát na odbornosť.

Otázka 13: Čo je to proces shardovania MongoDB?
V MongoDB je sharding proces distribúcie údajov obrovskej databázy medzi mnohými servermi MongoDB. Je teda ľahké s dátami manipulovať a tiež dokáže reagovať na otázky vysokou rýchlosťou. MongoDB podporuje horizontálne škálovanie prostredníctvom shardingu.

MongoDB klaster pozostáva z troch častí, ktoré sú črepy ; je tiež známa ako replika a je dostupná na každom serveri, mango ; fungujú ako tlmočník medzi serverom a fragmentom a konfiguračné servery ; ukladajú konfiguračné nastavenia klastra a metaúdaje.

Otázka 14: Čo je škálovanie a ako k nemu dochádza v MongoDB?
Keď je na jednom uzle veľa údajov, viaceré uzly sa priblížia k načítanému uzlu, aby sa jeho zaťaženie rozložilo. Tento proces zdieľania zaťaženia jedného uzla s rôznymi uzlami sa nazýva škálovanie a je tiež známy ako horizontálne škálovanie.

Otázka 15: Ako môžeme získať informácie o plánoch dotazov pomocou dotazovacieho jazyka MongoDB?
The vysvetliť () používa sa príkaz a podporuje režimy, ktorými sú „allPlansExecution, executeStats a queryPlanner“. Napríklad:

db . reštaurácie . vysvetliť ( 'executionStats' ) . Nájsť (
{ 'kuchyna' : 1 , 'mestská časť' : 'Brooklyn' }
) ;

Vo vyššie uvedenom príklade sa údaje reštaurácie získavajú z príkazu vysvetli().

Otázka 16: Vysvetlite agregačný rámec MongoDB.
V MongoDB sa získavajú údaje z rôznych kolekcií a po výpočte sa vracia kombinovaný výsledok známy ako agregácia. Má tri kroky, najprv vykoná vstup a odfiltruje dokumenty, ktoré potrebujeme z dokumentov pomocou $match(), potom vykonáme agregáciu filtrovaných informácií pomocou $group() a nakoniec triedime naše výsledky pomocou $sort().

Otázka 17: Je možné uzamknúť viac ako jednu databázu pomocou operácie MongoDB?
Áno, MongoDB môže uzamknúť viac ako jednu databázu, na okamžité uzamknutie viacerých databáz používame operáciu MongoDB db.copyDatabase() keďže operácia, db.repairDatabase() použiť globálny zámok na úpravu databázy a tiež obmedziť iné operácie, ktoré sa majú implementovať, kým nebude odstránená.

Otázka 18: Čo je GridFS v MongoDB?
Veľké súbory, ktoré presahujú 16 MB, ako sú obrázky, video súbory a zvukové súbory, sa spravujú v MongoDB pomocou GridFS a ukladajú sa do častí a častí súboru namiesto jedného dokumentu, predvolene MongoDB podporuje iba dva formáty, ktoré sú fs. súbory a fs.chunks na ukladanie častí a metadát súborov.

Otázka 19: Ako môžete opísať javy replikácie v MongoDB?
Replikácia je proces synchronizácie údajov medzi mnohými servermi, zatiaľ čo MongoDB kopíruje údaje a replikuje ich na rôzne servery, takže v prípade zlyhania servera je možné údaje získať z akéhokoľvek iného servera, ktorý zaisťuje bezpečnosť údajov.

Otázka 20: Čo je to Mongo Shell?
Mongo shell je platforma JavaScript, prostredníctvom ktorej môžeme interagovať s MongoDB a môžeme tiež vykonávať úpravy v údajoch pomocou dopytov. Používa sa aj na administratívne účely, ako je údržba inštancií databázy. V predvolenom nastavení je mongo shell súčasťou inštalačného súboru, ale ak nie je nainštalovaný, môžete ho nainštalovať zo servera MongoDB.

Záver

MongoDB je populárna NoSQL databáza, ktorá slúži na správu dát vo forme dokumentov a manipulácia s ňou je veľmi jednoduchá, keďže je bez schém. Používa ho mnoho známych spoločností ako Twitter a Facebook. Vďaka svojej popularite existuje množstvo pracovných príležitostí pre vývojárov, ktorí pracujú v rozhraní MongoDB. V tomto článku sú najčastejšie kladené otázky v rozhovoroch s MongoDB s príslušnými odpoveďami.