如果你读过「NebulaGraph 错题解析第一期」,大概知道在错题解析未出来之前,NebulaGraph 专业技能认证 NGCP(全称 NebulaGraph Certified Professional)的通过率仅有 16.7%。但是,经过上一轮 NebulaGraph 认证考试出题人错题解析的努力下,这次 NGCP 的通过率上升 0.1%,现在变成了 16.8%。出题人痛定思痛,决定再开一期错题解析,如果你两期都看了,运气足够好,现在去考 NGCP 闭眼就是 19 分起步了,你导再也不担心你从零考起了。

下面,来看一眼这期错题解析有哪些难题呢?

题 1:「判断题」目前 NebulaGraph Studio、Explorer、Dashboard 社区版、Dashboard 企业版登录时的身份验证是基于 NebulaGraph 本身的身份认证逻辑。

正确答案:错误

解析:

NebulaGraph Studio、Explorer 和 Dashboard 社区版登录时需要输入 NebulaGraph 本身的账密,但是 Dashboard 企业版因为需要管理所有 NebulaGraph 集群,所以有自己的单独一套权限管理系统,登录时可以使用多种账户类型。参考文档:https://docs.nebula-graph.com.cn/3.3.0/nebula-dashboard-ent/5.account-management/

题 2:「单选题」NebulaGraph 的第一个开源版本是

A. v0.1.0

B. v0.0.1

C. v1.0.0

D. v0.0.1

正确答案:A

解析:

2019.5 发布了 v0.1.0 alpha 版本并开源。参考文档:https://docs.nebula-graph.com.cn/3.3.0/20.appendix/history/

题 3:「单选题」下列关于大小写的说法,错误的是

A. 标识符区分大小写

B. 保留关键字不区分大小写

C. 函数不区分大小写

D. 非保留关键字区分大小写

正确答案:D

解析:

标识符会区分大小写,例如 my_space 和 MY_SPACE 是两个不同的图空间。关键字,包括保留关键字和非保留关键字,都是不区分大小写的,例如我们平常写 nGQL 命令 show spaces 或者 SHOW SPACES,都是可以正常执行的。函数也是不区分大小写的,例如count() 和 COUNT()。参考文档:https://docs.nebula-graph.com.cn/3.3.0/3.ngql-guide/1.nGQL-overview/identifier-case-sensitivity/

题 4:「单选题」以下关于 Storage 服务中数据分片说法错误的是

A. NebulaGraph 的分片策略采用动态 Hash 的方式

B. 创建图空间时需指定分片数量,分片数量设置后无法修改

C. 同一个点的所有标签、出边和入边信息都会存储到同一个分片

D. Meta 服务负责存储和管理分片的位置信息

正确答案:A

解析:

NebulaGraph 的分片策略是静态 Hash。创建图空间时需要设置分片和副本数量,然后均衡分配到所有 Storage 节点上以保证数据安全,修改分片数量涉及到数据迁移,因此暂时不支持直接修改分片数量。NebulaGraph 采用切边方式将图切割,例如一个点存储在分片 x 中,kv 中会包含 VID 和 Tag 信息,然后挨着这条 kv,继续按顺序存储它的出边和入边,所以都在同一个分片。也因此,边会重复存储,因为点 a 的出边可能是点 b 的入边。Meta 服务负责存储和管理分片的位置信息,并且保证分片的负载均衡。参考文档:https://docs.nebula-graph.com.cn/3.3.0/1.introduction/3.nebula-graph-architecture/4.storage-service/#_5

题 5:「多选题」下列语句正确的是

A. RETURN timestamp("2021-07-05T06:18:43.984000");

B. MATCH (v:date1) RETURN v.date1.month;

C. WITH date({year: 1984, month: 10, day: 11}) AS x RETURN day + 1;

D. WITH time({hour: 12, minute: 31, second: 14}) AS d RETURN d;

正确答案:BD

解析:

选项 A 错误是因为不支持微秒,可以改成 RETURN timestamp("2021-07-05T06:18:43");RETURN timestamp("2021-07-05T06:18:43.000000");。选项 C 错误是因为语法错误,RETURN 的应该是 x+1,而不是 day+1。参考文档:https://docs.nebula-graph.com.cn/3.3.0/3.ngql-guide/3.data-types/4.date-and-time/#timestamp

题 6:「多选题」以下关于用户角色与权限的说法错误的是

A. 如需创建自定义角色,要同时在配置文件中修改 custom_role 和 role_privilege 参数

B. 一个用户在一个图空间内只能拥有一个角色权限

C. SHOW SPACES 只会返回当前用户有权限的空间

D. 只有 God 角色可以执行 SHOW USERS 和 SHOW SNAPSHOTS 语句

正确答案:A

解析:

