Core Software Engineer
Vytvorte aplikáciu v jazyku C++, ktorá bude spúšťať uvedené programy EsetVm2
Vstup: binárne súbory zakódované v špeciálnom formáte nazvanom EsetVm2 (EVM2), ktoré majú byť interpretované a spustené kódom, ktorý sa chystáte vytvoriť.
Výstup: každý súbor je samostatný program EVM2, takže vytvorený výstup závisí výlučne od programového kódu. Váš interpreter by mal podporovať zobrazovanie výstupu v konzole a poskytovať programu EVM2 možnosť čítať a zapisovať údaje na disk. K dispozícii budete mať popis formátu súboru EVM2, popis bajtkódu, vzorové programy a kompilátor.
Čo budeme hodnotiť
Na základe poskytnutého riešenia sa pokúsime vyhodnotiť vaše programátorské zručnosti. Počas pohovoru sa budeme venovať aj vášmu riešeniu. Pri navrhovaní a písaní kódu si dajte načas – čím lepší bude, tým vyššiu pozíciu môžete získať.
Váš zdrojový kód by mal preukázať:
- znalosť bezpečného programovania (napr. nikdy nedereferencovať nulový pointer),
- váš štýl programovania,
- používanie princípov objektovo orientovaného programovania,
- osvedčené postupy programovania v jazyku C++,
- systematické používanie konvencií pomenúvania,
- používanie správnych komentárov na správnom mieste,
- dobrú štruktúru kódu,
- zvládanie chybových stavov a výnimiek,
- vyhýbanie sa nebezpečným konštruktom alebo konštruktom náchylným na chyby,
- pochopenie „vnútorného fungovania“ jazyka C++ a štandardných funkcií (napr. plytvanie pamäťou alebo zbytočné (implicitné/interné) operácie kopírovania reťazcov/pamäte).
Výzvu odošlite na adresu challenge@joineset.com
Vykonaním tejto výzvy vyjadrujete súhlas so zmluvnými podmienkami spoločnosti ESET a beriete na vedomie zásady ochrany osobných údajov spoločnosti ESET