| 1 | What is Mongoose, and what does it add on top of the raw MongoDB Node.js driver? Node.js › Databases & ORMs (MongoDB/Mongoose, SQL/Sequelize) | Node.js | Databases & ORMs (MongoDB/Mongoose, SQL/Sequelize) | Beginner |
| 2 | How does Sequelize define models and relationships for a relational (SQL) database in Node.js? Node.js › Databases & ORMs (MongoDB/Mongoose, SQL/Sequelize) | Node.js | Databases & ORMs (MongoDB/Mongoose, SQL/Sequelize) | Intermediate |
| 3 | How do you implement database transactions in Node.js using Sequelize to ensure multiple related writes succeed or fail together? Node.js › Databases & ORMs (MongoDB/Mongoose, SQL/Sequelize) | Node.js | Databases & ORMs (MongoDB/Mongoose, SQL/Sequelize) | Intermediate |
| 4 | What is a database migration, and how do tools like Sequelize's migration system or a standalone tool like Knex help manage schema changes over time? Node.js › Databases & ORMs (MongoDB/Mongoose, SQL/Sequelize) | Node.js | Databases & ORMs (MongoDB/Mongoose, SQL/Sequelize) | Intermediate |
| 5 | What is the N+1 query problem in the context of an ORM like Mongoose or Sequelize, and how do you avoid it? Node.js › Databases & ORMs (MongoDB/Mongoose, SQL/Sequelize) | Node.js | Databases & ORMs (MongoDB/Mongoose, SQL/Sequelize) | Advanced |
| 6 | What is the difference between a relational (SQL) database and a NoSQL database, and how does this affect a Node.js application's data layer? Node.js › Databases | Node.js | Databases | Beginner |
| 7 | What is SQL injection, and how does using parameterized queries in Node.js prevent it? Node.js › Databases | Node.js | Databases | Intermediate |
| 8 | What is the N+1 query problem, and how does it commonly arise in a Node.js application using an ORM? Node.js › Databases | Node.js | Databases | Intermediate |
| 9 | What is the difference between a one-to-many and a many-to-many relationship in a relational database, and how is each modeled? Node.js › Databases | Node.js | Databases | Intermediate |
| 10 | What is a database transaction, and how would you implement one in Node.js to ensure multiple related writes either all succeed or all fail together? Node.js › Databases | Node.js | Databases | Advanced |
| 11 | How should passwords be securely stored in a Node.js application's database, and why is bcrypt commonly used? Node.js › Authentication & Authorization | Node.js | Authentication & Authorization | Beginner |
| 12 | What is caching, and why is it commonly used to improve the performance of a Node.js application? Node.js › Caching | Node.js | Caching | Beginner |
| 13 | How do you connect a Node.js application to Redis using the official node-redis client? Node.js › Caching with Redis | Node.js | Caching with Redis | Beginner |
| 14 | How would you set up a basic GraphQL server in Node.js using Apollo Server, and what are schema and resolvers? Node.js › GraphQL with Node.js | Node.js | GraphQL with Node.js | Beginner |
| 15 | What is job idempotency, and why is it critical when designing background job processing? Node.js › Background Jobs & Queues | Node.js | Background Jobs & Queues | Intermediate |
| 16 | How would you cache the result of a database query in Node.js while ensuring the cache is properly invalidated when the underlying data changes? Node.js › Caching | Node.js | Caching | Intermediate |
| 17 | What is negative caching, and why might you deliberately cache the fact that a lookup returned 'not found'? Node.js › Caching | Node.js | Caching | Intermediate |
| 18 | How does Docker Compose simplify local development for a Node.js application that depends on a database and a cache? Node.js › Docker & Deployment | Node.js | Docker & Deployment | Intermediate |
| 19 | What is the try/catch/finally pattern's 'finally' block used for, and how does it behave with async/await? Node.js › Error Handling | Node.js | Error Handling | Intermediate |
| 20 | What is the difference between a validation error and a business-logic error, and how might a Node.js application handle each differently? Node.js › Error Handling | Node.js | Error Handling | Intermediate |
| 21 | How would you set up a basic GraphQL server in Node.js using Apollo Server, defining a schema and resolvers? Node.js › GraphQL | Node.js | GraphQL | Intermediate |
| 22 | How would you implement 'Sign in with GitHub' using Passport's OAuth strategy in an Express application? Node.js › Authentication & Authorization (JWT, OAuth, Passport) | Node.js | Authentication & Authorization (JWT, OAuth, Passport) | Intermediate |
| 23 | What Redis data structures beyond simple string values are useful for a Node.js application, and what are they typically used for? Node.js › Caching with Redis | Node.js | Caching with Redis | Intermediate |
| 24 | What is the Repository pattern, and how does it help decouple business logic from a specific database technology? Node.js › Architecture & Design Patterns | Node.js | Architecture & Design Patterns | Advanced |
| 25 | What is the CQRS (Command Query Responsibility Segregation) pattern, and when is it appropriate to introduce in a Node.js system? Node.js › Architecture & Design Patterns | Node.js | Architecture & Design Patterns | Advanced |
| 26 | What is Multi-Factor Authentication (MFA), and how would you implement Time-based One-Time Password (TOTP) support in a Node.js app? Node.js › Authentication & Authorization | Node.js | Authentication & Authorization | Advanced |
| 27 | What is the principle of least privilege, and how does it apply to designing an authorization system for a multi-tenant Node.js SaaS application? Node.js › Authentication & Authorization | Node.js | Authentication & Authorization | Advanced |
| 28 | What is job de-duplication in a queue system, and how would you prevent the same logical job from being enqueued multiple times? Node.js › Background Jobs & Queues | Node.js | Background Jobs & Queues | Advanced |
| 29 | What are the main cache invalidation strategies (TTL, write-through, cache-aside), and when is each appropriate? Node.js › Caching | Node.js | Caching | Advanced |
| 30 | What is Redis's EXPIRE and how do TTL-based keys interact with Redis's own memory eviction policies under memory pressure? Node.js › Caching | Node.js | Caching | Advanced |
| 31 | How would you implement a write-behind (write-back) caching strategy, and what durability risk does it introduce? Node.js › Caching | Node.js | Caching | Advanced |
| 32 | How would you implement idempotent notification sending to avoid sending a duplicate email if a background job is retried? Node.js › Email & Notifications | Node.js | Email & Notifications | Advanced |
| 33 | How would you design a notification preference center allowing users to control which types of notifications they receive via which channels? Node.js › Email & Notifications | Node.js | Email & Notifications | Advanced |
| 34 | How would you process a very large CSV file in Node.js without loading the entire file into memory? Node.js › File System & File Processing | Node.js | File System & File Processing | Advanced |
| 35 | How would you implement file locking in Node.js to prevent two processes from writing to the same file simultaneously? Node.js › File System & File Processing | Node.js | File System & File Processing | Advanced |
| 36 | What is the N+1 query problem in GraphQL specifically, and how does DataLoader solve it? Node.js › GraphQL | Node.js | GraphQL | Advanced |
| 37 | How would you write automated tests for GraphQL resolvers in Node.js, testing them independently of the full HTTP/schema execution layer? Node.js › GraphQL | Node.js | GraphQL | Advanced |
| 38 | How does Docker Compose simplify running a Node.js application alongside its dependencies (like a database and Redis) during local development? Node.js › Docker & Containerization for Node.js | Node.js | Docker & Containerization for Node.js | Advanced |
| 39 | What is the N+1 query problem specific to GraphQL, and how does DataLoader solve it? Node.js › GraphQL with Node.js | Node.js | GraphQL with Node.js | Advanced |
| 40 | How does distributed data ownership work in microservices -- specifically, why shouldn't multiple services share direct access to the same database? Node.js › Microservices Architecture with Node.js | Node.js | Microservices Architecture with Node.js | Advanced |