NodeJS Developer Position Test
Section 1 (GIT)
- Write a short paragraph explaining the procedure for cloning a git repository and using the development branch. Show each command used.
- Which commands would you use to update a project.
- Which commands would you use to commit your work to git server?
- Show the steps that you would use to initialise a new git project and commit it to the git server.
- Explain what a submodule is.
Section 2 (Dependencies)
- Explain what your understanding of a dependency/package manager is.
- Show the terminal command to add postgres database dependency to a project.
- Show an example of a package.json contents with the moment.js dependency added to it.
- Show the commands that you would use to initialise an existing projects npm dependencies to get the project to a running state.
Section 3 (logic and development questions)
Answer the questions based on the following snippet:
Questions:
- What value does the variable “a” hold?
- What would happen if attempting to execute this code?
- Explain the term “Unit testing”.
- Explain the benefits of using abstraction in development.
- Look at the following sql statement and explain what is wrong:
Section 4 (Nodejs and frameworks)
- Epicdev uses a NodeJS tech stack using the following frameworks (Vue.js, Nuxt, Vuetify), please research each framework and explain what your understanding of each one is.
- Using Nodejs (Vue.js with Vuetify can be used if possible, otherwise standard Nodejs is fine) you will need to create a websytem that allows a user to manage contacts allowing creation, editing and deleting. Each of the following requirements must be met.
- Each contact must have the following information.
- Name
- Surname
- Username
- Password
- Contact information
- Home number
- Cell number
- Notes
- Note title
- Note description
- Note date
- The database must use either postgress or mysql.
- Deletion must use soft delete (non-permanent) only
- Each contact must have a unique identifier using UUID v4
- Passwords must be encrypted
- Batch deletion must be available
- There needs to be a filter option to allow filtering by either name ,surname and email
- There must also be a search function that co do partial searches in the following fields.
- Name
- Surname
- Cell number
- Note title
- Note description
- Each contact must have the following information.
NB: Submission date: Wednesday, 15 September 2021
Submission address: info@epicdev.co.za