Neo4j/Cypher 与 NebulaGraph

共 31 题
#

1. Neo4j 的图模型(Node/Relationship/Property)与索引

A 图数据库把关系作为一等公民存储为物理指针,多跳查询无需 JOIN ✓ 正确答案
B Neo4j 只有索引没有图模型
C 关系型数据库天然适合多跳关联查询
D 图索引与关系型索引完全相同
#

2. 图数据库与关系型在关联查询上的性能差异

A 两者多跳查询性能无差异
B 图数据库在所有查询上都优于关系型
C 关系型通过索引无关邻接遍历,多跳查询更快
D 图数据库用指针跳转实现多跳遍历,成本与跳数线性相关;关系型多跳依赖多次 JOIN 成本更高 ✓ 正确答案
#

3. JanusGraph 的存储后端(Cassandra/HBase)适配

A JanusGraph 只能使用一种存储后端
B JanusGraph 通过存储后端抽象层把图数据持久化到 Cassandra/HBase 等底层存储,图逻辑与存储解耦 ✓ 正确答案
C JanusGraph 自己存储数据,不依赖外部存储
D 存储后端与图引擎完全耦合
#

4. Neo4j 的 ACID 事务与隔离级别

A Neo4j 不支持事务
B Neo4j 隔离级别是无限制的
C Neo4j 遵循 ACID,默认隔离级别近 READ COMMITTED,通过锁与 MVCC 保证并发,适合强一致图业务 ✓ 正确答案
D Neo4j 事务只能用于读操作
#

5. 图数据库集群扩缩容的数据再平衡

A 图数据无法分区
B 图数据库扩缩容无需再平衡
C 图数据再平衡与普通键值数据一样简单
D 图按顶点/边分区分布,扩缩容需迁移分区并重建邻接关系,迁移成本高于普通数据,需在低峰进行 ✓ 正确答案
#

6. 图索引(原生索引/全文索引)的选择

A 全文索引用于精确匹配
B 原生索引用于文本模糊搜索
C 原生索引用于精确属性匹配,全文索引用于文本检索,按查询类型选择 ✓ 正确答案
D 图查询无需索引
#

7. NebulaGraph Java Client 的图遍历与索引

A Java Client 只能执行单跳查询
B NebulaGraph 不支持索引
C Java Client 通过执行 nGQL 查询,用 GO/MATCH 做遍历、LOOKUP 依赖索引定位节点 ✓ 正确答案
D 图遍历只需一次查询无需遍历
#

8. NebulaGraph 的分布式架构(Meta/Storage/Graph)

A Meta 管元数据与分片信息,Storage 存数据并分片+副本,Graph 无状态解析查询并调度 Storage ✓ 正确答案
B Storage 服务负责解析 nGQL
C Graph 服务负责存储数据
D Meta 服务无任何作用
#

9. Neo4j Java Driver 的会话(Session)与事务

A Session 是执行 Cypher 的工作单元,支持自动/显式/幂等事务,用完需关闭归还连接 ✓ 正确答案
B 所有事务都必须手动提交
C Session 与连接池无关
D 显式事务无法回滚
#

10. PageRank、社区发现(Louvain)的图算法原理

A PageRank 用于社区发现
B Louvain 用于衡量节点重要性
C PageRank 通过迭代传播衡量节点重要性,Louvain 通过模块度最大化发现社区 ✓ 正确答案
D 两者都是确定性单次计算,无需迭代
#

11. 图分区(切分)策略,按点切分 vs 按边切分

A edge-cut 顶点有副本
B edge-cut 顶点无副本但跨分区边通信多,vertex-cut 顶点有副本但跨分区通信少,分布式图系统常用 vertex-cut ✓ 正确答案
C vertex-cut 顶点无副本
D 两种策略无差异
#

12. 图可视化与图查询可观测

A 图可视化能直接优化查询性能
B 图查询无需慢查询监控
C 图查询可观测需监控慢查询、分析执行计划、关注遍历深度与结果爆炸,并配合可视化分析 ✓ 正确答案
D 执行计划与图查询优化无关
#

13. 图数据库与向量检索融合(GraphRAG)趋势

A GraphRAG 只做向量检索
B GraphRAG 用向量解决语义相似、图解决关系路径,两者互补增强检索质量 ✓ 正确答案
C GraphRAG 只用图不用向量
D 图与向量无法结合
#

14. 图数据库在反欺诈/推荐/社交关系中的实战

A 图数据库只适合社交场景
B 反欺诈用不到图关系
C 反欺诈用关系网络识别团伙、推荐用关联路径、社交用关系链,图数据库擅长关系密集型深度查询 ✓ 正确答案
D 图数据库不擅长关系查询
#

15. 图数据建模,属性图 vs RDF 模型

A 属性图就是 RDF
B RDF 节点可携带键值属性
C 属性图节点/关系携带属性、查询高效,RDF 用三元组表达全局语义、可互操作,分别适配应用查询与开放语义场景 ✓ 正确答案
D 两者查询语言完全相同
#

16. 图查询的代价与深度遍历(多跳)的爆炸

