This a technical challenge for an interview designed to demonstrate my ability to understand a task that has been set and evaluate how I design a solution and go about implementing that solution.
No more than 2 or 3 hours should be spent on the solution.
A popular TV show has asked us to build a website that will allow them to publish quizzes.
- Each quiz will consist of a variable number of multiple choice questions.
- Each question will consist of 4 possible answers.
- Every person taking part in a quiz will have their results stored (and made retrievable) by email address.
- Once a person has completed a quiz, they may not do that one again.
- After a user has completed a quiz the total score can be retrieved.
- Once a quiz has been published it can not be edited only deleted.
- A facility to retrieve all quizzes completed by a user as well as the answers submitted.
- Quiz engine needs an administration area.
- The admin area must allow the creation, publishing, editing and deletion of quizzes and questions.
- The admin area only needs a single admin user with simple username/password authentication.
- The mean score for a particular quiz for a particular user can be retrieved (to within the same 10% increment) (ie if a user scored 57% I would expect to see something like 36% of people completing this quiz also scored between 50 and 60%)
- The client uses cloud infrastructure and requires that the backend and supporting databases are containerised with docker.s
- Work out a solution for building the quiz engine backend.
- No front-end ui is required.
- You many use any backend language and database solution of your choice.