Interactive Presentation Backend - Level 3

Authored by Rafa Paliwoda, Backend Engineer at Stripe

Profile
backend
Applicable experience & durations
senior (3h)
Evaluated skills
RESTHTTPMicroservicesDatabasesSQLPerformanceDocsClean codeUnit testingConcurrencyConsistencyPHPJSC#JavaGoPythonRubyGit
About

The goal of this challenge is to build the backend of the interactive presentation system.

Some of the tasks include:

  • Designing a scalable database schema that allows to handle occasional spikes in requests to the system (e.g., imagine 30k people all voting at the same time);
  • Making sure that no data can be lost due to a race condition when voting or fast-forwarding slides;
  • Writing unit tests for the provided code;
  • Organizing code in a readable and maintainable way.

The candidate gets access to a private GitHub repository with the task description, a project boilerplate, and API tests.

They submit their solution by creating a Pull Request.

The evaluation is based on the results of the automated functional tests and the code review scorecard that covers more advanced aspects within the target competence.

Included
  • Automated functional tests
  • Detailed code review scorecard
  • Project boilerplate (Golang, JS, C#, Ruby, PHP, Java, Typescript)