This repo contains questions which are part of the ECS interview process.
This exercise is used as part of our interview process. This question is often updated. Please do not attempt this question until you are asked, as you may be directed to implement only a single question or part of a question.
Please begin this exercise by forking the repo into your own GitHub workspace. When you have finished your work, please email your contact at ECS with the URL of your forked repo. There is no time-limit on this work, however we try to respect our candidate's time. We feel that this exercise can be completed in 1-3 hours.
Your submission must be implemented in Python 3 or TypeScript. If you are thinking of using any other language, please contact us first.
Bonus questions are optional. You will not be penalized if you do not attempt the bonus questions.
-
We will run your code. Please include all relevant documentation and scripts which will allow us to execute your project.
-
We are just as interested in your process as your final product. We want to understand your workflow, and your testing strategy.
-
We will read your code in order to determine if your implementation matches the requirements given in the question.
-
We will look at your coding style, to determine if your style is clear and easy to read.
-
We want to see code that is idiomatic for the language we have chosen. For example, if you have chosen to write in Python then we would expect your code to be formatted in the style of PEP8 and other conventions which are popular for that language.
-
We might include a code review session in a subsequent face to face interview. This session will take approximately one hour. You might be asked to justify technical choices and make small changes to your code.