答對這 9 題你就超越了 83.3% 的圖數據庫 NebulaGraph 用戶

熟悉 NebulaGraph 社區的小夥伴可能都知道一個技能認證叫做:NGCP,全稱 NebulaGraph Certified Professional。用戶在考試認證期間在 1 個小時內回答 100 道題目,並獲得 60+ 分,便是 NebulaGraph 認證過的 NGCP 用戶。NGCP 用戶除了會有實體證書之外,擁有與企業認證用戶相同的技術支持服務。

看樣子,只要回答 100 道問題,NGCP 證書、認證獎勵就到手!但,你知道 NGCP 通過率是多少嗎

答案是:16.7%

在 NebulaGraph 認證考試出題人查看 NGCP 考試成績時,發現有部分試題的正確率特別低,針對這些難題這次我們來一把解析,給考過沒考過的小夥伴遞個“小紙條”。

下面,請聽題:

題 1. 要查看 TAG player 上的 TTL 選項值,錯誤的命令有

A. SHOW TAGS

B. DESCRIBE TAG player

C. SHOW CREATE TAG player

D. SHOW TTL ON player

解析:

SHOW TAGS 顯示當前圖空間內的 Tag 名稱;DESCRIBE TAG 顯示 Tag 的字段名稱、數據類型、是否支持爲 NULL、默認值和描述;SHOW TTL ON player 是錯誤命令。只有 SHOW CREATE TAG player 命令能看到完整的 Tag 創建語句,包含 TTL 選項值。所以,正確答案爲 ABD

題 2. ACID 意義上,在不同的客戶端進程看來,NebulaGraph 的隔離性是

A. 序列化讀

B. 可重複讀

C. 提交讀

D. 未提交讀

解析:

因爲當前沒有隔離性,所以是未提交讀。例如,前一個子句完成而後一個子句沒有完成,此時併發地另一個會話執行查詢,可能會查詢到不完整的數據。所以,正確答案爲 D

題 3. 在創建全文索引時,索引名稱可以爲下面哪些

A. nebula-index

B. index_1

C. nebula_index

D. _index_1

解析:

NebulaGraph 的全文索引名稱必須以 nebula 開頭。所以,正確答案爲 AC

題 4. 設置 timezone_name 修改時區後,返回結果爲所設置時區的是

A. TIMESTAMP 類型數據

B. DATETIME 類型數據

C. TIME 類型數據

D. 查詢執行時間

解析:

TIMESTAMP 類型數據與時區無關;DATETIME 和 TIME 類型數據的時區由配置文件的 timezone_name 決定;查詢執行時間的時區由服務所在機器的系統時區決定。所以,正確答案爲 BC

題 5. NebulaGraph 內核部分默認使用的端口有

A. 9559

B. 19669

C. 9780

D. 19560

解析:

9559 爲 Meta 服務的對外端口;19669 爲 Graph 服務的 HTTP 端口,可以用來查詢 Graph 服務的監控指標;9780 爲 Storage 服務的對內端口之一,還有 9777 和 9778;19560 是已經棄用的 HTTPS 端口。所以,正確答案爲 ABC

題 6. 以下返回不爲 NULL 的有

A. hash( NULL )

B. 2 >= "2"

C. NULL == null

D. null IS NULL

解析:

對 NULL 進行哈希操作,結果不爲 NULL;數字 2 和字符串 2 無法對比,所以結果爲 NULL;NULL 表示沒有值,進行對比沒有意義,結果爲 NULL;null IS NULL 爲正常的判斷語句,結果不爲 NULL。所以,正確答案爲 AD

題 7. 關於 NebulaGraph 執行計劃的說法中,錯誤的有

A. 實現了基於代價的優化

B. 實現了基於規則的優化

C. 可以通過創建索引來加速查詢

D. 可以進行計劃緩存

解析:

NebulaGraph 只支持基於規則的優化;NebulaGraph 中的索引沒有加速查詢的功能,只是用於定位到數據的必要前置條件;NebulaGraph 無法進行查詢的預編譯(包括相應的計劃緩存)。所以,正確答案爲 B

題 8. 已知 Tag player 有屬性 name 和 age,Tag player 本身和屬性 name 上有索引,在執行 LOOKUP ON player WHERE player.age == 36 YIELD player.name 時,Nebula Graph 會優先查找 age 屬性上的索引,當發現 age 屬性沒有索引,NebulaGraph 可能會

A. 使用 name 屬性的索引繼續查詢

B. 使用 Tag player 本身的索引繼續查詢

C. 使用 VID 繼續查詢

D. 報錯,提示找不到索引

解析:

索引之間有可替代關係。在 LOOKUP 語句中 player 本身的索引和 name 屬性的索引可能替代 age 屬性索引用於屬性查找。所以,正確答案爲 AB

題 9. 以下 nGQL 語句錯誤的是

A. $var = GO FROM "player100" OVER follow YIELD dst(edge) AS id GO FROM $var.id OVER serve YIELD properties($$).name AS Team, properties($^).name AS Player;

B. $var = GO FROM "player100" OVER follow YIELD dst(edge) AS id | GO FROM $var.id OVER serve YIELD properties($$).name AS Team, properties($^).name AS Player;

C. $var = GO FROM "player100" OVER follow YIELD dst(edge) AS id; GO FROM $var.id OVER serve YIELD properties($$).name AS Team, properties($^).name AS Player;

D. $var = GO FROM "player100" OVER follow YIELD dst(edge) AS id;| GO FROM $var.id OVER serve YIELD properties($$).name AS Team, properties($^).name AS Player;

解析:

只有選項 C 的語句是正確的。選項 A 的 2 個語句沒有分隔;選項 B 使用管道符時,後一個語句中的 $var.id 需要改成引用符 $-.id;選項 D 同時使用了分號和管道符。所以,正確答案爲 ABD

不知道看完本文的是,在解析問題之前答對多少道呢?來挑戰下 NGCP 題庫,拿個認證考試證書吧!掃描下方二維碼即可開啓 NGCP 認證之旅,點擊鏈接是一樣效果喲 https://academic.nebula-graph.io/?lang=ZH_CN

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章