如果你读过「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. Lectures

    Copy and Paste 3(P9523) Problem Solution 转移方程中的"父问题枚举子问题寻找转移"可以转成"子问题寻找父问题主动转移"处 ...

  2. 【JS 逆向百例】百度翻译接口参数逆向

    逆向目标 目标:百度翻译接口参数 主页:https://fanyi.youdao.com/ 接口:https://fanyi.baidu.com/v2transapi 逆向参数: Form Data: ...

  3. 大规模语言LLaVA:多模态GPT-4智能助手,融合语言与视觉,满足用户复杂需求

    大规模语言LLaVA:多模态GPT-4智能助手,融合语言与视觉,满足用户复杂需求 一个面向多模式GPT-4级别能力构建的助手.它结合了自然语言处理和计算机视觉,为用户提供了强大的多模式交互和理解.LL ...

  4. C/C++ Qt QThread 线程组件应用

    QThread库是QT中提供的跨平台多线程实现方案,使用时需要继承QThread这个基类,并重写实现内部的Run方法,由于该库是基本库,默认依赖于QtCore.dll这个基础模块,在使用时无需引入其他 ...

  5. Docker从认识到实践再到底层原理(二-3)|LXC容器

    前言 那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助. 高质量博客汇总 然后就是博主最近最花时间的一 ...

  6. Typora Mac中文破解版获取

    作为程序员,markdown是非常好用的文本编辑语言,而Typora是非常好用的一款markdown编辑工具.Typora提供读者和作家的无缝体验.它删除了预览窗口,模式切换器,降低源代码的语法符号以 ...

  7. navicat破解(15以前的版本)

    navicat破解各种不成功,很耽误事.所以,再次整理一个相对省事有效的办法.内容如下: 一:下载此激活工具 二:按下图生成激活码 1. 2. 点击手动激活 3. 将请求码按图粘贴,按图点击操作便可激 ...

  8. WebAssembly核心编程[4]: Memory

    由于Memory存储的是单纯的二进制字节,所以原则上我们可以用来它作为媒介,在wasm模块和数组程序之间传递任何类型的数据.在JavaScript API中,Memory通过WebAssembly.M ...

  9. Shell中调用可执行文件,手动执行可以执行,crontab执行就报错:exec: java: not found

    今天发现一个很奇怪的问题,就是我编写的shell脚本, 手动执行可以正常执行,但是放到crontab中就报错.line 60: exec: java: not  found 百度搜索发现原来是java ...

  10. 从零开始的 dbt 入门教程 (dbt core 开发进阶篇)

    引 在上一篇文章中,我们花了专门的篇幅介绍了 dbt 更多实用的命令,那么我们继续按照之前的约定来聊 dbt 中你可能会遇到的疑惑以及有用的概念,如果你是 dbt 初学者,我相信如下知识点一定会对你有 ...