Bird
Raised Fist0
NestJSframework~5 mins

Hybrid applications in NestJS - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a hybrid application in NestJS?
A hybrid application in NestJS is an app that combines both HTTP and microservice capabilities in one project, allowing it to handle web requests and message-based communication simultaneously.
Click to reveal answer
intermediate
How do you create a hybrid application in NestJS?
You create a hybrid application by combining create() for HTTP and connectMicroservice() for microservices in the same app instance.
Click to reveal answer
beginner
Why use a hybrid application in NestJS?
Hybrid applications let you serve HTTP requests and listen to microservice messages in one app, reducing deployment complexity and enabling better resource sharing.
Click to reveal answer
beginner
Which NestJS method allows adding microservice support to an existing HTTP app?
The connectMicroservice() method adds microservice support to an existing HTTP application instance.
Click to reveal answer
intermediate
What is important to remember about starting a hybrid NestJS app?
You must call app.startAllMicroservices() to start microservices and app.listen() to start the HTTP server, ensuring both parts run properly.
Click to reveal answer
What does a NestJS hybrid application combine?
AOnly HTTP server
BHTTP server and microservices
COnly microservices
DDatabase and cache
Which method adds microservice support to a NestJS app?
AconnectMicroservice()
BcreateMicroservice()
CstartMicroservice()
DaddMicroservice()
What must you call to start microservices in a hybrid app?
Aapp.listen()
Bapp.runMicroservices()
Capp.startAllMicroservices()
Dapp.launchMicroservices()
Why choose a hybrid app in NestJS?
ATo separate HTTP and microservices into different apps
BTo only use HTTP server
CTo only use microservices
DTo combine HTTP and microservices in one app
Which NestJS method creates a standard HTTP app?
Acreate()
BcreateHttpApp()
CcreateMicroservice()
DcreateHybridApplication()
Explain how to set up a hybrid application in NestJS and why it might be useful.
Think about combining two types of servers in one app.
You got /4 concepts.
    Describe the lifecycle methods needed to run both HTTP and microservices in a NestJS hybrid app.
    Starting both parts is necessary for the app to work fully.
    You got /3 concepts.

      Practice

      (1/5)
      1. What is a hybrid application in NestJS?
      easy
      A. An app that combines HTTP and microservices in one project
      B. An app that only uses HTTP controllers
      C. An app that only uses microservices
      D. An app that runs on multiple servers

      Solution

      1. Step 1: Understand NestJS application types

        NestJS apps can be HTTP-based, microservice-based, or both combined.
      2. Step 2: Define hybrid application

        A hybrid app combines HTTP and microservices in one project to handle both communication types.
      3. Final Answer:

        An app that combines HTTP and microservices in one project -> Option A
      4. Quick Check:

        Hybrid app = HTTP + microservices [OK]
      Hint: Hybrid means mixing HTTP and microservices in one app [OK]
      Common Mistakes:
      • Thinking hybrid means multiple servers
      • Confusing hybrid with only HTTP or only microservices
      • Assuming hybrid apps are separate projects
      2. Which method is used to add microservice support in a NestJS hybrid application?
      easy
      A. connectMicroservice()
      B. createMicroservice()
      C. addMicroservice()
      D. useMicroservice()

      Solution

      1. Step 1: Recall NestJS microservice integration method

        The official NestJS method to add microservices to an app is connectMicroservice().
      2. Step 2: Verify method names

        Other options like createMicroservice(), addMicroservice(), or useMicroservice() are not valid NestJS methods.
      3. Final Answer:

        connectMicroservice() -> Option A
      4. Quick Check:

        Use connectMicroservice() to add microservices [OK]
      Hint: Remember: connectMicroservice() connects microservices [OK]
      Common Mistakes:
      • Using createMicroservice() which does not exist
      • Confusing with addMicroservice() or useMicroservice()
      • Trying to add microservices without this method
      3. Given this NestJS hybrid app code snippet, what will be the output when the app starts?
      const app = await NestFactory.create(AppModule);
      app.connectMicroservice({ transport: Transport.TCP });
      await app.startAllMicroservices();
      await app.listen(3000);
      console.log('App is running');
      medium
      A. App listens on port 3000 but microservices do not start
      B. App is running (and microservices start listening)
      C. Error: connectMicroservice is not a function
      D. App crashes due to missing microservice configuration

      Solution

      1. Step 1: Analyze microservice connection

        The code calls connectMicroservice with TCP transport, which is valid to add microservices.
      2. Step 2: Check microservice start and app listen

        startAllMicroservices() starts microservices, then app.listen(3000) starts HTTP server. Console logs 'App is running'.
      3. Final Answer:

        App is running (and microservices start listening) -> Option B
      4. Quick Check:

        connectMicroservice + startAllMicroservices + listen = running app [OK]
      Hint: connectMicroservice + startAllMicroservices means microservices run [OK]
      Common Mistakes:
      • Thinking microservices start automatically without startAllMicroservices()
      • Confusing connectMicroservice with createMicroservice
      • Assuming app.listen blocks microservices
      4. Identify the error in this NestJS hybrid app setup:
      const app = await NestFactory.create(AppModule);
      app.connectMicroservice({ transport: Transport.REDIS });
      await app.listen(3000);
      await app.startAllMicroservices();
      medium
      A. AppModule cannot be used with microservices
      B. connectMicroservice() does not accept transport option
      C. startAllMicroservices() must be called before app.listen()
      D. Missing await before connectMicroservice()

      Solution

      1. Step 1: Check method call order

        In NestJS, microservices must be started before the HTTP server listens, so startAllMicroservices() should be before app.listen().
      2. Step 2: Validate other options

        connectMicroservice() accepts transport option; AppModule supports microservices; connectMicroservice() is synchronous, no await needed.
      3. Final Answer:

        startAllMicroservices() must be called before app.listen() -> Option C
      4. Quick Check:

        Start microservices before HTTP listen [OK]
      Hint: Call startAllMicroservices() before app.listen() [OK]
      Common Mistakes:
      • Calling startAllMicroservices() after app.listen()
      • Adding await to connectMicroservice()
      • Thinking transport option is invalid
      5. You want to build a NestJS hybrid app that handles HTTP requests and listens to RabbitMQ messages. Which steps correctly set up the microservice part?
      hard
      A. Use connectMicroservice({ transport: Transport.TCP }) and call startAllMicroservices() after app.listen()
      B. Use createMicroservice({ transport: Transport.RMQ }) and call app.listen() before starting microservices
      C. Add RabbitMQ config in AppModule imports and call app.listen() only
      D. Use connectMicroservice({ transport: Transport.RMQ, options: { urls: ['amqp://localhost'], queue: 'main_queue' } }), then call startAllMicroservices() before app.listen()

      Solution

      1. Step 1: Choose correct microservice setup for RabbitMQ

        connectMicroservice() with Transport.RMQ and proper options (urls, queue) is the correct way to add RabbitMQ microservice.
      2. Step 2: Call startAllMicroservices() before app.listen()

        Microservices must start before HTTP server listens to ensure both run properly.
      3. Final Answer:

        Use connectMicroservice({ transport: Transport.RMQ, options: { urls: ['amqp://localhost'], queue: 'main_queue' } }), then call startAllMicroservices() before app.listen() -> Option D
      4. Quick Check:

        connectMicroservice + RMQ options + startAllMicroservices before listen [OK]
      Hint: Set RMQ options in connectMicroservice and start microservices first [OK]
      Common Mistakes:
      • Using createMicroservice() which is not a NestFactory method
      • Calling app.listen() before starting microservices
      • Using wrong transport type for RabbitMQ
      • Not providing RabbitMQ connection options
      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