答对这 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
答对这 9 题你就超越了 83.3% 的图数据库 NebulaGraph 用户的更多相关文章
- CTF---安全杂项入门第三题 这是捕获的黑客攻击数据包,Administrator用户的密码在此次攻击中泄露了,你能找到吗?
这是捕获的黑客攻击数据包,Administrator用户的密码在此次攻击中泄露了,你能找到吗?分值:30 来源: 2014sctf 难度:难 参与人数:3918人 Get Flag:384人 答题人数 ...
- LibreOJ #6001. 「网络流 24 题」太空飞行计划 最大权闭合图
#6001. 「网络流 24 题」太空飞行计划 内存限制:256 MiB时间限制:1000 ms标准输入输出 题目类型:传统评测方式:Special Judge 上传者: 匿名 提交提交记录统计讨论测 ...
- POJ 1655 Balancing Act ( 树的重心板子题,链式前向星建图)
题意: 给你一个由n个节点n-1条边构成的一棵树,你需要输出树的重心是那个节点,以及重心删除后得到的最大子树的节点个数size,如果size相同就选取编号最小的 题解: 树的重心定义:找到一个点,其所 ...
- bzoj千题计划113:bzoj1023: [SHOI2008]cactus仙人掌图
http://www.lydsy.com/JudgeOnline/problem.php?id=1023 dp[x] 表示以x为端点的最长链 子节点与x不在同一个环上,那就是两条最长半链长度 子节点与 ...
- bzoj千题计划224:bzoj1023: [SHOI2008]cactus仙人掌图
又写了一遍,发出来做个记录 #include<cstdio> #include<algorithm> #include<iostream> using namesp ...
- 剑指offer刷题(栈、堆、 队列、 图)
Stack & Queue 005-用两个栈实现队列 题目描述 用两个栈实现一个队列.队列的声明如下,请实现它的两个函数 push 和 pop ,分别完成在队列尾部插入整数和在队列头部删除整数 ...
- Android实训案例(九)——答题系统的思绪,自己设计一个题库的体验,一个思路清晰的答题软件制作过程
Android实训案例(九)--答题系统的思绪,自己设计一个题库的体验,一个思路清晰的答题软件制作过程 项目也是偷师的,决心研究一下数据库.所以写的还是很详细的,各位看官,耐着性子看完,实现结果不重要 ...
- 【IT公司笔试面试】75道逻辑推理题及答案
[1]假设有一个池塘,里面有无穷多的水.现有2个空水壶,容积分别为5升和6升.问题是如何只用这2个水壶从池塘里取得3升的水. 由满6向空5倒,剩1升,把这1升倒5里,然后6剩满,倒5里面,由于5里面有 ...
- 悲催的二柱子们做小学二年级四则运算题(Javaweb)
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding= ...
- IT面试最全逻辑题,收藏后成功率提高10%
这是小学二年级的数学题: 猫妈妈钓到一些鱼,平均分给了7只小猫,每只小猫分到的鱼和剩下的鱼刚好一样多.猫妈妈最多钓到了多少条鱼? 这个是出来工作后的现场面试题: [1]假设有一个池塘,里面有无穷多的水 ...
随机推荐
- scss常用语法
在线编译 https://wow.techbrood.com/fiddle/11143 群组选择器的嵌套[编译前] .container { h1, h2, h3 {margin-bottom: .8 ...
- vue如何在render函数中使用判断(2)
h函数的三个参数 第一个参数是必须的. 类型:{String | Object | Function} 一个 HTML 标签名.一个组件.一个异步组件.或一个函数式组件. 是要渲染的html标签. 第 ...
- fasthttp 中如何使用`Transfer-Encoding: chunked` 方式的流式内容输出
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 具体的思路是这样:通过 RequestCtx 的 Conn ...
- 基于.Net Core3.1 MVC + EF Core的项目(一)框架的初步搭建
项目暂时分为六大块,结构如图所示 代码地址是 https://github.com/hudean/VacantCloud- 里面有许多没有完成,不过一些大致的内容都写的差不多了,权限认证依赖注入 ...
- PHP使用cookie做浏览历史记录
/** * @param $article文章详情 * @param int $count记录数 * tp须引入cookie类 */ function addHistory($article,$cou ...
- C语言中如何使两个整型变量计算出浮点型结果
遭遇的问题 在学习时有一个课后题要求计算两个变量的加减乘除以及取余,想到除法可能会计算出小数,就用浮点型接收除法的结果 int a,b: double div; div = a / b; 但是算出来的 ...
- Java并发(十)----线程之守护线程
默认情况下,Java 进程需要等待所有线程都运行结束,才会结束.有一种特殊的线程叫做守护线程,只要其它非守护线程运行结束了,即使守护线程的代码没有执行完,也会强制结束. 例: log.debug(&q ...
- 内存泄漏定位工具之 mtrace(二)
1 前言 mtrace(memory trace),是 GNU Glibc 自带的内存问题检测工具,它可以用来协助定位内存泄露问题.它的实现源码在glibc源码的malloc目录下,其基本设计原理为设 ...
- .NET Core开发实战(第34课:MediatR:轻松实现命令查询职责分离模式(CQRS))--学习笔记(下)
34 | MediatR:轻松实现命令查询职责分离模式(CQRS) 实际上我们在定义我的查询的时候,也可以这样定义,例如我们定义一个 MyOrderQuery,把订单的所有名称都输出出去 namesp ...
- 如何在.NET Core中为gRPC服务设计消息
如何在.NET Core中为gRPC服务设计消息 使用协议缓冲区规范定义gRPC服务非常容易,但从需求转换为.NET Core,然后管理服务的演变时,需要注意几件事. 创建gRPC服务的核心是.pro ...