|
|
|
# Assignment
|
|
|
|
|
|
|
|
Source: https://www.programmfabrik.de/en/assignment-frontend-backend-developer-job-berlin/
|
|
|
|
|
|
|
|
> Code a tic-tac-toe game
|
|
|
|
|
|
|
|
> Depending on the job you are applying for, you can code in Javascript (ECMA) or C++.
|
|
|
|
|
|
|
|
> Requirements
|
|
|
|
>
|
|
|
|
> * Use your own code only and start from scratch
|
|
|
|
> * Player can choose the opponent to be human or computer
|
|
|
|
> * Use [L]GPL'ed libraries if necessary, please include copyright notes
|
|
|
|
> * Let us know how long it took you to code the game
|
|
|
|
>
|
|
|
|
> JavaScript version
|
|
|
|
>
|
|
|
|
> * Implement in Javascript so that it works in Mozilla Firefox
|
|
|
|
> * Make use of CSS, provide nice visuals
|
|
|
|
> * Make the back button work
|
|
|
|
>
|
|
|
|
> C++ version
|
|
|
|
>
|
|
|
|
> * Implement in C++, so that i works on the command line under Linux
|
|
|
|
> * The opponent has to be unbeatable
|
|
|
|
|
|
|
|
# Solution
|
|
|
|
|
|
|
|
## Time spent
|
|
|
|
|
|
|
|
* ~0.5 hours to set up the project;
|
|
|
|
* ~5 hours to implement game board serialization, tic-tac-toe rules and game solver (with tests);
|
|
|
|
* ~1 hour to set up the backend / frontend structure with JSX templating and static resources;
|
|
|
|
* ~2 hours to implement progressively enhanced form and query string value trackers (both on backend and in web components);
|
|
|
|
* ...
|