Homework Tips: C++ Software Engineer

How to succeed during Shapr3D's engineering hiring process

What are we testing?

The purpose of the homework is to see whether and how you complete a development task independently, based on a specification that we provide.

Why is this relevant to the application process?

The homework closely resembles a task (a unit of work) that we use in our daily work to partition larger projects into manageable bits. It has a defined scope and related specifications, but obviously there is some degree of freedom when it comes to the implementation, just like in real life situations. We want to see how you work on your own, namely how closely you can follow the spec, but also how you reach the design conclusions you make during the process.

What are the most important criteria to pay attention to?

As in real life, the solution should comply with the requirements. Anything less than that means the task is incomplete, which is penalized in the grading. Beyond that, there are a few additional things to watch out for. The implementation should preferably be (in decreasing order of importance):

How to prepare (if you need to):

Some areas of knowledge that you can refresh yourself on before getting the assignment: