# 1. HNSW 通过分层 Navigable Small World 图构建索引,适合高召回率与动态插入 A 分层图结构,支持高召回率与动态插入,但内存占用较大 ✓ 正确答案 B 只支持静态数据集 C 召回率无法保证 D 无需建图
# 2. IVF-PQ 通过倒排索引(IVF)+ 乘积量化(PQ)压缩向量,内存友好 A 无精度损失 B 只压缩不剪枝 C IVF 用聚类倒排剪枝,PQ 用子空间量化压缩向量,内存友好 ✓ 正确答案 D 内存占用极大
# 3. DiskANN 基于 Vamana 图,将索引存储在 SSD 而非内存 A 必须全量载入内存 B 基于 Vamana 图,索引存 SSD,通过分块读取突破内存限制 ✓ 正确答案 C 只适合小规模数据 D 无图结构
# 4. Faiss 提供 IndexFlatL2、IndexIVFPQ、IndexHNSWFlat 等多种索引类型 A Flat 精确但慢,IVFPQ 内存友好,HNSW 召回高、支持动态插入 ✓ 正确答案 B Flat 最快 C 所有索引都支持动态插入 D IVFPQ 精度无损
# 5. HNSW 参数 M(每层连接数)、efConstruction(建图候选集)、efSearch(查询候选集)如何影响召回率/QPS/内存的三角权衡?一般调参方向是什么? A 增大 M 一定提升 QPS B 增大 efSearch 提升召回但降 QPS,M 影响内存与建图,先定内存再调 efSearch ✓ 正确答案 C efConstruction 影响查询延迟 D 参数与召回率无关
# 6. 如何评测 ANN 召回率(recall@k,与暴力检索 ground truth 对比)?如何用 ANN-Benchmarks 在统一数据集上做算法横向对比(recall vs QPS 曲线)? A recall@k 通过对比暴力检索 ground truth 计算,ANN-Benchmarks 用 recall-QPS 曲线横向对比 ✓ 正确答案 B recall 与暴力检索无关 C 只测单点不测曲线 D 无法横向对比算法
# 7. 标量过滤与向量检索融合的 pre-filtering 与 post-filtering 在召回率与延迟上有何差异?高选择度过滤为何应选 filtered-HNSW/ACORN 类方案? A 高选择度过滤下 post-filtering 召回退化,应选 filtered-HNSW/ACORN 融合方案 ✓ 正确答案 B post-filtering 召回率最高 C pre-filtering 延迟最低 D 过滤与 ANN 无关
# 8. Faiss 提供 index_factory 字符串构造复杂索引 A 需手动逐层写代码 B 只能构造单一索引 C 不支持量化 D 用字符串(如 IVF4096,PQ32)快速组合构造复杂索引 ✓ 正确答案
# 9. 向量量化(乘积量化 PQ、标量量化 SQ、二值/RaBitQ)在精度损失与内存压缩上如何权衡?为何量化后常需全精度 rerank 补偿召回? A 量化无损 B 量化越激进内存越省但召回越差,量化后常用全精度 rerank 补偿召回 ✓ 正确答案 C rerank 用量化距离 D 量化不压缩内存
# 10. Milvus 支持 IVF_FLAT、HNSW、DISKANN、AUTOINDEX 四类索引 A AUTOINDEX 固定用 Flat B 只支持一种索引 C DISKANN 存内存 D 支持 IVF_FLAT/HNSW/DISKANN,AUTOINDEX 自动选择合适索引 ✓ 正确答案
# 11. Weaviate 通过 HNSW 索引默认参数调优 A 提供 maxConnections/efConstruction/ef 参数,默认值经调优,可按需调整 ✓ 正确答案 B 参数不可调 C 无默认参数 D 不支持标量过滤
# 12. Hybrid Search 在 ANN 之上叠加关键词/标量过滤 A 无法融合 BM25 B 只做向量检索 C 在 ANN 上叠加关键词检索与标量过滤,通过融合策略统一排序 ✓ 正确答案 D 忽略标量过滤
# 13. Milvus 2.x 通过 etcd + pulsar + object storage 实现存算分离 A 无对象存储 B 全量数据在内存 C etcd 存元数据、Pulsar 存日志、对象存储存数据,实现存算分离 ✓ 正确答案 D 组件不分离
# 14. Qdrant 基于 HNSW 实现向量检索,提供 payload 过滤与多向量字段 A 只支持单向量 B 基于 HNSW 检索,支持 payload 过滤与多向量字段 ✓ 正确答案 C 无过滤能力 D 用 Go 实现
# 15. pgvector 的索引实现(IVFFlat 与 HNSW)与 PostgreSQL 查询规划器如何协同?pgvector 0.7+ 的 iterative index scan 如何解决过滤后召回不足的问题? A 0.7+ 在过滤+距离排序下迭代扩大扫描范围,补齐过滤后不足的召回结果 ✓ 正确答案 B 过滤后结果不足就报错 C 只支持顺序扫描 D 无索引协同
# 16. RAG(Retrieval-Augmented Generation)架构中向量数据库的角色,chunk 策略、embedding 模型选择、top-k 召回与 rerank 的端到端流程? A chunk 不影响召回 B 向量库直接生成答案 C 无需 rerank D chunk 切分、embedding 入库、top-k 召回、rerank 精排后拼入 LLM ✓ 正确答案
# 17. Reranking 模型(BGE-Reranker、Cohere Rerank、Cross-Encoder)在向量检索后的二次排序原理?为何两阶段(召回+精排)比单阶段 ANN 精度更高? A 单阶段 ANN 精度更高 B 向量 ANN 粗召回 + Cross-Encoder reranker 精排,深层交互比近似排序更准 ✓ 正确答案 C reranker 对全库精排 D 两阶段无成本优势
# 18. 混合检索(Hybrid Search)的融合策略,RRF(Reciprocal Rank Fusion)与加权分数归一化如何将 BM25 关键词分数与向量相似度合并为统一排序? A RRF 依赖原始分数值 B RRF 用排名倒数融合,加权归一化把分数标准化后线性合并 ✓ 正确答案 C 无需归一化 D 只能并行不融合
# 19. 向量数据库架构对比,Milvus(存算分离、etcd+pulsar+minio)vs Qdrant(单体 Rust、WAL+RocksDB)vs Weaviate(模块化、GraphQL)vs Pinecone(全托管 Serverless)在扩展性、延迟与运维复杂度上的本质差异? A Pinecone 自托管 B 四者架构完全相同 C Milvus 存算分离规模大但运维复杂,Qdrant 单体轻快,Pinecone 全托管免运维 ✓ 正确答案 D Qdrant 运维最复杂
# 20. 元数据过滤(Metadata Filtering)与向量检索的协同,pre-filtering(先过滤再 ANN,高选择度优)vs post-filtering(先 ANN 再过滤,低选择度优)vs 融合方案(ACORN、filtered-HNSW)的召回率与延迟权衡? A pre 延迟最低 B post 高选择度召回最优 C 低选择度用 post 简单,高选择度应选 pre 或 ACORN/filtered-HNSW 融合方案 ✓ 正确答案 D 融合方案无召回优势
# 21. pgvectorscale (HNSW+PQ 压缩+StreamingDiskANN) 与原生 pgvector (HNSW/IVFFlat) 的查询延迟与索引体积对比? A pgvector 支持 SSD 索引 B pgvectorscale 无压缩 C 两者完全相同 D pgvectorscale 用 PQ 压缩与 StreamingDiskANN 降低体积、支持更大规模,pgvector HNSW 内存充足时延迟低 ✓ 正确答案
# 22. Milvus 2.4+/2.5+ 的标量字段 + 向量混合检索 (BooleanExpr + ANN) 作为向量数据库差异化能力的工程价值? A 无工程价值 B 只能纯向量检索 C 无法过滤标量 D BooleanExpr 过滤 + ANN 融合,支撑"语义+属性"复合查询 ✓ 正确答案
# 23. HNSW 的图结构(多层跳表导航)与 IVF-PQ 的召回率/内存/延迟对比,如何选型? A HNSW 内存最小 B IVF-PQ 召回率最高 C HNSW 召回高内存大,IVF-PQ 内存省但精度有损,按内存与召回要求选型 ✓ 正确答案 D 两者无差异
# 24. 向量索引的持久化与重建,WAL、段合并与崩溃恢复(Milvus/Qdrant 的实现差异) A 崩溃不可恢复 B 无 WAL 机制 C Qdrant 用 WAL+RocksDB,Milvus 用消息队列日志+对象存储,段合并控制碎片 ✓ 正确答案 D 两者恢复机制完全相同
# 25. LanceDB 通过 IVF-PQ 与 HNSW 索引实现 ANN A 只支持暴力检索 B 需独立服务器 C 嵌入式向量库,提供 IVF-PQ 与 HNSW 索引,基于 Lance 列式格式 ✓ 正确答案 D 无列式存储
# 26. Faiss 通过 GPU 加速(IndexFlatL2_GPU)提升吞吐量 A GPU 版并行计算距离矩阵,提升检索吞吐,尤其适合批量查询 ✓ 正确答案 B GPU 版性能更差 C 只支持小批量 D 无需 GPU 硬件
# 27. ScaNN(Google ScaNN)采用 anisotropic vector quantization A 召回率更低 B 与标准 PQ 完全相同 C 误差各方向均匀 D 定量化误差按方向非均匀分配,同等码率下召回率高于标准 PQ ✓ 正确答案
# 28. Faiss 不支持动态增删(除 IndexIDMap 包装) A 所有索引都支持在线增删 B Faiss 多数索引静态,IndexIDMap 提供 ID 映射辅助增删,动态更新能力有限 ✓ 正确答案 C IndexIDMap 是存储引擎 D 无需 ID 映射
# 29. Milvus 通过 Partition Key 与 Shard 实现水平扩展 A 无法水平扩展 B 只有单分片 C partition 用于存储节点 D Shard 水平分片分散负载,Partition Key 分区过滤与多租户隔离 ✓ 正确答案
# 30. Milvus 提供 Collection、Partition、Index 三级资源模型 A 只有 Collection 一级 B Collection 逻辑表、Partition 分区、Index 向量索引,三级组织数据 ✓ 正确答案 C Index 是数据存储 D 无分区概念
# 31. Weaviate 内置 vectorization 模块,支持多种 embedding 模型 A 只支持一种模型 B 需手动计算 embedding C 内置模块自动调用多种 embedding 模型向量化,写入/查询自动编码 ✓ 正确答案 D 无向量化能力
# 32. Weaviate 通过 GraphQL API 提供 BM25 + vector 混合检索 A 只支持单一检索 B GraphQL API 支持 BM25 + vector 混合,通过 alpha 权重融合 ✓ 正确答案 C 无 BM25 D 非 GraphQL
# 33. Weaviate 通过 modules 接入 Cohere、OpenAI、HuggingFace A 无法接入第三方 B 只能自研模型 C 无模块机制 D 通过 modules 接入 Cohere/OpenAI/HuggingFace,提供向量化/生成/重排 ✓ 正确答案
# 34. Qdrant 通过 REST/gRPC 双协议,集成轻量 A 只有 REST B REST 易用易调试,gRPC 高性能,按需选择实现轻量集成 ✓ 正确答案 C gRPC 不适用 D 集成复杂
# 35. Qdrant 在 v1+ 支持 named vectors 与 sparse vectors A 支持 named vectors 多向量与 sparse vectors 稀疏向量,支持混合检索 ✓ 正确答案 B 只支持单向量 C 无稀疏向量 D 不支持多字段
# 36. Pinecone 是托管向量库,支持 serverless 与 pod-based 部署 A 需自建集群 B 全托管,提供 serverless 按量弹缩与 pod-based 固定容量两种模式 ✓ 正确答案 C 只支持单机 D 无托管服务
# 37. 向量距离度量选择,欧氏距离(L2)适合绝对幅度敏感场景、余弦相似度适合文本/方向敏感场景、内积(IP)适合已归一化向量,三者之间的数学等价关系? A 余弦依赖幅度 B 三者无任何关系 C 余弦忽略幅度适合文本,IP 在归一化下与余弦等价,L2 敏感幅度 ✓ 正确答案 D IP 不适合归一化向量
# 38. Annoy(Spotify)通过随机投影树实现 ANN,适合静态数据集的只读场景;与 HNSW 在动态插入、内存占用与召回率上的差异? A 两者完全相同 B Annoy 支持动态插入 C HNSW 内存最小 D Annoy 随机投影树适合静态只读,HNSW 支持动态插入、召回通常更高 ✓ 正确答案
# 39. ScaNN(Google)的 anisotropic vector quantization 相比标准 PQ 在召回率上的改进原理?ScaNN 与 FAISS 在工程集成(GPU 加速、动态更新、分布式)上的取舍? A 两者完全相同 B ScaNN 生态更成熟 C Faiss 无 GPU D ScaNN anisotropic 量化提升召回,Faiss 生态成熟支持 GPU 但动态更新弱 ✓ 正确答案
# 40. 向量数据库的多租户隔离方案,Milvus Partition Key、Pinecone Namespace、Qdrant Collection per tenant 的设计差异与资源开销? A Milvus/Pinecone 逻辑隔离开销低,Qdrant 每租户 collection 物理隔离但开销大 ✓ 正确答案 B 三方案完全相同 C Qdrant 开销最低 D Milvus 物理隔离
# 41. 向量索引的增量更新与重建策略,HNSW 的在线插入 vs IVF 需要定期 retrain 聚类中心;生产环境如何平衡索引新鲜度与重建成本? A 从不重建 B HNSW 在线插入但需定期优化,IVF 需 retrain,生产用后台重建+灰度切换平衡 ✓ 正确答案 C IVF 无需 retrain D 重建阻塞在线
# 42. Milvus 的 Segment / IndexNode 设计在大规模数据集上的存储成本与查询吞吐取舍? A 索引构建占用查询资源 B IndexNode 参与查询 C Segment 无粒度概念 D Segment 是数据组织单元,IndexNode 独立构建索引,粒度与索引决定存储成本与吞吐 ✓ 正确答案
# 43. pgvector (VS LanceDB/Weaviate/Qdrant) 在已有 PG 集群不想引入新组件场景的真实工程回报 vs 复杂性? A pgvector 复用现有 PG 免新增组件,但规模/性能受限;专用库性能强但需引入组件 ✓ 正确答案 B pgvector 性能远超专用库 C pgvector 需独立服务器 D 专用库运维更简单
# 44. Weaviate 的模块化 pipeline (向量 + reranker + generative) + 知识图谱融合 vs 纯 Milvus 单向量库的取舍? A 两者完全相同 B Weaviate 只做检索 C Milvus 内建 generative D Weaviate 模块化内建 rerank/generative 一体化,Milvus 专注检索性能强 ✓ 正确答案
# 45. 向量数据库的写入吞吐、删除策略、版本回滚、metadata 一致性:哪个真正决定生产可用性? A 写入吞吐最重要 B metadata 一致性是正确性底线,决定生产可用性,其余是性能与便利性 ✓ 正确答案 C 版本回滚最次要 D 一致性可牺牲
# 46. LanceDB (columnar) + DuckDB 同进程嵌入式 RAG 架构在小团队的工程价值? A 需部署独立集群 B 同进程嵌入式、零运维低成本,适合小团队向量+分析,但规模/并发受限 ✓ 正确答案 C 成本高 D 不适合小团队
# 47. Qdrant 的 Rust 实现 + 资源占用 vs Milvus (Go + C++) 的运维成本差异? A Milvus 运维最简单 B Qdrant Rust 单体资源少、运维简单,Milvus 组件化功能强但运维复杂 ✓ 正确答案 C Qdrant 资源占用大 D 两者运维相同
# 48. 向量库的"过滤+检索"(metadata filter + ANN)为什么容易退化,如何优化? A 过滤无影响 B 高选择度下召回不足,应用过滤感知索引或扩大候选集优化 ✓ 正确答案 C 事后过滤最稳 D 无法优化
# 49. 向量维度、数据量、QPS 与召回率要求如何决定向量索引参数(M/efConstruction/efSearch)? A 参数与维度无关 B 高 QPS 调小 efSearch,高召回调大 efSearch,M 按内存与数据规模定 ✓ 正确答案 C 增大 efSearch 一定提升 QPS D 数据量不影响参数
# 50. Embedding 维度与向量归一化对索引内存与检索延迟的影响 A 归一化丢失幅度信息不影响 B 维度不影响内存 C 维度越高内存与延迟越大,归一化后内积等价于余弦且便于量化压缩 ✓ 正确答案 D 归一化不适合量化
# 51. MySQL 9.x 引入的 VECTOR 类型与 DISTANCE()(COSINE/DOT/EUCLIDEAN)作为关系库内轻量向量方案的边界,与 pgvector/专用向量库如何取舍? A 适合超大向量库 B 支持 HNSW 索引 C 提供 VECTOR 与 DISTANCE() 轻量计算,但无 ANN 索引,大规模性能差 ✓ 正确答案 D 与 pgvector 相同
# 52. Qdrant 通过量化(scalar/product)降低内存 A 量化无损 B scalar/product 量化降低内存,但精度有损,可配合 rescore 补偿 ✓ 正确答案 C 量化增加内存 D 不支持量化
# 53. Pinecone 通过 metadata filtering 与 namespace 多租户隔离 A 只能物理隔离 B 无租户隔离 C namespace 隔离租户数据,metadata filtering 提供细粒度过滤 ✓ 正确答案 D metadata 与隔离无关
# 54. Pinecone 通过 s1/p1/p2 pod 类型控制性能 A pod 类型不影响性能 B 所有 pod 相同 C s1 性能最强 D p2 偏性能高吞吐,s1 偏存储高容量,按需求选择控制性能与成本 ✓ 正确答案
# 55. LanceDB 基于 Lance 列式格式,嵌入式 OLAP + 向量混合 A 需独立服务器 B 只支持行式 C 基于 Lance 列式格式,嵌入式支持向量检索与标量分析混合 ✓ 正确答案 D 无法混合分析
# 56. LanceDB 提供 Python/Rust/JS SDK,可在浏览器/WASM 中运行 A 提供 Python/Rust/JS SDK,JS 可经 WASM 在浏览器运行向量检索 ✓ 正确答案 B 只支持 Python C 无法在浏览器运行 D 无 WASM 支持
# 57. 稀疏向量(Sparse Vector)与密集向量(Dense Vector)的混合检索,SPLADE/BGE-M3 稀疏表示与 embedding 稠密表示如何互补?Qdrant 的 named vectors 如何支持同一条记录多向量字段? A named vectors 只支持单字段 B 稀疏捕获语义 C 稠密精确词匹配 D 稠密捕获语义、稀疏精确词匹配互补,named vectors 支持单记录多向量 ✓ 正确答案
# 58. 多向量(ColBERT 类)与单向量检索的权衡,混合检索如何融合? A 两者无差异 B 单向量精度更高 C 多向量成本低 D ColBERT 多向量 token 级交互精度高但成本大,混合检索用多路召回+融合平衡 ✓ 正确答案
# 59. 向量检索结果的相似度分数含义与阈值选择(可解释性与召回边界) A 分数完全可解释 B 阈值固定最优 C 分数含义依赖度量与 embedding,阈值需按数据分布校准,决定召回边界 ✓ 正确答案 D 阈值与召回无关