20 nejlepších otázek a odpovědí v rozhovoru pro Neo4j (2025)
Zde jsou otázky a odpovědi na pohovor Neo4j pro nováčky i zkušené kandidáty, aby získali svou vysněnou práci.
1) Vysvětlete, co je Neo4j?
Neo4j je open source grafová databáze NOSQL implementovaná v Javě. Ukládá data strukturovaná spíše do grafů než do tabulek.
2) K čemu se Neo4j široce používá?
Neo4j je široce používán pro
- Vysoce propojená data – sociální síť
- Doporučení- (e-shop)
- Hledání cesty
- Data First Schema (zdola nahoru)
- Evoluce schématu
- A* (cesta s nejnižšími náklady)
Zdarma ke stažení PDF: Otázky a odpovědi k rozhovoru Neo4j
3) Uveďte, jaký je rozdíl mezi Neo4j grafovou databází a MySQL?
neo4j | MySQL |
---|---|
Skládá se z vrcholů a hran. Každý vrchol nebo uzel představuje klíčovou hodnotu nebo atribut | V relačních databázích jsou atributy připojeny ve formátu obyčejné tabulky |
Je možné ukládat dynamický obsah, jako jsou obrázky, videa, zvuk, | V relačních databázích, jako je MySQL, je obtížné ukládat videa, audio, obrázky, |
Má schopnost hlubokého vyhledávání v databázi bez ovlivnění výkonu spolu s efektivním načasováním | Prohledávání databáze trvá déle a také nepohodlné ve srovnání s neo4j |
Můžeme spojit libovolné dva objekty v neo4j pomocí vytvoření vztahu mezi libovolnými dvěma uzly | Chybí vztah a je obtížné je použít pro spojené grafy a data |
4) Uveďte některé důležité vlastnosti neo4j?
Některé důležité vlastnosti neo4j zahrnuje
- Zhmotnění vztahu v době vytvoření, což má za následek žádné penalizace za běhové dotazy
- Průběžné časové přechody pro vztah v grafu do šířky i hloubky díky dvojitému propojení na úrovni úložiště mezi uzly a vztahy
- Vztah v Neo4j je rychlý a umožňuje zhmotnit a později využít nové vztahy ke „zkratování“ a zrychlení doménových dat, když se objeví nový požadavek
- Dokáže ukládat grafy do mezipaměti a poskytuje kompaktní úložiště, což má za následek efektivní škálování
- Je napsáno na horní straně JVM
5) Vysvětlete roli stavebních bloků, jako jsou uzly, vztahy, vlastnosti a štítky v Neo4j?
Role stavebních bloků
- Uzly: Jsou to entity
- Vztah: Spojuje entity a strukturní doménu
- Vlastnosti: Skládá se z metadat a atributů
- Štítky: Seskupuje uzly podle role
6) Vysvětlete, jak můžete spouštět příkazy CQL v Neo4j?
Ke spuštění všech příkazů CQL v Neo4j se používá výzva „$“.
7) Uveďte, jaké jsou různé typy mezipaměti objektů v Neo4j?
V Neo4j jsou dva různé typy objektových mezipamětí
- Referenční mezipaměti: S touto mezipamětí bude Neo4j využívat tolik, kolik alokované JVM paměti haldy může obsahovat uzly a vztahy
- Vysoce výkonné mezipaměti: Je mu přiděleno určité maximální množství místa na haldě JVM a bude mazat objekty, kdykoli se zvětší.
Vztah a uzly jsou přidány do mezipaměti objektů, jakmile k nim přistoupíte
8) Uveďte, který dotazovací jazyk Neo4j používá a z čeho se skládá?
Neo4j používá dotazovací jazyk Cypher, který je jedinečný pro Neo4j. Procházení grafu vyžaduje vědět, kde chcete začít (Start), pravidla, která umožňují procházení (Match) a jaká data očekáváte zpět (Return). Základní dotaz se skládá z
- START n
- MATCH n-[r]- m
- NÁVRAT r;
9) Je možné, že se s Neo4j můžete dotazovat přes internet?
Neo4j jako takový dostal RESTful API, můžete se dotazovat přes web nebo jej můžete spustit lokálně. Běží v Heroku nebo cloudu.
10) Vysvětlete, jak můžete vytvářet/mazat databáze v Neo4j?
Pro smazání/odstranění celého adresáře grafů můžete použít příkaz rm –RF data/* jako takový Neo4j neukládá nic mimo to.
11) Vysvětlete, jak může Neo4j pomoci při odhalování útoku hrubou silou?
Neo4J umožňuje ukládat a načítat více komplexních relací. Schopnost Neo4j provádět komplexní dotazy v reálném čase je opravdu užitečná pro rychlejší identifikaci útoku hrubou silou. Nejdůležitější věcí při detekci takových útoků je zachytit dostatek informací o každém požadavku, jako například
- Skutečná IP adresa klienta a ne proxy
- Informace o neúspěšném přihlášení nebo úspěšném pokusu
- Timestamp
12) Uveďte, jak probíhá indexace v Neo4j?
V dřívějších dobách pro Neo4j neexistovalo žádné indexování, ale později byl představen s novou funkcí Automatické indexování pomocí příkazu
START n=node:node_auto_index(name='abc') RETURN n
13) Uveďte, jak se soubory ukládají v Neo4j?
Neo4j ukládá data grafu do řady různých souborů úložiště a každý soubor úložiště se skládá z dat pro určitou část grafu, například vztahy, uzly, vlastnosti atd., například Neostore.nodestore.db, neostore.propertystore.db a již brzy.
14) Uveďte, k čemu slouží příkaz Neo4j CQL?
Lze použít příkaz Neo4j CQL
- Chcete-li vytvořit uzly s vlastnostmi a bez nich
- Chcete-li vytvořit vztah mezi uzly s vlastnostmi
- Chcete-li vytvořit vztah mezi uzly bez vlastností
- Chcete-li vytvořit více nebo jeden štítek pro uzel nebo vztah
15) Vysvětlete, k čemu slouží příkaz Neo4j CQL MATCH?
K tomu se používá příkaz CQL MATCH v NEO4j
- Získání dat o vlastnostech a uzlech z databáze
- Získání dat o vztahu, uzlech a vlastnostech z databáze
16) Vysvětlete, co je syntaxe příkazu MATCH a jaké je pravidlo pro jeho použití?
Syntaxe příkazu MATCH je
MATCH ( <node-name>:<label-name> )
Pravidlo pro použití příkazu MATCH je, že tento příkaz nemůžete použít samostatně k načtení dat z databáze, jinak se zobrazí neplatná syntaktická chyba.
17) Vysvětlete, k čemu se v Neo4j používá klauzule SET?
Neo4j CQL používá klauzuli SET pro následující účel
- Aktualizovat nebo přidat hodnoty vlastností
- Přidejte nové vlastnosti do existujícího vztahu nebo uzlu
18) Vysvětlete, k čemu se používá klauzule Neo4j CQL LIMIT?
Klauzule Neo4j CQL LIMIT se používá pro omezení nebo filtrování počtu řádků vrácených dotazem.
19) Uveďte syntaxi operátora IN v Neo4i?
Syntaxe operátora IN v NEO4j by byla něco takového
IN[ <Collection-of-values>]
20) Vysvětlete, jak Neo4j ukládá primitivní řada?
Neo4j ukládá primitivní pole komprimovaným způsobem, aby ušetřilo místo na disku, k tomu používá algoritmus „bit save“.
Tyto otázky na pohovoru také pomohou ve vašem životě (ústních)