Skip to content

Latest commit

 

History

History

rust

Rust

Hi! If you're reading this, it means that your application has been selected and advanced to the next stage of the Senior Rust Developer recruitment process at Enso. We send this document to approximately 5% of all applicants, and we're really happy to have you here!

For each of the solutions that we get that meets our code quality standards, we will schedule a final call with the author. This call is the last step in the recruitment process, and we're excited to talking to you there!

The tasks presented here are simple, and should not be very time consuming. We understand that even simple tasks require time to deeply analyze the performance and security implications of potential solutions. We would like you to always choose the best solution, and clearly justify your choices to us.

When working on the following tasks, please follow these rules:

  • Most of the tasks are questions-only, where you do not need to write any code. Your answers do not have to be long, but they should be precise and should cover all corner cases of the problem.
  • If you write a code, it should be of a production ready quality. It should be code which you would be proud to create a pull request for. In particular, remember about documentation, linting, proper semantic naming, and keeping the API clean and understandable. You can use unstable Rust if you want to (we are using unstable Rust in all parts of our project).
  • Please take all security, performance, and memory usage concerns into consideration and write about them in a comment at the end of the file for each solution. Create a public API which could be easily and securely consumed by and end user.
  • Please use the Rust formatter (rustfmt), lint your code, and apply practices for good code quality.