When hiring at my current employer we give out a brief requirement as a technical test.
We only specify that you must create a card game, it can be a console app, desktop, web based application how ever the applicant would like to display.
we ask they consider possible multiple ways to play, what kind of interfaces would be required, how would they test it. How could they handle new decks/ different cards.
we do not specifiy what game they should implement or how they score a winner.
In my spare time I decided to answer my own technical test.
Aims
- Create a client server game room for playing card games.
- Implement Poker and Blackjack.
- Hold multiple "rooms" for players to create/enter.
- Build a blazor client side application to interact within the "rooms".
Possible Extras
- Abstract the code to a allow non-standard deck based games such as trading card games.
- Bring perstiance for rooms and store them out of memory.
- Deploy the application.