# 1. 图数据库的存储模型,原生图(Neo4j, NebulaGraph, JanusGraph)与多层映射(图→关系表→内存图)的性能差异? A 内存图加载无需任何序列化开销 B 多层映射(关系表)的遍历成本不随深度增加 C 原生图存储的每次遍历都需要全图索引查找 D 原生图把邻接关系物理存储在节点旁,遍历时索引无关地跳转邻居,多跳遍历成本与图大小无关 ✓ 正确答案
# 2. 图查询语言,Cypher(Neo4j)、nGQL(NebulaGraph)、GQL(ISO/IEC 39075 国际标准)的语法与表达力对比? A nGQL 是 SQL 标准图查询语言 B 三种语言语法完全相同,无可移植性差异 C Cypher 以模式匹配语法直观表达路径,GQL 是 ISO/IEC 39075 国际标准,旨在统一图查询表达 ✓ 正确答案 D GQL 只支持 RDF 图,不支持属性图
# 3. 图数据库的批量导入与写入性能(Neo4j import、Nebula 批量写入) A Neo4j 的 neo4j-admin import 从 CSV 离线构建图、跳过逐条事务,适合大规模初始化导入 ✓ 正确答案 B 批量导入与逐条插入性能没有差异 C Nebula 批量写入必须逐条 RPC,无法批量提交 D 导入时开启事务日志和索引构建能显著提升速度
# 4. Neo4j GDS 的图投影(graph projection)与 Cypher 查询有何区别?为什么 PageRank、Louvain 等图算法要在内存投影图上执行? A 图投影把图加载为内存紧凑结构供图算法多轮迭代,而 Cypher 适合声明式路径查询 ✓ 正确答案 B 图投影与 Cypher 查询返回结果完全相同 C 图算法直接在存储层逐轮 Cypher 执行效率最高 D 图投影只能投影整张图,无法投影子图
# 5. Cypher 查询优化器如何选择遍历起点(节点标签与属性索引)?多跳遍历的执行计划与关系库的 JOIN 计划有何对应? A 多跳图遍历等价于关系库的链式 JOIN,优化器选起点相当于选高选择性的驱动表 ✓ 正确答案 B 图遍历与关系库 JOIN 完全无关 C 图优化器不利用标签与属性索引选择起点 D 多跳遍历的扩展顺序与 JOIN 连接顺序毫无关系
# 6. 图遍历算法(BFS/DFS/最短路径/PageRank)的实现原理与在大图上的工程优化(剪枝、并行、索引)? A BFS 用栈深入,DFS 用队列逐层扩展 B BFS 用队列逐层扩展求最短路径,A* 用启发式剪枝,PageRank 通过迭代传播权重收敛 ✓ 正确答案 C Dijkstra 只能用于无向图 D 大图遍历无法通过并行或索引加速
# 7. 图存储的邻接表实现,CSR/CSC 与邻接链表在大图遍历中的缓存与内存差异? A 邻接链表连续存储邻居,缓存命中率更高 B CSR/CSC 用连续数组存储邻居,缓存命中率高、内存占用低,优于指针分散的邻接链表 ✓ 正确答案 C CSR/CSC 每个邻居都要单独的指针与节点 D 两者在缓存与内存上没有任何差异
# 8. Supernode(超级节点)问题,高扇出节点的遍历爆炸如何用索引、剪枝与采样缓解? A 采样后结果与精确结果完全一致 B Supernode 问题只影响存储,不影响遍历性能 C 高扇出节点导致遍历分支爆炸,可用索引过滤邻居、剪枝控制规模、采样近似求解来缓解 ✓ 正确答案 D 索引无法缩小遍历时的邻居范围
# 9. 图数据库的遍历查询,BFS/DFS 与深度限制(fan-out)? A 深度限制只影响查询结果,不影响性能 B BFS 适合深路径枚举,DFS 适合求最短路径 C BFS 逐层扩展适合求最短路径,深度限制与 fan-out 控制可抑制遍历爆炸 ✓ 正确答案 D fan-out 与遍历爆炸无关
# 10. 图查询语言,Cypher/Gremlin/GQL 的表达力差异? A Gremlin 只支持模式匹配,不支持遍历步骤 B 三种语言都是过程式遍历语言 C Cypher 是声明式模式匹配语言,Gremlin 是过程式遍历语言,GQL 是 ISO 标准统一语言 ✓ 正确答案 D Cypher 强调"如何遍历",Gremlin 强调"想要什么结果"
# 11. 图数据库的事务支持(Neo4j 单机 ACID vs Nebula 分布式事务) A 分布式事务与单机事务在延迟上完全等价 B Neo4j 是分布式数据库,不支持单机 ACID C Nebula 分布式事务没有任何协调开销 D Neo4j 单机提供完整 ACID 事务、延迟低,Nebula 分布式事务需跨节点协调,扩展性高但开销更大 ✓ 正确答案
# 12. 属性图(Cypher/nGQL)与 RDF/SPARQL 的建模差异与选型 A RDF 用 Cypher 查询,属性图用 SPARQL 查询 B 属性图与 RDF 建模方式完全相同 C 属性图以节点、边、属性建模,适合业务遍历;RDF 以三元组与本体建模,适合语义网与推理 ✓ 正确答案 D 属性图侧重语义推理,RDF 侧重关系遍历
# 13. 图数据库的索引体系(标签索引、属性索引、全文与空间索引)分别加速什么操作?索引选择如何影响遍历起点? A 空间索引用于加速文本关键词查询 B 属性索引只加速全文检索 C 索引选择不影响遍历起点 D 标签索引定位标签节点集,属性索引按属性过滤并决定遍历起点,全文/空间索引分别加速文本与位置查询 ✓ 正确答案
# 14. 图数据库的应用场景,社交网络、知识图谱、欺诈检测、推荐系统的工程边界与选型? A 知识图谱必须用关系库,不能使用图数据库 B 图数据库适合所有数据库场景,无需其他组件 C 欺诈检测只需关系库的 JOIN,不需要图算法 D 社交关系、欺诈检测、知识图谱等场景依赖图的多跳遍历与图算法,图数据库可与关系库、图计算引擎组合使用 ✓ 正确答案
# 15. 图数据库与关系型数据库的混合使用,图查询嵌入 SQL(SQL/PGQ, ISO 39075)的标准化进展? A 图查询无法嵌入标准 SQL B SQL/PGQ 只能用于图数据库,不能用于关系库 C SQL/PGQ 是 SQL 标准(ISO/IEC 9075-16)新增的图查询部分,允许在 SQL 中嵌入图模式匹配,使关系库能表达图查询 ✓ 正确答案 D ISO 39075 标准与图查询无关
# 16. GQL 标准与 SQL/PGQ,ISO 39075 的路径模式查询与现有 Cypher/nGQL 的表达力差异? A SQL/PGQ 与 GQL(ISO 39075)统一路径模式查询语义,支持跨数据库可移植并与 SQL 融合,区别于厂商方言 ✓ 正确答案 B GQL 与 Cypher 语义完全相同,无差异 C SQL/PGQ 不支持可变长度路径 D nGQL 是 ISO 国际标准
# 17. 图嵌入与图算法在推荐/风控中的落地,与图查询是互补还是替代关系? A 图嵌入完全替代图查询,不需要遍历 B 图查询提供可解释的事实检索,图算法提供结构分析,图嵌入提供低维特征,三者在推荐/风控中互补 ✓ 正确答案 C 图算法只能用于社交推荐,不能用于风控 D 三者互斥,只能选择其一
# 18. 图数据库 vs 关系库递归 CTE,多跳性能对比? A 图数据库的每跳遍历都需要全表扫描 B 递归 CTE 与图数据库在多跳查询上性能完全一致 C 递归 CTE 每跳通过 JOIN 重建邻接并产生膨胀的结果集,深跳时性能下降明显;图数据库用邻接指针直连,深跳更高效 ✓ 正确答案 D 递归 CTE 深跳性能优于图数据库
# 19. 图数据库的扩展性,分布式图(Nebula/JanusGraph)? A JanusGraph 不需要任何存储后端 B 分布式图可以完全消除跨节点遍历通信 C 图数据库只能单机部署,无法水平扩展 D NebulaGraph 自建分片存储与 Raft 副本,JanusGraph 依赖 Cassandra/HBase 等分布式后端,二者都支持水平扩展但跨分区遍历有通信开销 ✓ 正确答案
# 20. LDBC SNB 基准如何衡量图数据库性能?与关系库递归 CTE 的对比实验设计有哪些要点? A 基准数据规模无需一致,越大越好 B LDBC SNB 只测写入吞吐,不测查询 C 对比图库与递归 CTE 只需测一种跳数即可 D LDBC SNB 以社交网络负载覆盖交互查询、BI 查询与图算法,对比实验需保证数据/查询/硬件一致并覆盖不同跳数与扇出 ✓ 正确答案