Bird
Raised Fist0
Node.jsframework~5 mins

Health check endpoints in Node.js - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a health check endpoint in a web service?
A health check endpoint is a special URL in a web service that returns a simple response to show the service is running and healthy.
Click to reveal answer
beginner
Why are health check endpoints important in Node.js applications?
They help monitoring tools and load balancers know if the app is working well or needs restarting, improving reliability.
Click to reveal answer
beginner
Which HTTP status code is commonly returned by a healthy health check endpoint?
HTTP 200 OK means the service is healthy and responding correctly.
Click to reveal answer
beginner
How can you implement a simple health check endpoint in Express.js?
Add a route like app.get('/health', (req, res) => res.send('OK')) that returns a 200 status and a simple message.
Click to reveal answer
intermediate
What extra checks might a health check endpoint perform besides just responding?
It can check database connections, external services, or disk space to confirm the app is fully healthy.
Click to reveal answer
What HTTP status code should a healthy health check endpoint return?
A500 Internal Server Error
B404 Not Found
C302 Redirect
D200 OK
Which Node.js framework is commonly used to create health check endpoints?
AExpress.js
BReact
CVue
DAngular
What is the main purpose of a health check endpoint?
ATo serve the main website content
BTo show the app is running and healthy
CTo handle user login
DTo store user data
Which of these is NOT a typical check in a health check endpoint?
AUser password validation
BExternal API availability
CDisk space availability
DDatabase connection status
How often should health check endpoints be called by monitoring tools?
AOnly once when the app starts
BNever, they are manual checks
CRegularly, like every few seconds or minutes
DOnly when errors occur
Explain what a health check endpoint is and why it is useful in Node.js applications.
Think about how servers tell if they are okay.
You got /4 concepts.
    Describe how you would create a simple health check endpoint using Express.js.
    Focus on the route and response.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of a health check endpoint in a Node.js application?
      easy
      A. To confirm the app is running and responsive
      B. To handle user login requests
      C. To serve static files like images
      D. To connect to the database

      Solution

      1. Step 1: Understand the role of health check endpoints

        Health check endpoints are designed to verify if the application is alive and can respond to requests.
      2. Step 2: Differentiate from other endpoints

        Endpoints for login, static files, or database connections serve different purposes unrelated to health checks.
      3. Final Answer:

        To confirm the app is running and responsive -> Option A
      4. Quick Check:

        Health check = confirms app is alive [OK]
      Hint: Health check endpoints confirm app status quickly [OK]
      Common Mistakes:
      • Confusing health check with user authentication
      • Thinking health check serves static content
      • Assuming health check manages database connections
      2. Which of the following is the correct way to define a simple health check endpoint using Express in Node.js?
      easy
      A. app.listen('/health', () => console.log('OK'))
      B. app.post('/health', (req, res) => res.send('OK'))
      C. app.get('/health', (req, res) => res.send('OK'))
      D. app.use('/health', (req, res) => res.send('OK'))

      Solution

      1. Step 1: Identify the HTTP method for health checks

        Health checks typically use GET requests to allow simple status queries.
      2. Step 2: Check Express syntax for route definition

        Using app.get with a path and a callback sending a response is the correct pattern.
      3. Final Answer:

        app.get('/health', (req, res) => res.send('OK')) -> Option C
      4. Quick Check:

        GET route with res.send('OK') = correct syntax [OK]
      Hint: Health checks use GET routes with res.send [OK]
      Common Mistakes:
      • Using POST instead of GET for health checks
      • Using app.use which matches all methods
      • Confusing app.listen with route handling
      3. Given this Express code snippet, what will the response be when a client requests /health?
      const express = require('express');
      const app = express();
      app.get('/health', (req, res) => {
        res.json({ status: 'ok', uptime: process.uptime() });
      });
      app.listen(3000);
      medium
      A. No response because the route is not defined
      B. A plain text 'ok' message
      C. An error because res.json is not a function
      D. A JSON object with status 'ok' and uptime in seconds

      Solution

      1. Step 1: Analyze the route handler

        The route '/health' uses res.json to send a JSON object with keys 'status' and 'uptime'.
      2. Step 2: Understand process.uptime()

        process.uptime() returns the number of seconds the Node.js process has been running, a number value.
      3. Final Answer:

        A JSON object with status 'ok' and uptime in seconds -> Option D
      4. Quick Check:

        res.json sends JSON = JSON object response [OK]
      Hint: res.json sends JSON object, not plain text [OK]
      Common Mistakes:
      • Thinking res.json is undefined
      • Expecting plain text instead of JSON
      • Assuming route is missing or broken
      4. Identify the error in this health check endpoint code and choose the fix:
      const express = require('express');
      const app = express();
      app.get('/health', (req, res) => {
        res.sendStatus(200).send('OK');
      });
      app.listen(3000);
      medium
      A. Replace res.sendStatus(200).send('OK') with res.status(200).send('OK')
      B. Change app.get to app.post
      C. Remove res.send('OK') and keep only res.sendStatus(200)
      D. Add next parameter and call next() after res.sendStatus

      Solution

      1. Step 1: Understand res.sendStatus behavior

        res.sendStatus(200) sends the status and ends the response, so chaining .send('OK') causes an error.
      2. Step 2: Use correct method chaining

        res.status(200).send('OK') sets status and sends body correctly without ending response prematurely.
      3. Final Answer:

        Replace res.sendStatus(200).send('OK') with res.status(200).send('OK') -> Option A
      4. Quick Check:

        res.status().send() chains properly, res.sendStatus() ends response [OK]
      Hint: Use res.status().send() to set status and send body [OK]
      Common Mistakes:
      • Chaining send after sendStatus causes error
      • Changing HTTP method unnecessarily
      • Calling next() after sending response
      5. You want to create a health check endpoint that returns JSON with status as 'ok' only if the database connection is alive, otherwise status is 'error'. Which approach correctly implements this in Node.js with Express?
      hard
      A. app.get('/health', (req, res) => { checkDbConnection().then(() => res.json({ status: 'ok' })); });
      B. app.get('/health', async (req, res) => { const dbAlive = await checkDbConnection(); res.json({ status: dbAlive ? 'ok' : 'error' }); });
      C. app.get('/health', (req, res) => { const dbAlive = checkDbConnection(); res.json({ status: dbAlive ? 'ok' : 'error' }); });
      D. app.get('/health', (req, res) => { res.json({ status: 'ok' }); });

      Solution

      1. Step 1: Recognize async database check

        Checking database connection is asynchronous, so await or then() must be used to get result.
      2. Step 2: Validate correct async usage

        app.get('/health', async (req, res) => { const dbAlive = await checkDbConnection(); res.json({ status: dbAlive ? 'ok' : 'error' }); }); uses async/await properly to wait for checkDbConnection result before sending JSON response.
      3. Final Answer:

        Use async function with await to check DB and respond accordingly -> Option B
      4. Quick Check:

        Async/await needed for async DB check [OK]
      Hint: Use async/await to handle async DB checks in health endpoint [OK]
      Common Mistakes:
      • Calling async function without await or then
      • Ignoring DB status and always returning 'ok'
      • Not handling promise results properly
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard