MongoDB Mastery
MongoDB Mastery lessons / Module 41: Interview Preparation

How to answer MongoDB interview questions

Level 5: Database Architect20 min

A structure for technical answers, what interviewers listen for at each level, and how to use the rest of this site to prepare.

This lesson is interactive. Run every example against an in-browser MongoDB, see explain() plans drawn as trees, and take the quiz.
Open the interactive lesson
You will learn to
  • Structure answers: definition, mechanism, trade-off, example
  • Know what is expected from developers, DBAs and architects
  • Handle design and incident scenarios out loud
  • Plan a two-week preparation schedule

conceptThe concept

A strong technical answer has four parts:

  1. Definition in one sentence ("A covered query is answered from the index alone").
  2. Mechanism: how it works inside ("all filter and projected fields are in the index, so no FETCH; explain shows PROJECTION_COVERED and docsExamined 0").
  3. Trade-off or limit ("multikey indexes cannot cover array fields; _id must be excluded").
  4. Experience: a short real example with numbers ("this cut a dashboard query from 400 ms to 6 ms").
RoleInterviewers probe
DeveloperCRUD semantics, arrays, aggregation, indexes and ESR, schema design, transactions, driver usage
DBA / DBREReplica sets, elections, oplog, backup/restore and PITR, WiredTiger cache, monitoring, upgrades, security, incident handling
ArchitectData modelling at scale, sharding and shard keys, multi-region HA/DR, consistency trade-offs, capacity, migrations, cost

whyWhy it matters

Many candidates know the facts but answer in fragments. Interviewers grade structure, depth (do you know why), and judgement (do you know when not to). Incident questions test calm, methodical thinking more than trivia.

Use caseReal-world scenario

"Our API is slow after a release." A structured answer: clarify scope and metrics; check cluster health (primary, lag, cache, tickets, disk); look at what changed; find top query shapes in the slow log; explain the worst one; identify a COLLSCAN on a new filter; propose an ESR index; build it safely (rolling or off-peak, check write impact); verify p99; add an alert and a query review step to the release process.

Try itExamples

Run and edit these in the interactive lesson.

Practise answering with evidence
// "Is this query efficient?" Show, do not guess.
db.orders.find({ customerId: 42, status: "delivered" }).sort({ createdAt: -1 }).limit(5).explain("executionStats").executionStats

internalsUnder the hood

Two-week plan: days 1-3 levels 1-2 lessons and exercises; days 4-6 indexes, explain, aggregation exercises; days 7-9 replica sets, oplog, WiredTiger, backup with the simulators; days 10-11 sharding and shard key labs; day 12 schema design scenarios; day 13 the interview bank (mark what you know, revisit the rest); day 14 the cheat sheet and mock answers out loud.

Use: Interview bank, Exercises, Architecture simulators, Performance lab, Cheat sheet.

Avoid / preferDo this, not that

Avoid
// Q: "This query is slow. What do you do?"
// A: "Add an index."
Prefer
// A: "I run explain('executionStats') and compare keys and documents
//     examined with documents returned. Then I design an index from the
//     query shape (equality, sort, range), build it, and confirm the
//     numbers dropped with explain again."

Interviewers are checking your method, not your memory. A measured before-and-after answer shows you would not guess on a production system.

Avoid
// A: "MongoDB doesn't support transactions."
Prefer
// A: "Multi-document ACID transactions exist since 4.0 on replica sets
//     and 4.2 on sharded clusters. I still design for single-document
//     atomicity first, because transactions cost latency and retries."

Stale facts are the fastest way to lose credibility. Anchor claims to versions, then explain the trade-off.

PitfallsCommon mistakes

  • Answering "it depends" without saying on what.
  • Reciting defaults without explaining the mechanism.
  • Jumping to sharding for every scale question.
  • In incident questions, proposing fixes before establishing what is wrong.

LimitsWhen not to use it

Do not memorise trivia without the reason behind it: good interviewers follow every answer with "what if" until they find the edge of your understanding. Do not claim experience you do not have. Saying what you would check, and in what order, scores better than a confident wrong answer.

SecuritySecurity notes

Security scenarios are common: "we found an instance open to the internet". Lead with containment (firewall, enable authentication), then rotate every credential that could have been exposed, then use logs and audit data to establish what was accessed. Never paste real production data or credentials into a take-home exercise or a public tool.

ChallengeTry it yourself

Answer "is this query efficient?" with numbers. For delivered orders of customer 42, newest first, limit 5, report keys examined, documents examined and documents returned before and after creating the right index.

Show one solution
One solution
const q = () => db.orders.find({ customerId: 42, status: "delivered" }).sort({ createdAt: -1 }).limit(5).explain("executionStats").executionStats
const before = q()
db.orders.createIndex({ customerId: 1, status: 1, createdAt: -1 })
const after = q()
printjson({
  before: { keys: before.totalKeysExamined, docs: before.totalDocsExamined, returned: before.nReturned },
  after: { keys: after.totalKeysExamined, docs: after.totalDocsExamined, returned: after.nReturned }
})

InterviewQuestions you should be able to answer

Tell me about a production MongoDB incident you handled.

Use STAR with numbers: Situation (system, scale, impact), Task (your role), Action (diagnosis steps with evidence: metrics, logs, explain; mitigation; permanent fix), Result (latency/availability numbers, follow-ups such as alerts, runbooks, review process). Mention what you would do differently.

QuizCheck your understanding

4 questions with instant feedback in the interactive lesson; a wrong answer goes into your review deck.