An introduction to NodeJS and Express
-
Explain middleware, answer as though I were a non-technical recruiter.
- basically a translator between operating systems and apps
-
Express the most popular __ __ ____.
- node web framework
-
Express is “unopinionated.” What does that mean?
- make it easier for developers to use the most suitable tools to complete a particular task
-
What is a module and why is modularity useful to us as developers?
- JS file, and it can help keep your code organzied and managable, not all your code on one file
-
What version of npm are you running on your machine?
- 8.19.1
-
What command would you type to install a library/package called ‘jshint’ into your node project?
- npm install jshint
-
Explain why tests are important. Please explain as though I were your non technical elder.
- you want to test you hard work before you can say it comeplete, it's like that
-
What are three expected benefits of testing
- significant reductions in defect rates at the cost of a moderate increase in initial development effort, these overheads are more than offset by a reduction in effort in projects’ final phases, TDD leads to improved design qualities in the code
-
Name at lest 2 individual pitfalls and at least 2 team pitfalls commonly encountered while writing tests.
- forgetting to run tests frequently/writing too many tests at once, partial adoption – only a few developers on the team use TDD/poor maintenance of the test suite – most commonly leading to a test suite with a prohibitively long running time
-
What are three benefits of Continuous Integration?
- ensures the teams changes will intergrate, catches bugs, reduces merge conflicts
-
What is the difference between Continuos Delivery and Continuous Deployment?
- Delivery is the practice of developing software in such a way that it could be released at any time/deployment is an extension of CI that allows you to deploy changes in real time
-
Explain how GitHub fits into this process assuming the listener comes from a non-technical background
- working in a team github will help orgaize your project and you can see changes in realtime
- I get the concept of TDD and CI/CD but it's always nice to see it work in real world applications.