某互联网公司 测试开发实习生一面(中国交易与广告方向)
- 时间
- 2026-09
- 来源
- 牛客网
《面试题目》
- 先自我介绍一下吧。
- 向量数据库和 RAG 它俩的区别是啥?
- 向量数据库和 MySQL 的优劣势分别是什么?
- 向量数据库里面用到的索引是啥?原理分别是什么,为什么要加那样的索引?那几种索引的优势是什么,什么情况下用哪种索引查询效率会变快?
- 低延迟怎么理解?为什么会有低延迟这个概念?
- 向量数据库在整个 RAG 的流程或架构里,一般会放到哪个环节?
- 在检索增强这套流程里,什么时候会用到向量数据库?它的交互链路大概是怎么样的?
- 向量怎么理解?
- 解释一下正弦和余弦的差异。
- 用 Python 写过什么工具或者脚本吗?
- 介绍一下第二个项目,先整体说说背景,为什么要做这个项目?
- 这个项目解决什么问题,整体的架构设计是怎么样的?除了这个问题还解决了什么?
- 请介绍一下你整体的设计,最终实现的功能效果是怎么样的?
- 你有什么问题要问我吗?(作者反问后,面试官借此讲了测开岗位做什么、需要具备哪些能力)
- AI 会不会把各个职位模糊化,比如测开也能参与到开发,产品以后也要写一点简单代码?
《参考解析》
- 向量数据库与 RAG 的关系:两者不在一个层次上——RAG 是一整套”检索加生成”的方法论,向量数据库只是其中负责语义召回的组件。不用向量库也能做 RAG(关键词检索、倒排索引都行),用向量库也未必是 RAG(去重、推荐、以图搜图都能用)。答这类题先划清层次,再讲各自的适用场景,比直接列定义清楚。
- 向量库和 MySQL 的优劣势:MySQL 强在精确条件过滤、事务、join 与一致性,检索是等值或范围匹配;向量库强在高维向量的近似最近邻召回,能处理”语义相似但字面不同”的查询,弱在事务、频繁更新一致性与复杂过滤。工程上一般组合使用:向量库负责召回候选,业务数据和权限状态仍放 MySQL,过滤条件尽量下推到检索前,避免召回一堆又被权限过掉。
- 向量索引的几类原理:常见是 IVF、HNSW、PQ。IVF 先对向量做粗聚类分桶,查询时只扫最近若干个桶;HNSW 建分层可导航小世界图,从稀疏的上层逐步跳到密集的下层逼近近邻;PQ 是乘积量化,把向量切段后用码本压缩,用精度换内存和速度。选型看数据规模、内存预算和召回率要求,数据大内存紧常用 IVF 加 PQ,追求高召回低延迟用 HNSW,代价是建索引慢、内存占用高。
- 低延迟怎么理解:低延迟指请求进来到返回结果的耗时短,它既是体验指标也是成本指标;检索链路里向量召回、过滤、Rerank 每一级都会叠加延迟,所以常见做法是分层——粗召回用便宜快速的索引保证速度,精排只对少量候选算。回答时落到 P95/P99 而不是平均延迟,能立刻区分开”背过概念”和”真的压过指标”。
- 正弦和余弦的差异:数学上它们是相位相差 90 度的同一条波形,
sin(x)等于cos(x - π/2)。放到向量检索语境里,面试官多半是想引出余弦相似度——它衡量两个向量方向的夹角、对长度不敏感,所以文本 embedding 比较常用,而欧氏距离会被向量模长影响。先把数学关系说清,再补一句为什么检索里用余弦,答案就完整了。 - 项目介绍怎么组织:按”背景、问题、架构、我的部分、效果”讲:先说为什么要做这个项目、成功标准是什么,再讲整体架构的数据流,然后明确哪些模块是自己写的、做了哪些技术决策、踩过什么坑,最后给实现效果。面试官追着问架构细节时,能把一次真实请求从头到尾讲完整,比铺开一堆技术名词可信得多。