Test Yourself: Asynchronous Programming

How well did you learn what's been taught in the previous lessons?

Scroll down...




Some things you should know before moving on.

Introduction to Asynchronous Programming

  • What is synchronous programming?
  • What is asynchronous programming?
  • What is meant by calling back?
  • What is meant by carrying out processes on separate threads?
  • Why is Node.js referred to as non-blocking and event-driven?

The Call Stack and Event Loop in Node

  • What is a call stack?
  • What is the main reason for a call stack?
  • What is a stack?
  • What is a queue?
  • How do stacks and queues relate to the call stack?
  • How does a call stack relate to Node's event loop?
  • What is the V8 engine? What language is it written in?
  • What is libuv? What language is it written in?
  • How does the Chrome V8 engine work?
  • How do the V8 engine, libuv, the event loop and OS work together to create asynchrony in Node.js?

File I/O Basics and Callbacks in Node

  • What native module is used to perform file operations in Node.js?
  • What are three common operations the fs library performs?
  • How many versions of each method are there in the fs module? Why?
  • What is the difference in execution flow for the different versions of these methods?
  • What is meant by "error first callbacks"?


  • What are promises?
  • What is meant by "a promise is a proxy for an unknown value"?
  • What problems do promises exist to solve?
  • How many possible states are there for a promise to have and what are they?
  • Once a promise has resolved, can it be rejected? Why?
  • What do you pass to a promise constructor created with new?
  • What parameters does the callback function to a promise constructor take?
  • What method is chained on a promise to gain access to its value?
  • What are two ways that you can gain access to the rejection value or error message of a promise?
  • How is catch different from the rejection callback of a then call?
  • How can you resolve multiple promises at once?

Using the Node Debugger

  • What is a debugger?
  • How do you mark a breakpoint in your code with the built-in Node.js debugger?
  • How do you start up the Node debugger?
  • What are some commands available in the interactive debugger? What do they do?
  • How do you inspect variable values in the debugger?

Sign up to track your progress for free

There are ( ) additional resources for this lesson. Check them out!

There are no additional resources for this lesson just yet!

Sorry, comments aren't active just yet!

Next Lesson: Building with Async Node.js