Prev Next

Database / Qdrant Vector DB Interview questions

1. What is Qdrant? 2. What is the purpose of Qdrant? 3. What are the key features of Qdrant? 4. What is a collection in Qdrant? 5. What is a point in Qdrant? 6. What is a payload in Qdrant? 7. What is the HNSW algorithm? 8. What distance metrics does Qdrant support? 9. How do you create a collection in Qdrant? 10. How do you insert/upsert points into a collection? 11. What is the difference between REST and gRPC APIs in Qdrant? 12. What client libraries are available for Qdrant? 13. What is payload filtering in Qdrant? 14. Define scalar quantization in Qdrant? 15. What is a segment in Qdrant? 16. How do you perform a similarity search in Qdrant? 17. What is the purpose of a payload index? 18. List the supported field types for payload indexing? 19. What is Qdrant Cloud? 20. What is memmap storage in Qdrant? 21. What is the difference between Qdrant and Pinecone? 22. What is the difference between Qdrant and Weaviate? 23. Why is Qdrant implemented in Rust? 24. How does the HNSW graph work internally in Qdrant? 25. What is the difference between scalar, binary, and product quantization? 26. Explain the internal working of binary quantization and why it's fast? 27. What is oversampling and rescoring in quantized search? 28. How does Qdrant implement filtering during HNSW traversal? 29. Explain the internal working of Qdrant's sharding and replication? 30. What consensus protocol does Qdrant use for distributed clusters, and how does it work? 31. What are named vectors, and when should you use them? 32. What are sparse vectors in Qdrant? 33. Explain hybrid search using the Query API and Prefetch? 34. What is Reciprocal Rank Fusion (RRF) versus Distribution-Based Score Fusion (DBSF)? 35. How do you implement multitenancy in Qdrant? 36. Explain the lifecycle of a write operation in Qdrant (WAL, segments, optimizers)? 37. What is the role of the Write-Ahead Log (WAL) in Qdrant? 38. How do you take and restore snapshots in Qdrant? 39. What is the difference between keeping vectors on-disk versus the HNSW index in RAM? 40. Explain the execution flow of a filtered vector search query in Qdrant? 41. When should you choose binary quantization versus scalar quantization? 42. How do you optimize Qdrant for high-throughput production workloads? 43. What is the ACORN-1 method, and why does it matter for filtered search? 44. Explain the internal working of Qdrant's segment optimizer/merging? 45. How do you implement multi-vector (late interaction / ColBERT-style) search in Qdrant? 46. What is the role of the payload index in query planning? 47. How does Qdrant handle consistency during a node failure? 48. Explain the execution flow of a RAG pipeline built with Qdrant as the retrieval layer? 49. What are the trade-offs of self-hosting Qdrant versus using Qdrant Cloud? 50. What is Qdrant's Discovery/Recommendation API used for?

1. What is Qdrant?

Qdrant (pronounced "quadrant") is an open-source vector database and similarity search engine written in Rust, purpose-built for storing high-dimensional vector embeddings and running fast approximate nearest neighbor search over them, alongside rich metadata filtering. It ships as a single, stat

Read full answer

2. What is the purpose of Qdrant?

Qdrant exists to make similarity search over large collections of vector embeddings both fast and practical in production, specifically by treating metadata filtering as a first-class part of the search itself rather than a separate step applied before or after....

Read full answer

3. What are the key features of Qdrant?

Qdrant combines a set of capabilities focused specifically on production-grade vector search, several of which distinguish it from simpler embedded or prototype-focused vector stores. Feature What it Provides HNSW indexing Fast approximate nearest neighbor search over high-dimensional vectors Pay

Read full answer

4. What is a collection in Qdrant?

A collection is the top-level container for a set of points (vectors plus their payloads) in Qdrant, roughly analogous to a table in a relational database, and it defines shared configuration like vector dimensionality, distance metric, and indexing/quantization settings that...

Read full answer

5. What is a point in Qdrant?

A point is the basic unit of data stored in a Qdrant collection — a unique ID, one or more vectors, and an optional payload (a JSON object holding arbitrary structured metadata), roughly comparable to a row in a relational...

Read full answer

6. What is a payload in Qdrant?

A payload is the structured, JSON-formatted metadata attached to a point — separate from its vector — used to store descriptive information like text, tags, categories, numeric values, or nested objects that a query can filter on alongside vector similarity....

Read full answer

7. What is the HNSW algorithm?

HNSW (Hierarchical Navigable Small World) is a graph-based approximate nearest neighbor algorithm that Qdrant uses as its default vector index, organizing vectors into a multi-layer graph structure that lets a search converge on nearby vectors in roughly logarithmic time rather...

Read full answer

8. What distance metrics does Qdrant support?

Qdrant supports several standard distance/similarity metrics for comparing vectors, chosen when a collection is created, and the right choice generally depends on how the embedding model that produced the vectors was trained and normalized. Metric Typical Use Cosine Measures angle...

Read full answer

9. How do you create a collection in Qdrant?

Creating a collection means calling create_collection with a name and a vector configuration specifying at minimum the vector size (dimensionality) and the distance metric to use for similarity comparisons. from qdrant_client import QdrantClient, models client = QdrantClient(url = "http://localho

Read full answer

10. How do you insert/upsert points into a collection?

Points are added or updated in Qdrant using the upsert operation, which either inserts a new point if its ID doesn't already exist, or overwrites the existing point's vector and payload if it does — the same call handles both...

Read full answer

11. What is the difference between REST and gRPC APIs in Qdrant?

Qdrant exposes the same core functionality through two API protocols simultaneously, and most official client libraries let you choose which one to use under the hood, trading off ease of debugging against raw performance. REST API gRPC API HTTP/JSON, human-readable,...

Read full answer

12. What client libraries are available for Qdrant?

Qdrant provides official client libraries in several languages, all built to talk to the same underlying REST and gRPC APIs, so the choice of language doesn't limit which Qdrant features are accessible. Language Notes Python The most widely used client,...

Read full answer

13. What is payload filtering in Qdrant?

Payload filtering lets a query narrow results to points whose payload matches specified conditions, combined directly with vector similarity search rather than as a separate post-processing step, so a query can express something like "find similar vectors, but only where...

Read full answer

14. Define scalar quantization in Qdrant?

Scalar quantization is a vector compression technique that converts each 32-bit floating-point component of a vector into an 8-bit integer, achieving roughly 4x memory reduction with typically minimal accuracy loss, at the cost of some precision in similarity scoring. client.update_collection(...

Read full answer

15. What is a segment in Qdrant?

A segment is a self-contained internal unit within a Qdrant collection, each owning its own vector storage, payload storage, HNSW index, and ID mapping — a collection is composed of one or more segments working together rather than being one...

Read full answer

16. How do you perform a similarity search in Qdrant?

A similarity search means calling the Query API with a query vector, which Qdrant compares against stored vectors using the collection's configured distance metric and returns the closest matches, optionally filtered and limited to a specific count. results = client...

Read full answer

17. What is the purpose of a payload index?

A payload index is a dedicated index built on a specific payload field, letting Qdrant quickly find points matching a filter condition on that field without scanning every point's payload for every query — the payload equivalent of the HNSW...

Read full answer

18. List the supported field types for payload indexing?

Qdrant supports several payload index types, each optimized for a particular kind of data and the filter conditions typically used against it. Index Type Used For keyword Exact-match string filtering, e.g....

Read full answer

19. What is Qdrant Cloud?

Qdrant Cloud is a fully managed hosting offering for Qdrant, handling infrastructure provisioning, scaling, upgrades, and monitoring on the customer's behalf, as an alternative to self-hosting the open-source Qdrant binary directly. It runs the same underlying Qdrant engine as the...

Read full answer

20. What is memmap storage in Qdrant?

Memmap (memory-mapped) storage is a mode where Qdrant stores vector data in files on disk but accesses them through the operating system's memory-mapping mechanism, letting the OS transparently page data in and out of RAM as needed rather than requiring...

Read full answer

21. What is the difference between Qdrant and Pinecone?

Both are widely used for vector similarity search, but they differ in openness and deployment model: Qdrant is open-source and can be self-hosted or run as a managed cloud service, while Pinecone is a closed-source, cloud-only managed service. Qdrant Pinecone...

Read full answer

22. What is the difference between Qdrant and Weaviate?

Both are open-source vector databases with self-hosted and managed cloud options, but they differ in core data modeling philosophy and some architectural emphases. Qdrant Weaviate Rust core; collections of points with flexible JSON payloads....

Read full answer

23. Why is Qdrant implemented in Rust?

Rust was chosen specifically because it provides memory safety guarantees at compile time without needing a garbage collector, which matters a great deal for a system where predictable, low-latency performance under heavy concurrent load is a core requirement. Garbage-collected languages...

Read full answer

24. How does the HNSW graph work internally in Qdrant?

Qdrant's HNSW implementation builds and searches a layered graph where each node is a vector, and edges connect a vector to a set of its approximate nearest neighbors — the specific structure and traversal algorithm are what let search converge...

Read full answer

25. What is the difference between scalar, binary, and product quantization?

All three techniques compress vectors to save memory and speed up distance computation, but they differ substantially in how aggressively they compress and what trade-off in accuracy that compression costs. Scalar Binary Product float32 to int8 per dimension....

Read full answer

26. Explain the internal working of binary quantization and why it's fast?

Binary quantization compresses each dimension of a vector down to just one or two bits, typically by checking whether that dimension's value falls above or below a threshold (often zero, for centered embeddings), turning a vector of floats into a...

Read full answer

27. What is oversampling and rescoring in quantized search?

Oversampling and rescoring is a two-stage retrieval pattern that recovers most of the accuracy lost to quantization: first retrieve more candidates than actually needed using the fast, compressed representation, then re-rank just that smaller candidate set using the original, full-precision...

Read full answer

28. How does Qdrant implement filtering during HNSW traversal?

Rather than running a full vector search first and filtering the results afterward (which risks returning too few results if the filter is highly selective), Qdrant integrates payload filtering directly into the HNSW graph traversal itself, checking each candidate node's...

Read full answer

29. Explain the internal working of Qdrant's sharding and replication?

Sharding splits a collection's data horizontally across multiple nodes so no single machine needs to hold the entire dataset, while replication keeps multiple copies of each shard on different nodes for fault tolerance — the two mechanisms work together to...

Read full answer

30. What consensus protocol does Qdrant use for distributed clusters, and how does it work?

Qdrant uses the Raft consensus algorithm to keep cluster-wide metadata — things like collection configuration, shard placement, and cluster membership — consistent across all nodes in a distributed deployment, even as nodes join, leave, or fail. sequenceDiagram participant Leader part

Read full answer

31. What are named vectors, and when should you use them?

Named vectors let a single point in a collection carry multiple distinct vector representations, each identified by a name, rather than being limited to exactly one vector per point — useful whenever an item genuinely has more than one meaningful...

Read full answer

32. What are sparse vectors in Qdrant?

Sparse vectors represent data using mostly-zero, high-dimensional vectors where only a small subset of dimensions have non-zero values — the format typically produced by keyword-based or learned lexical models like BM25 or SPLADE — stored efficiently as just the non-zero...

Read full answer

33. Explain hybrid search using the Query API and Prefetch?

Qdrant's Query API supports hybrid search through prefetch stages: multiple independent sub-queries (for example, one dense vector search and one sparse vector search) run first, and their results are then combined by an outer fusion query into one final ranked...

Read full answer

34. What is Reciprocal Rank Fusion (RRF) versus Distribution-Based Score Fusion (DBSF)?

Both are fusion methods for combining multiple ranked result lists into one, but they take different approaches to the core challenge that dense and sparse search scores aren't directly comparable — RRF sidesteps the problem by ignoring raw scores, while...

Read full answer

35. How do you implement multitenancy in Qdrant?

Qdrant's recommended multitenancy pattern is partitioning tenants within a single shared collection using a payload field (like tenant_id ), rather than creating a separate collection per tenant, which avoids the operational overhead of managing potentially thousands of small collections. client.

Read full answer

36. Explain the lifecycle of a write operation in Qdrant (WAL, segments, optimizers)?

A write in Qdrant moves through several stages before it's fully reflected in a queryable, optimized index — first ensuring durability, then applying the change to in-memory/segment structures, then eventually being folded into the collection's ongoing background optimization process. flowc

Read full answer

37. What is the role of the Write-Ahead Log (WAL) in Qdrant?

The WAL is an append-only log that records every write operation before it's considered durable, serving as the recovery mechanism that lets Qdrant reconstruct any recent changes that might not have been fully persisted to segment storage if the process...

Read full answer

38. How do you take and restore snapshots in Qdrant?

A snapshot is a point-in-time backup of a collection (or the entire node), which Qdrant can create on demand and later use to restore that collection's exact state — useful for backups, migrating data between clusters, or cloning a collection...

Read full answer

39. What is the difference between keeping vectors on-disk versus the HNSW index in RAM?

Qdrant allows independently configuring whether raw vector data lives on disk or in memory, separately from whether the HNSW index structure itself is kept in RAM, which gives fine-grained control over the memory/performance trade-off beyond the basic in-memory-versus-memmap choice. client.update

Read full answer

40. Explain the execution flow of a filtered vector search query in Qdrant?

A filtered vector search combines HNSW graph traversal with payload condition checking in a single, integrated pass, rather than running two entirely separate operations and merging their results afterward. flowchart TD A[Query: vector + filter] --> B[Query planner inspects filter...

Read full answer

41. When should you choose binary quantization versus scalar quantization?

The choice comes down to how much you're willing to trade accuracy for speed and memory savings, and how well-suited the specific embedding model is to surviving aggressive compression. Choose Scalar Quantization When Choose Binary Quantization When Accuracy is a...

Read full answer

42. How do you optimize Qdrant for high-throughput production workloads?

Tuning Qdrant for high throughput generally means addressing several independent levers together — indexing parameters, memory layout, sharding, and client-side batching — since no single setting alone typically accounts for the full performance gap between a default setup and a...

Read full answer

43. What is the ACORN-1 method, and why does it matter for filtered search?

ACORN-1 is a filtered ANN search technique Qdrant adopted (adapted from the broader ACORN approach) specifically to handle the case where a filter is so selective that standard filtered HNSW traversal becomes inefficient — needing to explore a large portion...

Read full answer

44. Explain the internal working of Qdrant's segment optimizer/merging?

The segment optimizer is a background process that continuously monitors a collection's segments and reorganizes them — merging small segments into larger ones and reclaiming space from deleted points — to keep query performance from degrading as a collection experiences...

Read full answer

45. How do you implement multi-vector (late interaction / ColBERT-style) search in Qdrant?

Multi-vector search stores several vectors per point — for instance, one embedding per token in a ColBERT-style late-interaction model, rather than a single pooled embedding for the whole document — and scores a query against all of them together using...

Read full answer

46. What is the role of the payload index in query planning?

Beyond simply speeding up a lookup on an individual field, payload indexes feed directly into Qdrant's query planner, which uses information about which fields are indexed (and roughly how selective they are) to decide the most efficient overall strategy for...

Read full answer

47. How does Qdrant handle consistency during a node failure?

Qdrant's fault tolerance during a node failure relies on the combination of shard replication and Raft-based consensus: as long as enough replicas of each shard and enough cluster nodes remain available, the cluster continues operating correctly despite the lost node....

Read full answer

48. Explain the execution flow of a RAG pipeline built with Qdrant as the retrieval layer?

A retrieval-augmented generation pipeline using Qdrant separates cleanly into an ingestion phase, run once or incrementally as new content arrives, and a query-time phase, run for every user request, with Qdrant's collection serving as the shared retrieval index connecting the...

Read full answer

49. What are the trade-offs of self-hosting Qdrant versus using Qdrant Cloud?

Choosing between running Qdrant yourself and using the managed Qdrant Cloud offering trades operational control and cost predictability against convenience and reduced infrastructure burden, similar in spirit to the self-hosted-versus-managed decision common across open-source data infrastructure

Read full answer

50. What is Qdrant's Discovery/Recommendation API used for?

Beyond a standard single-query similarity search, Qdrant provides a Recommendation API and a Discovery API for scenarios where relevance is better expressed through multiple example points — some to move toward, some to move away from — rather than a...

Read full answer

«
»

Comments & Discussions