NebulaGraph 暂时还不支持创建自定义角色,这两个参数也是完全的欺骗内容。一个用户在一个图空间内只能拥有一个角色权限,可以用 SHOW ROLES IN <space_name>; 查看具体权限。为了数据安全,SHOW SPACES 只会返回当前用户有权限的空间,也就是至少要对图空间有 GUEST 权限,才能看到该图空间。同样也是为了数据安全,只有最高权限的 God 角色账号才能执行 SHOW USERS 查看所有用户,以及 SHOW SNAPSHOTS 查看快照情况。参考文档:https://docs.nebula-graph.com.cn/3.3.0/7.data-security/1.authentication/3.role-list/

题 7:「单选题」以下哪项关于 BR 限制说法错误的是

A. Nebula Graph 版本需要为 v3.3.0

B. Nebula Listener 暂时不支持备份,且全文索引也不支持备份

C. 数据备份过程中,指定图空间中的 DDL、DML、DCL 和 TCL 语句都会阻塞

D. 数据恢复仅支持在相同拓扑的集群上进行

正确答案:C

解析:

数据备份过程中,指定图空间中的 DDL 和 DML 语句将会阻塞,其他语句不会阻塞。另外 D 选项所说的相同拓扑集群,是指集群的 Storage 主机数量及 IP 需一致。参考文档:https://docs.nebula-graph.com.cn/3.3.0/backup-and-restore/nebula-br/1.what-is-br/

题 8:「单选题」以下关于 NebulaGraph Exchange 说法错误的是

A. Writer 会将待导入的数据一次性写入到 NebulaGraph 中

B. Reader 读取不同来源的数据返回 DataFrame

C. Exchange 由 Reader、Processor 和 Writer 三部分组成

D. Processor 遍历 DataFrame 获取对应的值

正确答案:A

解析:

Writer 在遍历指定批处理的行数(batch 参数)后,会将获取的数据一次性写入到 NebulaGraph 中,而不是将待导入的数据一次性写入,那样做数据量太大会导致 OOM。参考文档:https://docs.nebula-graph.com.cn/3.3.0/nebula-exchange/about-exchange/ex-ug-what-is-exchange/

题 9:「单选题」以下关于运行日志错误的是

A. Meta 服务、Graph 服务和 Storage 服务的日志级别可以在各自的配置文件中查看,默认路径为 /usr/local/nebula/etc/

B. 日志详细级别值越大,日志记录越详细

C. 不能在 NebulaGraph 运行过程中删除日志目录,如果删除目录则日志不再打印且影响业务

D. 可以手动修改日志的级别

正确答案:C

解析:

在 NebulaGraph 运行过程中删除运行日志目录,日志不会继续打印,但是不会影响业务。重启服务可以恢复正常。参考文档:https://docs.nebula-graph.com.cn/3.3.0/5.configurations-and-logs/2.log-management/logs/#_2

题 10:「单选题」运行日志文件占用空间过大如何处理?以下选项中最合理的是

A. 运行用于删除日志的 nGQL 命令

B. 使用 crontab 设置定期任务回收日志文件

C. 使用 logrotate 回收日志

D. 肉眼识别删除日志

正确答案:C

解析:

nGQL 命令暂无删除日志的命令,因此 A 选项错误。选项 D 可以直接排除。对于 B 和 C 选项,crontab 虽然可以,但是 logrotate 可以更好地转储压缩日志文件,还可以结合 crontab 做更完善的自动任务,所以综合来看还是 logrotate 更合理。参考文档:https://docs.nebula-graph.com.cn/3.3.0/20.appendix/0.FAQ/#_11

--

