Junior Frontend Engineers (Beginner)
Simple To-Do List
Create a basic to-do list using HTML, CSS, and vanilla JavaScript.
Problem Description:
In this exercise, you will build a simple to-do list application. The goal is to practice the fundamentals of HTML, CSS, and JavaScript. Your to-do list should allow users to add new tasks, mark tasks as completed, and delete tasks. This problem will help you understand DOM manipulation, event handling, and basic styling.
Checklist:
- Create an HTML structure with input field and buttons
- Style the to-do list using CSS
- Add tasks dynamically using JavaScript
- Implement functionality to mark tasks as completed
- Implement functionality to delete tasks
Junior Backend Engineers (Beginner)
Basic CRUD API
Create a basic CRUD REST API using Node.js and Express.
Problem Description:
In this exercise, you will create a simple RESTful API that performs basic Create, Read, Update, and Delete (CRUD) operations on a list of items. You will use Node.js and Express to set up your server and create RESTful routes for each of the CRUD operations. This will help you understand the fundamentals of building APIs and handling HTTP requests in Express.
Checklist:
- Set up a Node.js project and install Express
- Create RESTful routes for CRUD operations
- Implement handlers for each route (Create, Read, Update, Delete)
- Use in-memory storage to manage the list of items
- Test your API using a tool like Postman
Senior Frontend Engineers (Intermediate)
Advanced State Management
Build a React application using Redux for state management.
Problem Description:
In this exercise, you’ll create a React application that uses Redux for state management. The application will be a more advanced version of a to-do list, complete with the ability to filter tasks by their status (all, active, completed). This problem will help you solidify your understanding of managing complex application state and using Redux best practices.
Checklist:
- Set up a React project with Create React App
- Install and configure Redux and React-Redux
- Create actions and reducers for adding, completing, and deleting tasks
- Implement filtering of tasks by status using Redux state
- Connect your Redux store to your React components
Senior Backend Engineers (Intermediate)
Advanced Error Handling
Implement advanced error handling with custom error classes and middleware in Express.
Problem Description:
In this exercise, you will enhance an existing Express application by adding advanced error-handling mechanisms. You’ll create custom error classes to handle different kinds of errors and middleware to manage these errors gracefully. This problem will help you implement robust and maintainable error-handling strategies in your applications.
Checklist:
- Create custom error classes for different types of errors (e.g., NotFoundError, ValidationError)
- Implement middleware to catch and handle these errors
- Ensure your API responses include meaningful error messages and status codes
- Test your error-handling logic using unit tests
- Document your error-handling strategy
Staff Frontend Engineers (Advanced)
Micro Frontends
Design and implement a micro-frontend architecture for a complex application.
Problem Description:
Checklist:
Staff Backend Engineers (Advanced)
Microservices with Nest.js
Design and implement microservices architecture using Nest.js.
Problem Description:
Checklist:
We hope you find these problems challenging and rewarding. Stay tuned for the next issue, where we’ll tackle more intriguing problems to help you hone your skills. Happy coding!
Sincerily,