Master technical and career interviews with structured answers—short definition, real examples, pitfalls, and how to answer in 60–90 seconds.
Short answer: utomatically. Sharded Cluster: Used for horizontal scaling. It splits data across multiple servers (shards) based on a shard key. Each shard holds a portion of the data, and a mongos router directs queries…
Short answer: Replica Set: A group of MongoDB servers that maintain the same data. Explain a bit more It provides high availability and data redundancy by replicating data across multiple servers. If the primary server g…
Short answer: find(): Returns a cursor to all documents that match the query. You can iterate over the results using .forEach() or convert them to an array with .toArray(). Example code db.collection.find({ age: { $gt: 3…
Short answer: And count occurrences { $sort: { count: -1 } } // Sort by count in descending order ]); nd count occurrences { $sort: { count: -1 } } // Sort by count in descending order ]); And count occurrences { $sort:…
Short answer: How do you use it? The Aggregation Framework in MongoDB is used to perform complex data processing tasks such as grouping, filtering, sorting, and reshaping documents. It uses a pipeline of stages to proces…
Short answer: You can use the updateOne(), updateMany(), or replaceOne() methods to update data. Example code db.collection.updateOne({ name: "Alice" }, { $set: { age: 27 } }); $set updates the value of a field…
Short answer: MongoDB provides multi-document transactions starting with version 4.0. This allows you to execute multiple operations in a transaction, ensuring ACID properties (Atomicity, Consistency, Isolation, Durabili…
Short answer: ccessed in the database. Since MongoDB is schema-less, data modeling involves deciding how to structure documents, collections, and their relationships (embedded vs. referenced documents) to balance perform…
Short answer: Data modeling in MongoDB refers to the design of how data will be stored, organized, and accessed in the database. Since MongoDB is schema-less, data modeling involves deciding how to structure documents, c…
Short answer: In MongoDB, relationships can be handled in two ways: Embedded documents: Storing related data within a single document (best for one-to-many relationships). Example code A blog post with comments as an emb…
Short answer: A document schema defines the structure, rules, and validations for documents in a collection. MongoDB is schema-less by default, but you can enforce schema validation rules using MongoDB schema validation.…
Short answer: Data validation in MongoDB can be implemented using JSON Schema or custom validation rules to ensure data consistency. Example (using JSON Schema): db.createCollection("products", { validator: { $…
Short answer: MongoDB Atlas is a fully-managed cloud database service provided by MongoDB Inc. It offers: Automated backups, scaling, and updates. Multi-cloud support (AWS, GCP, Azure). Advanced security features like en…
Short answer: Indexing: Create appropriate indexes to optimize query performance. Sharding: Distribute large datasets across multiple servers. Caching: Cache frequently accessed data. Aggregation optimization: Use $match…
Short answer: Database security refers to the practices, tools, and measures used to protect a database from unauthorized access, misuse, modification, or destruction of its data. Explain a bit more It ensures the confid…
Short answer: ccess controls. Privilege Escalation: Attackers gaining elevated permissions or access levels. Malicious Insiders: Employees or authorized users intentionally or unintentionally leaking or modifying data. D…
Short answer: Common database security risks include: SQL Injection: Malicious queries that can compromise the database if the input is not properly validated. Explain a bit more Unauthorized Access: Users gaining access…
Short answer: s data, not executable code. - Example in MySQL (using PDO in PHP) $stmt = $pdo->prepare('SELECT * FROM users WHERE username = :username AND password = :password'); $stmt->execute(['username' => $u…
Short answer: SQL Injection is a type of attack where an attacker inserts or manipulates malicious SQL code into a query, which can compromise the database. Explain a bit more It usually happens when user input is improp…
Short answer: uthorized users based on roles. Each role defines a set of permissions (what actions can be performed on which database objects). Steps to implement RBAC: Real-world example (ShopNest) ShopNest’s SQL Server…
Short answer: Role-Based Access Control (RBAC) is a method for restricting system access to authorized users based on roles. Each role defines a set of permissions (what actions can be performed on which database objects…
Short answer: And SQL statements in precompiled code, making it harder for attackers to inject malicious code. Explain a bit more Roles in database security: Input Validation: Stored procedures allow you to validate user…
Short answer: Stored Procedures can help improve database security by encapsulating business logic and SQL statements in precompiled code, making it harder for attackers to inject malicious code. Explain a bit more Roles…
Short answer: LTER DATABASE MyDatabase SET ENCRYPTION ON; Column-Level Encryption: For encrypting specific columns. CREATE CERTIFICATE MyCertificate WITH SUBJECT = 'My Certificate'; CREATE SYMMETRIC KEY MySymmetricKey WI…
Short answer: Encryption is essential for protecting sensitive data both at rest (on disk) and in transit (during communication). Explain a bit more SQL Server: Transparent Data Encryption (TDE): Encrypts data at rest wi…
SQL & Databases SQL Server Tutorial · SQL
Short answer: utomatically. Sharded Cluster: Used for horizontal scaling. It splits data across multiple servers (shards) based on a shard key. Each shard holds a portion of the data, and a mongos router directs queries to the correct shard. Sharding helps manage large datasets by distributing the load.
ShopNest’s SQL Server database stores customers, products, and orders. Good indexes and clear foreign keys keep checkout queries fast and safe.
SQL & Databases SQL Server Tutorial · SQL
Short answer: Replica Set: A group of MongoDB servers that maintain the same data.
It provides high availability and data redundancy by replicating data across multiple servers. If the primary server goes down, one of the secondaries can be promoted to primary automatically. Sharded Cluster: Used for horizontal scaling. It splits data across multiple servers (shards) based on a shard key. Each shard holds a portion of the data, and a mongos router directs queries to the correct shard. Sharding helps manage large datasets by distributing the load.
ShopNest’s SQL Server database stores customers, products, and orders. Good indexes and clear foreign keys keep checkout queries fast and safe.
SQL & Databases SQL Server Tutorial · SQL
Short answer: find(): Returns a cursor to all documents that match the query. You can iterate over the results using .forEach() or convert them to an array with .toArray().
db.collection.find({ age: { $gt: 30 } }); findOne(): Returns the first document that matches the query, or null if no document is found. Example: db.collection.findOne({ name: "Alice" });
ShopNest’s SQL Server database stores customers, products, and orders. Good indexes and clear foreign keys keep checkout queries fast and safe.
SQL & Databases SQL Server Tutorial · SQL
Short answer: And count occurrences { $sort: { count: -1 } } // Sort by count in descending order ]); nd count occurrences { $sort: { count: -1 } } // Sort by count in descending order ]); And count occurrences { $sort: { count: -1 } } // Sort by count in descending order ]); nd count occurrences { $sort: { count: -1 } } // Sort by count in descending order ]);
ShopNest’s SQL Server database stores customers, products, and orders. Good indexes and clear foreign keys keep checkout queries fast and safe.
SQL & Databases SQL Server Tutorial · SQL
Short answer: How do you use it? The Aggregation Framework in MongoDB is used to perform complex data processing tasks such as grouping, filtering, sorting, and reshaping documents. It uses a pipeline of stages to process documents:
db.collection.aggregate([ { $match: { status: "active" } }, // Filter documents { $group: { _id: "$age", count: { $sum: 1 } } }, // Group by age and count occurrences { $sort: { count: -1 } } // Sort by count in descending order ]);
ShopNest’s SQL Server database stores customers, products, and orders. Good indexes and clear foreign keys keep checkout queries fast and safe.
SQL & Databases SQL Server Tutorial · SQL
Short answer: You can use the updateOne(), updateMany(), or replaceOne() methods to update data.
db.collection.updateOne({ name: "Alice" }, { $set: { age: 27 } }); $set updates the value of a field. $inc increments a field's value.
ShopNest’s SQL Server database stores customers, products, and orders. Good indexes and clear foreign keys keep checkout queries fast and safe.
SQL & Databases SQL Server Tutorial · SQL
Short answer: MongoDB provides multi-document transactions starting with version 4.0. This allows you to execute multiple operations in a transaction, ensuring ACID properties (Atomicity, Consistency, Isolation, Durability) across multiple documents and collections.
const session = client.startSession(); try { session.startTransaction(); db.collection1.updateOne({ _id: 1 }, { $set: { status: "completed" } }, { session }); db.collection2.updateOne({ _id: 2 }, { $set: { status: "shipped" } }, { session }); session.commitTransaction(); } catch (error) { session.abortTransaction(); } finally { session.endSession(); }
Checkout wraps stock decrement + order insert in a transaction so you never sell stock you do not have.
SQL & Databases SQL Server Tutorial · SQL
Short answer: ccessed in the database. Since MongoDB is schema-less, data modeling involves deciding how to structure documents, collections, and their relationships (embedded vs. referenced documents) to balance performance, scalability, and ease of querying.
ShopNest’s SQL Server database stores customers, products, and orders. Good indexes and clear foreign keys keep checkout queries fast and safe.
SQL & Databases SQL Server Tutorial · SQL
Short answer: Data modeling in MongoDB refers to the design of how data will be stored, organized, and accessed in the database. Since MongoDB is schema-less, data modeling involves deciding how to structure documents, collections, and their relationships (embedded vs. referenced documents) to balance performance, scalability, and ease of querying.
ShopNest’s SQL Server database stores customers, products, and orders. Good indexes and clear foreign keys keep checkout queries fast and safe.
SQL & Databases SQL Server Tutorial · SQL
Short answer: In MongoDB, relationships can be handled in two ways: Embedded documents: Storing related data within a single document (best for one-to-many relationships).
A blog post with comments as an embedded array. Referenced documents: Storing related data in separate collections and using references (best for many-to-many or large datasets). Example: A customer document may reference an order document by storing the order’s _id in the customer document.
ShopNest’s SQL Server database stores customers, products, and orders. Good indexes and clear foreign keys keep checkout queries fast and safe.
SQL & Databases SQL Server Tutorial · SQL
Short answer: A document schema defines the structure, rules, and validations for documents in a collection. MongoDB is schema-less by default, but you can enforce schema validation rules using MongoDB schema validation. Example: db.createCollection("users", { validator: { $jsonSchema: { bsonType: "object", required: ["name", "email"], properties: { name: { bsonType: "string" }, email: { bsonType: "string" } }
}
} });
ShopNest’s SQL Server database stores customers, products, and orders. Good indexes and clear foreign keys keep checkout queries fast and safe.
SQL & Databases SQL Server Tutorial · SQL
Short answer: Data validation in MongoDB can be implemented using JSON Schema or custom validation rules to ensure data consistency. Example (using JSON Schema): db.createCollection("products", { validator: { $jsonSchema: { bsonType: "object", required: ["product_name", "price"], properties: { product_name: { bsonType: "string" }, price: { bsonType: "double", minimum: 0 } }
}
} });
ShopNest’s SQL Server database stores customers, products, and orders. Good indexes and clear foreign keys keep checkout queries fast and safe.
SQL & Databases SQL Server Tutorial · SQL
Short answer: MongoDB Atlas is a fully-managed cloud database service provided by MongoDB Inc. It offers: Automated backups, scaling, and updates. Multi-cloud support (AWS, GCP, Azure). Advanced security features like encryption and IP whitelisting. Monitoring and performance optimization tools. Global replication across different regions.
ShopNest’s SQL Server database stores customers, products, and orders. Good indexes and clear foreign keys keep checkout queries fast and safe.
SQL & Databases SQL Server Tutorial · SQL
Short answer: Indexing: Create appropriate indexes to optimize query performance. Sharding: Distribute large datasets across multiple servers. Caching: Cache frequently accessed data. Aggregation optimization: Use $match early in the aggregation pipeline. Avoid joins: MongoDB performs best when data is denormalized or embedded. Database Security
ShopNest adds an index on Orders(CustomerId, CreatedAt) because “my recent orders” is queried constantly.
SQL & Databases SQL Server Tutorial · SQL
Short answer: Database security refers to the practices, tools, and measures used to protect a database from unauthorized access, misuse, modification, or destruction of its data.
It ensures the confidentiality, integrity, and availability (often referred to as the CIA triad) of the data stored within the database. Why it's important: Confidentiality: Protects sensitive data from unauthorized access (e.g., personal information, financial data). Integrity: Ensures data remains accurate, consistent, and unaltered by unauthorized users. Availability: Ensures data is available when needed and prevents disruptions from threats like ransomware or DDoS attacks.
SQL & Databases SQL Server Tutorial · SQL
Short answer: ccess controls. Privilege Escalation: Attackers gaining elevated permissions or access levels. Malicious Insiders: Employees or authorized users intentionally or unintentionally leaking or modifying data. Denial of Service (DoS): Attackers overwhelming the database with requests, making it unavailable to legitimate users. Backup Exposure:… Unencrypted or……… improperly secured backup files that are ccessible to…
ShopNest’s SQL Server database stores customers, products, and orders. Good indexes and clear foreign keys keep checkout queries fast and safe.
SQL & Databases SQL Server Tutorial · SQL
Short answer: Common database security risks include: SQL Injection: Malicious queries that can compromise the database if the input is not properly validated.
Unauthorized Access: Users gaining access to sensitive data without permission. Data Breaches: Exposing sensitive data due to insufficient encryption or weak access controls. Privilege Escalation: Attackers gaining elevated permissions or access levels. Malicious Insiders: Employees or authorized users intentionally or unintentionally leaking or modifying data. Denial of Service (DoS): Attackers overwhelming the database with requests, making it unavailable to legitimate users. Backup Exposure: Unencrypted or improperly secured backup files that are accessible to unauthorized users.
ShopNest’s SQL Server database stores customers, products, and orders. Good indexes and clear foreign keys keep checkout queries fast and safe.
SQL & Databases SQL Server Tutorial · SQL
Short answer: s data, not executable code. - Example in MySQL (using PDO in PHP) $stmt = $pdo->prepare('SELECT * FROM users WHERE username = :username AND password = :password'); $stmt->execute(['username' => $username, 'password' => $password]); ● Input Validation: Always validate user input by checking for expected data types, lengths, and ranges. s data, not…… executable code. - Example in MySQL (using PDO in PHP) $stmt =…
$pdo->prepare('SELECT * FROM users WHERE username = :username AND password = :password'); $stmt->execute(['username' => $username, 'password' => $password]); ● Input Validation: Always validate user input by checking for expected data types, lengths, and ranges. Escaping User Input:… s data, not executable code. - Example in MySQL (using PDO in PHP) $stmt = $pdo->prepare('SELECT * FROM users WHERE username = :username AND password = :password'); $stmt->execute(['username' => $username, 'password' => $password]); ● Input Validation: Always validate user input by checking for expected data types, lengths, and ranges. Escaping…
ShopNest’s SQL Server database stores customers, products, and orders. Good indexes and clear foreign keys keep checkout queries fast and safe.
SQL & Databases SQL Server Tutorial · SQL
Short answer: SQL Injection is a type of attack where an attacker inserts or manipulates malicious SQL code into a query, which can compromise the database.
It usually happens when user input is improperly sanitized or validated. Prevention techniques: Use Prepared Statements/Parameterized Queries: This ensures that user input is treated as data, not executable code. - Example in MySQL (using PDO in PHP) $stmt = $pdo->prepare('SELECT * FROM users WHERE username = :username AND password = :password'); $stmt->execute(['username' => $username, 'password' => $password]); ● Input Validation: Always validate user input by checking for expected data types, lengths, and ranges. Escaping User Input: If parameters cannot be parameterized, make sure all user input is properly escaped. Least Privilege Principle: Limit database user permissions to only those necessary to perform their tasks. Web Application Firewalls (WAF): Use WAFs to detect and block SQL injection attacks.
ShopNest’s SQL Server database stores customers, products, and orders. Good indexes and clear foreign keys keep checkout queries fast and safe.
SQL & Databases SQL Server Tutorial · SQL
Short answer: uthorized users based on roles. Each role defines a set of permissions (what actions can be performed on which database objects). Steps to implement RBAC:
ShopNest’s SQL Server database stores customers, products, and orders. Good indexes and clear foreign keys keep checkout queries fast and safe.
SQL & Databases SQL Server Tutorial · SQL
Short answer: Role-Based Access Control (RBAC) is a method for restricting system access to authorized users based on roles. Each role defines a set of permissions (what actions can be performed on which database objects). Steps to implement RBAC:
ShopNest’s SQL Server database stores customers, products, and orders. Good indexes and clear foreign keys keep checkout queries fast and safe.
SQL & Databases SQL Server Tutorial · SQL
Short answer: And SQL statements in precompiled code, making it harder for attackers to inject malicious code.
Roles in database security: Input Validation: Stored procedures allow you to validate user inputs at the database level, preventing malicious input from being executed. UPDATE employees SET salary = new_salary WHERE id = emp_id; END IF; END; And SQL statements in precompiled code, making it harder for attackers to inject malicious code. Roles in database security: Input Validation: Stored procedures allow you to validate user inputs at the database level, preventing malicious input from being executed. UPDATE employees SET salary = new_salary WHERE id = emp_id; END IF; END;
ShopNest’s SQL Server database stores customers, products, and orders. Good indexes and clear foreign keys keep checkout queries fast and safe.
SQL & Databases SQL Server Tutorial · SQL
Short answer: Stored Procedures can help improve database security by encapsulating business logic and SQL statements in precompiled code, making it harder for attackers to inject malicious code.
Roles in database security: Input Validation: Stored procedures allow you to validate user inputs at the database level, preventing malicious input from being executed. Preventing Direct Access: By using stored procedures, users can be given permissions to execute specific procedures rather than direct access to the underlying tables. Encapsulation of Business Logic: The logic within stored procedures is not visible to the end-user, reducing the attack surface. Audit Logging: Stored procedures can include logic to log user activity for auditing and compliance purposes. Example: Instead of allowing users to execute arbitrary INSERT or UPDATE statements, you can give them permission to execute a specific stored procedure that does the necessary validation and modification of data. CREATE PROCEDURE update_salary(IN emp_id INT, IN new_salary DECIMAL) BEGIN IF new_salary > 0 THEN
UPDATE employees SET salary = new_salary WHERE id = emp_id; END IF; END;
ShopNest’s SQL Server database stores customers, products, and orders. Good indexes and clear foreign keys keep checkout queries fast and safe.
SQL & Databases SQL Server Tutorial · SQL
Short answer: LTER DATABASE MyDatabase SET ENCRYPTION ON; Column-Level Encryption: For encrypting specific columns. CREATE CERTIFICATE MyCertificate WITH SUBJECT = 'My Certificate'; CREATE SYMMETRIC KEY MySymmetricKey WITH ALGORITHM = AES_256 ENCRYPTION BY CERTIFICATE MyCertificate; OPEN SYMMETRIC KEY MySymmetricKey DECRYPTION BY CERTIFICATE MyCertificate; PostgreSQL: pgcrypto extension provides functions for encrypting data.
ShopNest’s SQL Server database stores customers, products, and orders. Good indexes and clear foreign keys keep checkout queries fast and safe.
SQL & Databases SQL Server Tutorial · SQL
Short answer: Encryption is essential for protecting sensitive data both at rest (on disk) and in transit (during communication).
SQL Server: Transparent Data Encryption (TDE): Encrypts data at rest without requiring application changes. CREATE DATABASE ENCRYPTION KEY; ALTER DATABASE MyDatabase SET ENCRYPTION ON; Column-Level Encryption: For encrypting specific columns. CREATE CERTIFICATE MyCertificate WITH SUBJECT = 'My Certificate'; CREATE SYMMETRIC KEY MySymmetricKey WITH ALGORITHM = AES_256 ENCRYPTION BY CERTIFICATE MyCertificate; OPEN SYMMETRIC KEY MySymmetricKey DECRYPTION BY CERTIFICATE MyCertificate; PostgreSQL: pgcrypto extension provides functions for encrypting data. SELECT pgp_sym_encrypt('Sensitive Data', 'encryption_key'); MySQL: Encryption Functions: MySQL provides functions like AES_ENCRYPT and AES_DECRYPT. SELECT AES_ENCRYPT('Sensitive Data', 'encryption_key'); SELECT AES_DECRYPT(encrypted_data, 'encryption_key'); For all databases, consider using SSL/TLS for encrypting data in transit.
ShopNest’s SQL Server database stores customers, products, and orders. Good indexes and clear foreign keys keep checkout queries fast and safe.