谢谢你读完本文 (///▽///)

看完错题解析的小伙伴,可以来 NebulaGraph Academy 考一把 NGCP 或者 NGCI 认证考试哟~点击这里,开启你的鸿图之旅吧:NebulaGraph 认证考试,考试说明:https://discuss.nebula-graph.com.cn/t/topic/8728

图数据库认证考试 NGCP 错题解析 vol.02:这 10 道题竟无一人全部答对的更多相关文章

  1. hibernate错题解析

    01 Hibernate错题分析   解析: 此题目考查的是对Hibernate中交叉连接的理解.HQL支持SQL风格的交叉连接查询,交叉连接适用于两个类之间没有定义任何关联时.在where字句中,通 ...

  2. 图数据库(graph database)资料收集和解析 - daily

    Motivation 图数据库中的高科技和高安全性中引用了一个关于图数据库(graph database)的应用前景的乐观估计: 预计到2017年,图数据库产业在数据库市场的份额将从2个百分点增长到2 ...

  3. OCP 认证考试报名费技巧题库051052053解析合格线

    本人于2017年4月22日通过参加OCP考试,第一次参加,一天之内考了三门,三门一次性通过,052 - 95% ,053 - 86% ,051 - 100% 一.关于考试考试报名费: 052:158$ ...

  4. Java五道输出易错题解析(避免小错误)

    收集了几个易错的或好玩的Java输出题,分享给大家,以后在编程学习中稍微注意下就OK了. 1. 看不见的空格? 下面的输出会正常吗? package basic; public class Integ ...

  5. Java五道输出易错题解析(进来挑战下)

    转自:http://blog.csdn.net/lanxuezaipiao/article/details/41985243 收集了几个易错的或好玩的Java输出题,分享给大家,以后在编程学习中稍微注 ...

  6. UI测试_错题解析

    解析:因为jQuery easyUI是基于jQuery框架在使用之前应该先引入jquery框架否则jQuery easyUI将失效,故D错误 解析:考Link标签和script标签的区别,Link引入 ...

  7. jQuery考试之错题分析

    获取元素范围大小顺序依次为: $(#one).siblings("div")>$("#one~div")>$("#one +div&quo ...

  8. Hibernate第三次测试错题解析

    此题目考查的是Hibernate查询缓存适用的场合,对于经常使用的查询语句, 如果启用了查询缓存,当第一次执行查询语句时,Hibernate会把查询结果存放在第二缓存中. 以后再次执行该查询语句时,只 ...

  9. jsp考试的错题

    (选择一项) A: B: C: D: 正确答案是 A,首先,session的出现确实是为了解决HTTP无法保持客户状态的特点:因此A选项正确:用户信息也是客户状态的一部分,所以由A可以看出B的说法就不 ...

  10. struts2 测试错题解析

    解析:$.parseJSON()方法是将字符串转换成Json类型数据,$.getJSON()方法是获取JSON数据,两者不用联合使用. 解析: A:ActionContext接口没有getReques ...

随机推荐

  1. 记一次JSF异步调用引起的接口可用率降低

    前言 本文记录了由于JSF异步调用超时引起的接口可用率降低问题的排查过程,主要介绍了排查思路和JSF异步调用的流程,希望可以帮助大家了解JSF的异步调用原理以及提供一些问题排查思路.本文分析的JSF源 ...

  2. 【团队效率提升】Python-PyWebIO介绍

    作者:京东零售 关键 Q&A快速了解PyWebIO Q:首先,什么是PyWebIO? A:PyWebIO提供了一系列命令式的交互函数,能够让咱们用只用Python就可以编写 Web 应用, 不 ...

  3. 华为云CCE Turbo:基于eBPF的用户自定义多粒度网络监控能力

    本文分享自华为云社区<华为云CCE Turbo:基于eBPF的用户自定义多粒度网络监控能力>,作者: 云容器大未来. 基于eBPF的容器监控的兴起 容器具有极致弹性.标准运行时.易于部署等 ...

  4. MySQL新增数据,修改数据,删除数据

    连接本地mysql语句 mysql -hlocalhost -uroot -proot DML-介绍 DML英文全称是:用来对数据库中表的数据记录进行 增 删 改 操作. 增加使用 insert 删除 ...

  5. 替换 &开头。;结尾之间的内容。用空格代替他们

    替换 &开头.;结尾之间的内容.用空格代替他们 var regExp = /\&.*?\;/g; var str = '123&asdsa;dqwe'; str = str.r ...

  6. 设计模式学习-使用go实现迭代器模式

    迭代器模式 定义 优点 缺点 适用范围 代码实现 参考 迭代器模式 定义 迭代器模式(Iterator Design Pattern),也叫作游标模式(Cursor Design Pattern). ...

  7. 【四】多智能体强化学习(MARL)近年研究概览 {Learning cooperation(协作学习)、Agents modeling agents(智能体建模)}

    相关文章: [一]最新多智能体强化学习方法[总结] [二]最新多智能体强化学习文章如何查阅{顶会:AAAI. ICML } [三]多智能体强化学习(MARL)近年研究概览 {Analysis of e ...

  8. conda创建虚拟环境后文件夹中只有conda-meta文件夹,无法将环境添加到IDE中

    1.问题描述:anaconda的envs的其中一个环境目录下,没有python.exe文件,只有conda-meta和scripts 平时创建虚拟环境都是: conda create -n test ...

  9. SSM项目创建步骤(随手记)

    一.mybatis项目创建 1:创建maven项目 2:导入pom坐标 3:resources下创建SqlMapConfig.xml配置文件(主配置文件,配置数据库信息,映射配置文件等) 4:创建包及 ...

  10. Swift中常见的String用法,Array高阶使用,Set集合操作

    String字符串常见用法 生成字符串 创建字符串 let greeting = "Hello, world!" let name = String("John" ...