Evaluate the candidate's proficiency in backend development using Node.js, JavaScript, and Express.js. The test focuses on API design, database integration, basic security measures, version control, and understanding of security and coding concepts.
Complete the following tasks within one week using Node.js, JavaScript, and Express.js. Utilize Git for version control and upload your code to a Git cloud platform like Bitbucket or GitHub.
Create a RESTful API using Node.js and Express.js that allows users to perform basic CRUD operations (Create, Read, Update, Delete) on a resource. The resource can be anything related to gaming (e.g., game titles, user profiles, virtual items, etc.).
Integrate a database (choose between MySQL, PostgreSQL, MongoDB, or Redis) with the API created in Task 1. Ensure proper handling of database connections, error handling, and data validation.
Implement basic security measures using middleware in Express.js to protect the API. This can include methods for authentication and authorization. Ensure that sensitive information is handled securely.
Use Git for version control. Create a repository on a Git cloud platform like Bitbucket or GitHub and regularly commit your code as you work on the tasks.
Send the link to your Git repository along with:
- A brief explanation of your design decisions and any assumptions you've made.
- Instructions on how to run your code locally.
If the preliminary assessment of your code is positive, a second technical interview will be arranged to discuss your solution in more detail and explore potential improvements.
- Correctness and functionality of the API using Node.js and Express.js.
- Proper integration with the chosen database system.
- Implementation of basic security measures using Express.js middleware.
- Effective use of Git for version control.
- Demonstration of an understanding of security and coding concepts.