Tell me about a project you’re particularly proud of. What did you do that worked out well?

I am proud of the final website assignment from the HTML/CSS class. I think I made a visually appealing and functional website. I think the layout and overall design worked out well for that project.

How do you do testing, and what do you think about it? How would you improve QA?

Right now, testing is very basic. I review the code that is not working and I look for errors in spelling and structure. I rely heavily on peer review for testing as well. I usually work with a tutor who helps me identify problems in my code. I would improve QA by being more diligent about spelling errors and punctuation.

What tools do you use to find a performance bug?

  1. Dynamic profiling tools — to locate hotspots in the code.
  2. Timing functions — check how long every function takes.
  3. Load tools — to simulate the load.

What is the preferred method of resolving unhandled exceptions in Node.js?

A good practice says, you should use Process to handle exception. A process is a global object that provides information about the current Node.js process. The process is a listener function that is always listening to the events.

How does Node.js support multi-processor platforms, and does it fully utilize all processor resources?

Since Node.js is by default a single thread application, it will run on a single processor core and will not take full advantage of multiple core resources. However, Node.js provides support for deployment on multiple-core systems, to take greater advantage of the hardware. The Cluster module is one of the core Node.js modules and it allows running multiple Node.js worker processes that will share the same port.

What is typically the first argument passed to a Node.js callback handler?

Traditionally, the first parameter of the callback is the error value. If the function hits an error, then they typically call the callback with the first parameter being an Error object. If it cleanly exits, then they will call the callback with the first parameter being null and the rest being the return values.