This is a simple exercise to streamline the hiring process. We would love people with prior experience with Git and some contributions to Open Source projects.
See our careers page for the roles we're currently hiring for.
Be as descriptive as you want. Committing individual steps will earn you extra points; in fact, everything you do on GitHub will.
- Fork this repository.
- Create a new branch in your fork for your answers, e.g.
answers/<your-github-username>. Don't commit tomaster. - Read the questions in
questions.md. - Create a new file named
answers/<your-github-username>.mdand write your answers there. Code and tests may go in the same file or in separate files inside a folderanswers/<your-github-username>/. - Once you've finished, submit a Pull Request from your branch to this repository's
masterbranch. Mention the role you're applying for (from the careers page) in the PR description.
If you have any doubts, please open an issue in this very repository.
AI coding tools are welcome. We use them too. What we want to see is your judgment: how you check, correct and explain the code, whoever or whatever typed it.
In your answers, tell us:
- which AI tools you used, if any, and for which questions;
- anything the AI got wrong, or that you changed, and why.
Being open about this counts in your favour. Submitting code you can't explain does not.
- Understanding: can you explain why your solution works, its edge cases and its trade-offs?
- Correctness: does the code do what the question asks, including edge cases?
- Tests: does each solution come with tests that cover the tricky inputs, not just the example?
- Readability: clear names, sensible structure, comments where they help.
- Git hygiene: small, focused commits with meaningful messages, and a clean PR.
If we'd like to take your application further, we'll invite you to a short call where you walk us through your solutions and make a small change to them live.