Skip to content

dynamox-s-a/c-c-plus-plus-developer-challenge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

Dynamox C/C++ Developer Challenge

In order to contribute to the enhancement of Dynamox solutions, we present you with the following challenge:

While going through the challenge, you should be able to handle ambiguous situations, adhere to best practices in firmware development, and demonstrate excellent problem-solving skills. Effective communication through well-documented code, code quality, readability, and maintainability will also be evaluated.

Challenge

Develop an application that performs configured artimethical operations and has an HMI(Human Machine Interface)

Requirements

Here you have the functional requirements for the application. You are free to make any assumptions you consider necessary to complete the challenge.


It is not mandatory to implement all the listed requirements before submitting your implementation. Just keep in mind that the more requirements you implement, the more you will be able to demonstrate your skills and knowledge. Plan yourself to demonstrate what you want. Planning for future implementantion that are not required is also encoraged.

We will expect candidates applying to more senior levels to demonstrate a deeper understanding of the requirements and to implement / plan / propose more of them for the same deadline.


1 - Functional requirements

  1. Create an HMI where users can choose an operation and execute it.
  2. Users should be able to input single values and get the result.
  3. Users should be able to input array of values and get the result(If applicable).
  4. Add at least two operations
  5. Users must be able to select the operation type.
  6. One of the operations must be the calculation of the Determinant

2 - Technical requirements

  1. Use C, C++ or both.
  2. The code must have a main.c file.
  3. Create libraries to organize the code.

3 - Bonus

  1. Add possibility to create new operation type.
  2. Add persistent operation log
  3. Enhance the determinant calculation functionality to allow users to select the dimensions of the matrix
  4. Detect and handle errors on the operation input

Evaluation Criteria

The items listed above will have different weights in the evaluation process. Each one of them will be evaluated as "Not Implemented", "Implemented with Issues", "Implemented", or "Implemented with Excellence". Use your judgement to prioritize the requirements you will implement in the time you have available.

In general we will be looking for the following:

  1. Anyone should be able to follow the instructions and run the applications.
  2. User stories were implemented according to the functional requirements.
  3. Documment future implementations in a clear way.
  4. Adherence to best practices in embbeded system firmware development.
  5. Problem-solving skills and ability to handle ambiguity.
  6. Code quality, readability, and maintainability.
  7. Resource optimization.

Ready to Begin the Challenges?

  1. Fork this repository to your own Github account.
  2. Create a new branch using your first name and last name. For example: caroline-oliveira.
  3. After completing the challenge, create a pull request to this repository (https://github.com/dynamox-s-a/c-c-plus-plus-developer-challenge), aimed at the main branch.
  4. We will receive a notification about your pull request, review your solution, and get in touch with you.

Frequently Asked Questions

  1. Is it necessary to fork the project? Yes, this allows us to see how much time you spent on the challenge.

  2. If I have more questions, who can I contact? Please reach out to Lucas (Development Coordinator) or via e-mail.

  3. The HMI can be a interactive terminal? Yes, you are free to choose the interface, the interaction can be based on terminal, file, graphical, etc.


Good luck! We look forward to reviewing your submission. 🚀

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published