🎤 Top 81 Interview Questions

Yeh sabse common Java interview questions hain — tap karke answer kholo.

Ek NoSQL document database hai — data, JSON-like documents (BSON format) mein store hota hai, rigid schema ki zaroorat nahi.
SQL, tables/rows ke saath, fixed schema use karta hai. MongoDB, collections/documents ke saath, flexible schema use karta hai.
Key-value pairs ka ek set hai — SQL row jaisa, lekin ek hi collection ke documents ka structure alag ho sakta hai.
Documents ka group hai — SQL table jaisa. Collections, automatically ban jaati hain jab pehla document insert kiya jaata hai.
Har document ka unique identifier hai — agar explicitly provide nahi kiya jaata, MongoDB automatically ek ObjectId generate kar deta hai.
Binary JSON — MongoDB ka internal storage format hai, jo JSON se zyaada data types support karta hai (jaise Date, ObjectId).
JSON, text-based hai. BSON, binary format hai — extra data types support karta hai aur traversal ke liye optimized hai, faster parsing ke liye.
Sharding se — data ko multiple servers ke beech distribute kiya jaata hai, large-scale applications ke liye.
mongod, database server process hai. mongosh, ek interactive shell hai queries run karne ke liye.
insertOne(), ek single document add karta hai. insertMany(), multiple documents ek hi operation mein add karta hai — network round-trips kam hote hain.
Ek cursor return karta hai — matching documents ko iterate karne ke liye. .toArray() se, ek array mein convert kiya ja sakta hai.
find(), saare matching documents ka cursor return karta hai. findOne(), sirf pehla matching document return karta hai.
Specific fields ko modify karta hai, poore document ko overwrite kiye bina — $set ke bina, poora document REPLACE ho jaata hai.
$inc, numbers ko increment karta hai. $push, array mein ek naya item add karta hai.
deleteOne(), first matching document delete karta hai. deleteMany(), filter ke saare matching documents delete karta hai.
Actual delete karne ke bajaye, ek isDeleted: true flag set kiya jaata hai — production mein aksar safer approach hai.
Agar filter se matching document exist nahi karta, ek naya document create ho jaata hai — "update or insert" ka combination.
Ye operation ATOMIC hai — race conditions avoid karta hai, jo find phir alag se update karne mein ho sakti hain.
"Data jo saath use hota hai, wo saath store hona chahiye" — application ki access patterns ke hisaab se design hota hai.
Embedding, related data ko ek hi document mein nested rakhta hai (fast reads). Referencing, _id se link karta hai — SQL foreign key jaisa.
Jab relationship "one-to-millions" ho (jaise IoT sensor readings) — 16MB document size limit se bachne ke liye, reference karna chahiye.
16MB — unbounded growth waale relationships ko embed karne ke bajaye reference karna chahiye.
Time-series data ko time-based "buckets" mein group karta hai, har reading ke liye separate document banane ke bajaye — document count kaafi kam ho jaata hai.
Ek hi collection mein different-shaped documents rakhne deta hai — jaise different product types, alag fields ke saath.
Collection par validation rules define karta hai — required fields, data types, aur value ranges enforce kiye ja sakte hain.
Nahi — galat schema design se performance problems ho sakti hain, jaise bahut saare joins ki zaroorat.
Comparison operators hain — numeric/date comparisons ke liye ($gt = greater than, $lt = less than).
Ek array ki ANY value se match karta hai — jaise status field, "active" ya "pending" mein se koi ek ho.
$and, saari conditions true honi chahiye. $or, koi bhi ek condition true honi chahiye — dono, logical operators hain.
Implicit AND ki tarah — { status: "active", age: { $gt: 18 } } dono conditions ko satisfy karna zaroori hai.
find() ka second argument hai — kaun se fields return honge specify karta hai. 1 = include, 0 = exclude.
Client ko user data return karte waqt, sensitive information (password hash) accidentally expose hone se bachne ke liye.
1 = ascending order, -1 = descending order.
MongoDB ko har document ko skip karne se pehle scan karna padta hai — cursor-based pagination, large datasets ke liye behtar hai.
Sirf "starts-with" patterns ke alawa, regex queries generally indexes efficiently use nahi kar paatin — text index behtar performance deta hai.
Ek array of stages hai — har stage documents ko transform karta hai, aur result agle stage ko pass karta hai.
find() ki tarah kaam karta hai — query condition ke matching documents ko agle stage tak pass karta hai. Pipeline ke shuru mein use karna best hai.
Ek "_id" field ke hisaab se documents ko group karta hai — $sum, $avg jaise accumulators se, har group ke liye statistics calculate kiye ja sakte hain.
SQL JOIN ka MongoDB equivalent hai — do collections ke documents ko match karke join karta hai, left outer join ki tarah.
Ek array field ko "flatten" karta hai — har array element ke liye ek separate document banata hai. $lookup ke baad, aksar use hota hai.
$push, duplicates ke saath array collect karta hai. $addToSet, sirf unique values collect karta hai — duplicates remove kar deta hai.
Isse agle stages ke liye data volume kam ho jaata hai, aur indexes ka bhi fayda uthaya ja sakta hai, sirf pehle stage mein.
Large aggregations ke liye, jab data, 100MB memory limit se zyaada hota hai — disk use karne ki permission deta hai.
Ek B-tree data structure hai jo field values ko efficiently searchable order mein store karta hai — queries ko fast banata hai.
MongoDB automatically, _id par ek index banata hai — har collection mein default se ye index exist karta hai, delete nahi kiya ja sakta.
Multiple fields ko ek saath index karta hai — field order matter karta hai (jaise "ESR" rule follow kiya jaata hai).
Ek compound index {a:1, b:1, c:1}, queries ko support karta hai jo {a}, {a,b}, ya {a,b,c} par filter/sort karti hain — {b} ya {c} akele par nahi.
Duplicate values ko prevent karta hai — insert/update karne par error throw hota hai agar value pehle se exist karti hai.
Documents ko ek certain time ke baad automatically delete kar deta hai — jaise session data ya temporary logs.
Query execution ki detailed information — totalDocsExamined aur nReturned compare karna important hai performance diagnose karne ke liye.
COLLSCAN, matlab index use nahi hua (collection scan). IXSCAN, matlab ek index efficiently use hua.
Ek ODM (Object Data Modeling) library hai — schemas define karke, MongoDB ke upar structure aur validation add karta hai.
Field names aur unke types — required, unique, min/max jaise validation rules bhi yahi specify kiye jaate hain.
createdAt/updatedAt fields ko automatically manage karta hai — manually track karne ki zaroorat nahi.
Schema se documents banane ki "factory" hai — Model ke through hi actual database operations (create, find, update) perform kiye jaate hain.
Ek document save hone se pehle run hota hai — jaise password ko hash karne ke liye common use-case hai.
Check karta hai ki ek field actually change hui hai ya nahi — password hashing ke liye zaroori hai, warna har update par password dobara hash ho jaayega.
Reference (_id) ki jagah, actual related data ko automatically fetch karke embed kar deta hai — manually ek separate query karne ki zaroorat nahi.
populate(), internally ek separate query run karta hai — SQL ke N+1 problem jaisi situation ban sakti hai.
Ek group of mongod processes hai, jo same data set maintain karte hain — ek primary (writes accept karta hai) aur multiple secondaries.
Automatic "election" hoti hai — secondaries mein se ek naya primary ban jaata hai, manual intervention ke bina.
Horizontal scaling ka MongoDB ka way hai — data ko multiple servers (shards) mein distribute kiya jaata hai.
Router process hai — client requests ko correct shard(s) par route karta hai, client ko pata nahi chalta ki data kitne shards mein spread hai.
High cardinality (bahut saare unique values) aur even distribution — data, shards ke beech evenly spread hona chahiye.
"Hotspotting" ka cause ban sakte hain — saare naye writes ek hi shard par jaate hain, jisse woh shard overloaded ho jaata hai.
Ek replica set hota hai — sharding (scalability) aur replication (availability) dono ke benefits combine kiye jaate hain.
Nahi — default mein disabled hoti hai (local development ke liye). Production mein --auth flag se enable kiya jaata hai.
Default authentication mechanism hai — username/password based hai, lekin password kabhi plain text mein network par nahi jaata.
Users ko roles assign kiye jaate hain, jo permissions DEFINE karte hain — jaise read, readWrite roles.
Har user/application ko sirf utni permissions deni chahiye jitni zaroori hai — root/admin roles everywhere use karna risky hai.
mongodump, ek database (ya specific collections) ka binary backup create karta hai. mongorestore, ise waapas restore karne ke liye use hota hai.
Ek fully-managed database-as-a-service hai — setup, patching, backups, monitoring, aur scaling sab automatically handle hote hain.
Small projects aur learning ke liye — production-grade features ke bina, bina cost ke MongoDB explore karne ke liye.
Agar ek document insert fail hota hai, baaki saare documents insert karne ki koshish jaari rakhta hai — default (ordered: true) mein, fail hone ke baad wale documents insert nahi hote.
Check karta hai ki ek array mein kam se kam ek element hai jo MULTIPLE conditions ko simultaneously satisfy karta hai.
Multiple different aggregation pipelines ko, ek hi set of input documents par parallel mein run karta hai — jaise "results" aur "totalCount" dono ek hi query mein.
Sirf un documents ko index karta hai jo ek specified filter condition match karte hain — index size kam karta hai, write performance improve karta hai.
Plain JavaScript objects return karti hain, Mongoose document instances ke bajaye — Mongoose ka overhead (getters, virtuals, change tracking) skip ho jaata hai.
Reference (_id) store karte hue, saath mein kuch frequently-accessed fields bhi embed kiye jaate hain — populate/lookup ki zaroorat kam hoti hai.
Ek sharded cluster ka metadata — kaun sa data kaun se shard par hai, ye information.
Oplog (operations log) ka use karke, daily backups ke alawa, kisi bhi specific timestamp par restore kiya ja sakta hai.