Interactive Presentation Backend - Level 3

Authored by Rafa Paliwoda, Backend Engineer at Stripe

Applicable experience & durations
senior (3h)
RESTHTTPMicroservicesDatabasesSQLPerformanceDocsClean CodeUnit TestingConcurrencyData ConsistencyGit
Supported technologiesCan be extended with more technologies upon request

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.

  • Automated functional tests
  • Detailed code review scorecard
  • Project boilerplate