Core Software Engineer

The task is writing program in C++, which will execute the provided EsetVm2 programs.

Create an application in C++ that will execute provided EsetVm2 programs

Input: binary files encoded in special format, called EsetVm2 (EVM2), which are supposed to be interpreted and executed by the code you are going to create.

Output: each file is a separate EVM2 program, so the produced output strictly depends on the program code. Your interpreter should support printing the output to console and provide EVM2 program possibility to read and write data to disk. You will be provided with description of the EVM2 file format, bytecode description, sample programs and a compiler for them.

What we will evaluate

Based on the solution provided we will try to evaluate your programming skills. We will also discuss your solution during the interview. Take your time when designing and writing the code – the better it is, the higher position you may be applying to.

Your source code should demonstrate:

knowledge of safe programming (e.g. never dereference a null pointer),

your programming style,

usage of object oriented programming principles,

C++ programming best practices,

systematic use of naming conventions,

usage of the right comments at the right place,

good code structure,

handling of error states and exceptions,

avoidance of dangerous or error prone constructs,

your understanding of “inner workings” of C++ and standard functions (e.g.: wastage of memory or unnecessary (implicit/internal) string/memory copy operations).

 

Your solutions send us to: career@eset.pl

Download task