Interview Q&A

Pick a topic — languages & databases — 100+ questions and answers in the center column.

ArangoDB

Interview questions & answers

Documents, graphs, AQL, ArangoSearch, cluster.

102 questions

  1. Question 1

    What is ArangoDB?

    Multi-model database: documents, key/value, and graph in one engine with a unified query language (AQL). Single storage core with optional graph algorithms and Foxx microservices.

    Example code

    RETURN "hello"
  2. Question 2

    What is AQL?

    ArangoDB Query Language—SQL-like but document/graph native; no DDL inside AQL for all admin tasks—some operations via HTTP API/UI.

    Example code

    FOR d IN users FILTER d.active RETURN d
  3. Question 3

    Documents in ArangoDB?

    JSON documents in collections—like MongoDB but with first-class edges for graphs.

    Example code

    INSERT { name: "Ada" } INTO users
  4. Question 4

    Collections types?

    Document collections store vertices or general docs; edge collections store directed edges with _from/_to referencing document IDs.

    Example code

    DOCUMENT("users/key1")
  5. Question 5

    _key, _id, _rev?

    _key unique per collection; _id collection/_key globally; _rev MVCC revision for optimistic concurrency.

    Example code

    FOR v,e,p IN 1..3 OUTBOUND 'users/alice' edges RETURN p
  6. Question 6

    Graph definition?

    Named graph ties vertex collections and edge collections—constrains which edge types connect which vertices.

    Example code

    SHORTEST_PATH(@start, @end, OUTBOUND edges)
  7. Question 7

    Outbound inbound ANY?

    Graph traversal directions in AQL—OUTBOUND, INBOUND, ANY with variable depth min..max.

    Example code

    db.users.ensureIndex({ type: "persistent", fields: ["email"] })
  8. Question 8

    Shortest path AQL?

    SHORTEST_PATH function—weights optional; mind performance on dense graphs.

    Example code

    FOR d IN v_view SEARCH ANALYZER(PHRASE(d.title, "foo"), "text_en") RETURN d
  9. Question 9

    Indexes in ArangoDB?

    Primary, edge (_from/_to), hash, skiplist, fulltext, geo, TTL—ArangoSearch views for advanced text/analytics.

    Example code

    RETURN DOCUMENT("c/1")._rev
  10. Question 10

    ArangoSearch?

    Inverted index views with analyzers—ranking, fuzzy, phrase search across collections.

    Example code

    db._query(`FOR x IN coll FILTER x._key == @k RETURN x`, { k: "a" })
  11. Question 11

    Transactions?

    Multi-document/edge ACID in single server and cluster (with rules)—prefer smaller transactions.

    Example code

    // SmartGraphs / OneShard: cluster features
  12. Question 12

    Sharding in cluster?

    Collections shard by shard key—default _key distribution; graphs need smart graph considerations.

    Example code

    // agency + coordinators
  13. Question 13

    SmartGraphs?

    Enterprise feature co-locating related graph data on same DB server—faster traversals at scale.

    Example code

    // Foxx: mount service
  14. Question 14

    OneShard?

    Co-locate entire graph or collection group—simpler stronger locality.

    Example code

    RETURN PARSE_JSON('{"a":1}')
  15. Question 15

    Replication?

    Leader/follower asynchronous replication—failover with agency consensus in cluster.

    Example code

    RETURN HTTP_GET("http://127.0.0.1:8529/_api/version")
  16. Question 16

    Agency / coordinators?

    Cluster agents maintain config; coordinators parse AQL and fan out to DB servers.

    Example code

    FOR u IN users FILTER u.age > @min RETURN u
  17. Question 17

    Foxx microservices?

    JavaScript services running inside DB process—low-latency data proximity; package and version carefully.

    Example code

    LET x = (FOR y IN t RETURN y)
  18. Question 18

    VelocyPack?

    Binary serialization format—faster than JSON for internal storage and wire in drivers.

    Example code

    FOR d IN c FILTER d.a == 1 SORT d.b LIMIT 10 RETURN d
  19. Question 19

    HTTP REST API?

    Every operation accessible via REST—curl friendly; drivers wrap same API.

    Example code

    FOR d IN c COLLECT g = d.g INTO groups RETURN { g, n: LENGTH(groups) }
  20. Question 20

    bindVars in AQL?

    Parameterized queries prevent injection—always bind user input.

    Example code

    UPSERT { _key: "k" } INSERT { _key: "k", n: 1 } UPDATE { n: OLD.n + 1 } IN c
  21. Question 21

    LET in AQL?

    Subexpressions and subqueries—scope rules simpler than some SQL nested queries.

    Example code

    FOR v,e IN 1..5 OUTBOUND 'users/1' edges OPTIONS { bfs: true, uniqueVertices: "global" } RETURN e
  22. Question 22

    FILTER SORT LIMIT?

    Pipeline clauses—FILTER before SORT/LIMIT for efficiency; use indexes matching FILTER.

    Example code

    // edge weight: use traversal OPTIONS or custom path
  23. Question 23

    COLLECT?

    Aggregation/grouping—similar to SQL GROUP BY with optional INTO keeping groups.

    Example code

    // satellite collections: small lookup replication
  24. Question 24

    UPSERT?

    Update or insert pattern—useful for idempotent ingestion.

    Example code

    arangodump --output /tmp/dump
  25. Question 25

    Traversal depth explosion?

    Unbounded traversals dangerous—cap depth, use pruning filters, and index-backed starts.

    Example code

    FOR u IN users RETURN u._id
  26. Question 26

    Weight attributes on edges?

    Traversal cost functions—shortest path and weighted walks.

    Example code

    // OAuth2 / JWT via deployment
  27. Question 27

    Satellite collections?

    Replicate small lookup collections to every server—join/traverse without remote hops.

    Example code

    RETURN 1
  28. Question 28

    Backup?

    arangodump/arangorestore logical; hot backups enterprise—test restore regularly.

    Example code

    // explain in web UI
  29. Question 29

    Users and permissions?

    Database-level users; collection-level read/write/admin—least privilege for apps.

    Example code

    // rocksdb block_cache
  30. Question 30

    OAuth2 / JWT?

    External auth integration patterns—enterprise deployments common.

    Example code

    // MMFiles removed
  31. Question 31

    Metrics endpoint?

    Prometheus-compatible metrics—scrape for Grafana dashboards.

    Example code

    RETURN GEO_DISTANCE(@a, @b)
  32. Question 32

    Query profiling?

    Explain and profiling in web UI—inspect execution nodes.

    Example code

    RETURN 1
  33. Question 33

    Memory and cache?

    rocksdb engine tuning—block cache, write buffers; OS page cache interaction.

    Example code

    RETURN 33
  34. Question 34

    RocksDB engine?

    Default on-disk LSM storage—compaction tuning matters for write-heavy graphs.

    Example code

    RETURN 34
  35. Question 35

    MMFiles legacy?

    Old storage engine—removed path; migrations completed in supported versions.

    Example code

    RETURN 35
  36. Question 36

    Geo indexes?

    GeoJSON points and polygons—AQL geo functions for proximity.

    Example code

    RETURN 36
  37. Question 37

    AQL execution plan?

    Explain shows execution nodes—optimize FILTER order, index usage, and traversal depth before tuning hardware.

    Example code

    RETURN 37
  38. Question 38

    When to pick ArangoDB?

    Tight document+graph in one system, fewer moving parts than separate document DB + graph DB—verify licensing for enterprise features.

    Example code

    RETURN 38
  39. Question 39

    What is Named graph vs anonymous (ArangoDB)?

    Named graphs enforce schema of allowed edges; anonymous traversals flexible but easier to misuse.

    Example code

    // ArangoDB: Named graph vs anonymous
    RETURN 1
  40. Question 40

    What is PRUNE in traversals (ArangoDB)?

    Early cut branches—critical for performance on large graphs.

    Example code

    // ArangoDB: PRUNE in traversals
    RETURN 1
  41. Question 41

    What is K_PATHS / K_SHORTEST_PATHS (ArangoDB)?

    K shortest paths variants—understand complexity vs k.

    Example code

    // ArangoDB: K_PATHS / K_SHORTEST_PATHS
    RETURN 1
  42. Question 42

    What is Weighted traversals (ArangoDB)?

    Custom weight expressions—validate acyclic assumptions where required.

    Example code

    // ArangoDB: Weighted traversals
    RETURN 1
  43. Question 43

    What is ArangoML (ArangoDB)?

    ML integration story—check current product packaging and support.

    Example code

    // ArangoDB: ArangoML
    RETURN 1
  44. Question 44

    What is Stream cursors (ArangoDB)?

    Large result sets via HTTP cursor API—avoid loading all rows client-side.

    Example code

    // ArangoDB: Stream cursors
    RETURN 1
  45. Question 45

    What is batchSize (ArangoDB)?

    AQL cursor batch tuning—latency vs round trips.

    Example code

    // ArangoDB: batchSize
    RETURN 1
  46. Question 46

    What is async jobs (ArangoDB)?

    Long tasks via job API—poll completion for admin operations.

    Example code

    // ArangoDB: async jobs
    RETURN 1
  47. Question 47

    What is arangoinspect (ArangoDB)?

    Support bundle generator—attach to tickets.

    Example code

    // ArangoDB: arangoinspect
    RETURN 1
  48. Question 48

    What is debugPackage (ArangoDB)?

    Packaged logs and configs—sensitive data review before sharing.

    Example code

    // ArangoDB: debugPackage
    RETURN 1
  49. Question 49

    What is arangobench (ArangoDB)?

    Load testing utility—compare hardware and index choices.

    Example code

    // ArangoDB: arangobench
    RETURN 1
  50. Question 50

    What is deployment mode single (ArangoDB)?

    Development simplicity—no failover until replicated.

    Example code

    // ArangoDB: deployment mode single
    RETURN 1
  51. Question 51

    What is Active Failover (ArangoDB)?

    Automatic leader election with async replication—RPO > 0 typically.

    Example code

    // ArangoDB: Active Failover
    RETURN 1
  52. Question 52

    What is Cluster resilience (ArangoDB)?

    DB servers, coordinators, agents—sizing odd agency for quorum.

    Example code

    // ArangoDB: Cluster resilience
    RETURN 1
  53. Question 53

    What is network latency cluster (ArangoDB)?

    AQL fan-out—keep app near coordinators; reduce cross-DC chatter.

    Example code

    // ArangoDB: network latency cluster
    RETURN 1
  54. Question 54

    What is TLS cluster internal (ArangoDB)?

    Encrypt east-west between nodes—compliance requirement in many shops.

    Example code

    // ArangoDB: TLS cluster internal
    RETURN 1
  55. Question 55

    What is user-defined analyzers (ArangoDB)?

    ArangoSearch text processing—tokenizers and filters per language.

    Example code

    // ArangoDB: user-defined analyzers
    RETURN 1
  56. Question 56

    What is ngram analyzer (ArangoDB)?

    Substring search support—index size grows with ngram settings.

    Example code

    // ArangoDB: ngram analyzer
    RETURN 1
  57. Question 57

    What is stemming analyzers (ArangoDB)?

    Language-aware search—choose analyzer matching content.

    Example code

    // ArangoDB: stemming analyzers
    RETURN 1
  58. Question 58

    What is ArangoSearch primarySort (ArangoDB)?

    Optimize sorted window queries—define in view definition.

    Example code

    // ArangoDB: ArangoSearch primarySort
    RETURN 1
  59. Question 59

    What is storedValues in views (ArangoDB)?

    Covering search hits—trade storage for speed.

    Example code

    // ArangoDB: storedValues in views
    RETURN 1
  60. Question 60

    What is parallel shard query (ArangoDB)?

    Coordinator merges partial results—watch memory on huge fan-out.

    Example code

    // ArangoDB: parallel shard query
    RETURN 1
  61. Question 61

    What is restrictCollections (ArangoDB)?

    Limit traversals to safe sets—security and performance guardrail.

    Example code

    // ArangoDB: restrictCollections
    RETURN 1
  62. Question 62

    What is document API PATCH (ArangoDB)?

    Partial updates REST—mirror AQL UPDATE patterns.

    Example code

    // ArangoDB: document API PATCH
    RETURN 1
  63. Question 63

    What is document API replace (ArangoDB)?

    Full replace—mind lost fields vs merge.

    Example code

    // ArangoDB: document API replace
    RETURN 1
  64. Question 64

    What is multi-model joins (ArangoDB)?

    AQL joins documents and edges—still pay graph locality costs in cluster.

    Example code

    // ArangoDB: multi-model joins
    RETURN 1
  65. Question 65

    What is GRAPH_* functions (ArangoDB)?

    Declarative helpers—compare readability vs raw traversal syntax.

    Example code

    // ArangoDB: GRAPH_* functions
    RETURN 1
  66. Question 66

    What is subquery optimization (ArangoDB)?

    AQL optimizer may inline—verify with explain on upgrades.

    Example code

    // ArangoDB: subquery optimization
    RETURN 1
  67. Question 67

    What is index hints (ArangoDB)?

    Force index use when needed—planner regressions across versions.

    Example code

    // ArangoDB: index hints
    RETURN 1
  68. Question 68

    What is statistics figures (ArangoDB)?

    CARDINALITY etc.—update for better plans after bulk loads.

    Example code

    // ArangoDB: statistics figures
    RETURN 1
  69. Question 69

    What is analyzers in AQL (ArangoDB)?

    TOKENS(), PHRASE()—compose with ArangoSearch views.

    Example code

    // ArangoDB: analyzers in AQL
    RETURN 1
  70. Question 70

    What is geo_contains (ArangoDB)?

    Polygon containment queries—index required for performance.

    Example code

    // ArangoDB: geo_contains
    RETURN 1
  71. Question 71

    What is TTL index (ArangoDB)?

    Expire documents on timestamp—similar pattern to Mongo TTL.

    Example code

    // ArangoDB: TTL index
    RETURN 1
  72. Question 72

    What is unique constraint (ArangoDB)?

    Unique hash/skiplist indexes—handle conflict errors in app.

    Example code

    // ArangoDB: unique constraint
    RETURN 1
  73. Question 73

    What is sparse indexes (ArangoDB)?

    Skip documents missing indexed paths—smaller for optional fields.

    Example code

    // ArangoDB: sparse indexes
    RETURN 1
  74. Question 74

    What is array indexes (ArangoDB)?

    Index all array elements—multikey style expansion.

    Example code

    // ArangoDB: array indexes
    RETURN 1
  75. Question 75

    What is Foxx dependencies (ArangoDB)?

    npm packages in isolated service—audit supply chain.

    Example code

    // ArangoDB: Foxx dependencies
    RETURN 1
  76. Question 76

    What is Foxx queues (ArangoDB)?

    Offload work from requests—still runs in DB process resource budget.

    Example code

    // ArangoDB: Foxx queues
    RETURN 1
  77. Question 77

    What is OAuth2 in Foxx (ArangoDB)?

    Session patterns—prefer external gateway for large auth complexity.

    Example code

    // ArangoDB: OAuth2 in Foxx
    RETURN 1
  78. Question 78

    What is graph analytics Pregel (ArangoDB)?

    Built-in Pregel API for batch graph algorithms—cluster memory planning.

    Example code

    // ArangoDB: graph analytics Pregel
    RETURN 1
  79. Question 79

    What is SmartGraphs enterprise (ArangoDB)?

    Licensing gate—evaluate cost vs query SLA.

    Example code

    // ArangoDB: SmartGraphs enterprise
    RETURN 1
  80. Question 80

    What is Disjoint SmartGraph (ArangoDB)?

    Variant topology—see docs for sharding constraints.

    Example code

    // ArangoDB: Disjoint SmartGraph
    RETURN 1
  81. Question 81

    What is Encryption at rest (ArangoDB)?

    Enterprise feature set—key management integration.

    Example code

    // ArangoDB: Encryption at rest
    RETURN 1
  82. Question 82

    What is LDAP auth (ArangoDB)?

    Directory integration—common enterprise deployments.

    Example code

    // ArangoDB: LDAP auth
    RETURN 1
  83. Question 83

    What is audit logging (ArangoDB)?

    Who accessed what—compliance; tune verbosity.

    Example code

    // ArangoDB: audit logging
    RETURN 1
  84. Question 84

    What is hot backup API (ArangoDB)?

    Enterprise consistent snapshot—automate retention.

    Example code

    // ArangoDB: hot backup API
    RETURN 1
  85. Question 85

    What is arangodump --overwrite (ArangoDB)?

    Restore workflows in CI—seed test clusters.

    Example code

    // ArangoDB: arangodump --overwrite
    RETURN 1
  86. Question 86

    What is docker arangodb (ArangoDB)?

    ARANGO_ROOT_PASSWORD env—never commit secrets; persist /var/lib/arangodb3.

    Example code

    // ArangoDB: docker arangodb
    RETURN 1
  87. Question 87

    What is kubernetes kube-arangodb (ArangoDB)?

    Operator patterns—storage class and resource limits.

    Example code

    // ArangoDB: kubernetes kube-arangodb
    RETURN 1
  88. Question 88

    What is grafana dashboard (ArangoDB)?

    Import community JSON—validate metric names per version.

    Example code

    // ArangoDB: grafana dashboard
    RETURN 1
  89. Question 89

    What is driver async API (ArangoDB)?

    Official drivers Java/JS/Go/Python—connection pooling per process.

    Example code

    // ArangoDB: driver async API
    RETURN 1
  90. Question 90

    What is connection pool size (ArangoDB)?

    Too high hurts server—multiply by pod count consciously.

    Example code

    // ArangoDB: connection pool size
    RETURN 1
  91. Question 91

    What is request timeout (ArangoDB)?

    Set client timeouts—fail fast on stuck coordinators.

    Example code

    // ArangoDB: request timeout
    RETURN 1
  92. Question 92

    What is AQL injection (ArangoDB)?

    String concat of AQL deadly—bindVars only.

    Example code

    // ArangoDB: AQL injection
    RETURN 1
  93. Question 93

    What is escape user input (ArangoDB)?

    Even in bindVars validate allowed values—defense in depth.

    Example code

    // ArangoDB: escape user input
    RETURN 1
  94. Question 94

    What is graphQL gateway (ArangoDB)?

    Common pattern: ArangoDB behind GraphQL—resolvers batch carefully.

    Example code

    // ArangoDB: graphQL gateway
    RETURN 1
  95. Question 95

    What is otel tracing (ArangoDB)?

    Trace AQL and HTTP—correlate with app spans where supported.

    Example code

    // ArangoDB: otel tracing
    RETURN 1
  96. Question 96

    What is Web UI jobs (ArangoDB)?

    Monitor long tasks from the interface—ops visibility for admins.

    Example code

    // ArangoDB: Web UI jobs
    RETURN 1
  97. Question 97

    What is replication applier (ArangoDB)?

    Follower apply thread tuning—lag under write spikes.

    Example code

    // ArangoDB: replication applier
    RETURN 1
  98. Question 98

    What is rocksdb block_cache (ArangoDB)?

    Tune cache size for query working set—avoid double caching blindly.

    Example code

    // ArangoDB: rocksdb block_cache
    RETURN 1
  99. Question 99

    What is rocksdb write_buffer (ArangoDB)?

    Memtable sizing—trade write amplification vs flush frequency.

    Example code

    // ArangoDB: rocksdb write_buffer
    RETURN 1
  100. Question 100

    What is compaction backlog (ArangoDB)?

    Too many L0 files slows reads—monitor rocksdb metrics.

    Example code

    // ArangoDB: compaction backlog
    RETURN 1
  101. Question 101

    What is arangodb.conf (ArangoDB)?

    Main config file—separate data and app paths on durable volumes.

    Example code

    // ArangoDB: arangodb.conf
    RETURN 1
  102. Question 102

    What is process supervisor (ArangoDB)?

    systemd/docker restart policies—fast recovery on crash.

    Example code

    // ArangoDB: process supervisor
    RETURN 1