This project serves as an evaluation for senior developer candidates. It is designed to assess various skills and competencies required for a senior developer role, including but not limited to:
- Proficiency in C# and .NET 8.0 development
- Project Layer Separation
- Database skills with both PostgreSQL and MongoDB
- Understanding and implementation of design patterns (e.g., Mediator pattern)
- Ability to work with object-relational mapping tools (EF Core)
- Proficiency in writing and maintaining unit tests using xUnit
- Experience with mocking frameworks like NSubstitute
- Familiarity with object mapping libraries such as AutoMapper
- API design and RESTful service implementation
- Version control with Git
- Understanding of both relational and non relational database systems
- Data generation and management for testing purposes (using Faker)
- Code organization and project structure
- Implementation of pagination, filtering, and sorting in APIs
- Error handling and API response formatting
- Use of Git Flow and Semantic Commits
- Performance optimization for database queries and API responses
- Understanding of asynchronous programming patterns
- Code quality and adherence to best practices
- Problem-solving and analytical skills
- Attention to detail in implementing business logic
- Ability to work with and integrate multiple technologies and frameworks
This comprehensive evaluation aims to assess both the technical proficiency and the broader software engineering skills necessary for a senior developer role.