A 深度遍历代价与图规模无关
B k 跳遍历空间约 O(d^k) 指数增长,需限深、剪枝、双向遍历与图算法控制 ✓ 正确答案
C 遍历深度越深越好
D 深遍历无任何风险
#

17. 图算法在 JPA 实体关系上的近似实现成本

A JPA 能完美实现所有图算法
B ORM 多跳遍历与图数据库性能相同
C 多跳遍历在 ORM 表现为多次 JOIN 与查询叠加,易触发 N+1 与内存全量计算,深层图算法应选图数据库 ✓ 正确答案
D JPA 天然支持指针式多跳遍历
#

18. 图计算框架(GraphX/Giraph)的 Pregel 模型

A Pregel 适合在线实时小图查询
B Pregel 无需全局同步
C Pregel 只能单机运行
D 采用 BSP 机制,多超步并行执行顶点计算并通过消息传递迭代,适合离线大规模图算法 ✓ 正确答案
#

19. 图遍历的 BFS/DFS 在关系挖掘中的应用

A BFS 适合检测环
B BFS 逐层扩展适合找最近关系/最短路径,DFS 深度回溯适合探索路径与检测环 ✓ 正确答案
C DFS 适合找最短路径
D 两者在关系挖掘中无区别
#

20. 知识图谱在 Java 业务中的存储与查询选型

A 知识图谱只能用 RDF 存储
B 知识图谱只能用关系型存储
C 图数据库不支持知识图谱
D 关系密集多跳查询用图数据库(Cypher/nGQL),开放语义共享用 RDF(SPARQL),按规模与语义需求选型 ✓ 正确答案
#

21. 读写分离在图数据库中的支持度

A 分布式图库(NebulaGraph)多副本读扩展,Neo4j 企业版通过集群支持读写分离,需权衡读扩展与一致性延迟 ✓ 正确答案
B 图数据库不支持任何副本
C 所有图数据库都天然支持读写分离
D 读写分离不影响一致性
#

22. 超大图(十亿边)的存储与查询优化

A 单机即可承载十亿边
B 超大图无需任何优化
C 深遍历在超大图上无性能风险
D 需分布式分片存储、压缩与合理索引,查询靠索引定位、限深剪枝、图算法,并处理超级节点 ✓ 正确答案
#

23. 超级节点(hotspot vertex)对图遍历性能的破坏

A 超级节点不影响遍历性能
B 超级节点会展开海量邻居导致遍历爆炸与分区热点,需限深、抽样、顶点中心索引或拆分节点缓解 ✓ 正确答案
C 超级节点越多遍历越快
D 超级节点无需特殊处理
#

24. Apache TinkerPop Gremlin 图遍历语言与 Java 集成

A Gremlin 是声明式模式匹配语言
B Gremlin 是命令式遍历语言,通过步骤链描述遍历,Java 用 GraphTraversalSource 与 gremlin-driver 集成 ✓ 正确答案
C Gremlin 只能在 Groovy 中运行
D Gremlin 与 Cypher 完全相同
#

25. Cypher 的 MATCH/RETURN 与模式匹配查询

A MATCH 是命令式遍历语言
B MATCH 用图模式描述匹配结构,RETURN 返回结果,可配合 WHERE/ORDER BY/LIMIT ✓ 正确答案
C RETURN 用于定义索引
D Cypher 只能匹配单节点
#

26. Cypher 的路径查询与最短路径(shortestPath)

A shortestPath 用于全文检索
B 变长路径无需限制深度
C 变长路径用 `*n..m` 表示跳数范围,shortestPath 求最短路径,需控制跳数上限避免爆炸 ✓ 正确答案
D Cypher 不支持路径查询
#

27. NebulaGraph 与 HBase 的 Compaction 影响

A Compaction 只影响写入不影响查询
B Compaction 是 LSM 树合并 SST 的过程,会消耗 IO 导致查询抖动,需调度到低峰并控制并发 ✓ 正确答案
C Compaction 会一直提升性能
D Compaction 与查询无关
#

28. NebulaGraph 的 nGQL 与图空间(Space)隔离

A nGQL 是纯 SQL 语言
B nGQL 融合 SQL 与图遍历语法,Space 是独立图结构/分片的隔离单元,用于多业务隔离 ✓ 正确答案
C Space 之间共享数据
D NebulaGraph 只有一个 Space
#

29. Neo4j 的 APOC 与 GDS 图算法库

A APOC 用于图算法
B GDS 用于数据导入
C 两者功能完全相同
D APOC 是通用过程/函数工具库,GDS 是图算法库(PageRank/Louvain 等),两者扩展 Cypher 能力 ✓ 正确答案
#

30. Neo4j 的 Bolt 协议与驱动连接池

A Bolt 是高效二进制协议,驱动用连接池复用连接,Session 用完归还连接 ✓ 正确答案
B 连接池每次操作都新建连接
C Bolt 基于 HTTP 明文传输
D Bolt 与连接池无关
#

31. Spring Data Neo4j 的 Repository 与 @Node 映射

A @Node 映射关系
B @Node 映射图节点,@Relationship 映射关系,Repository 派生方法自动生成 Cypher 查询 ✓ 正确答案
C Repository 只能写原生 Cypher
D SDN 不支持 @Relationship