Hello there 👋! Thank you for taking this interview 🙏 and congratulations on making it this far 🎉.
There are 2 questions in total for this assignment, and should take no more than 90 mins to complete. They are organized in 2 folders:
Each question folder has instructions and expectations. Please try to follow them and let us know, if you have any issues/concerns. You are only expected to spend 30 mins on Question 1, 60 mins on Question 2, and submit what you have done so far, to not take up too much of your time. You may take longer if you like 😊
Key things we are focusing on are:
- Follow best practices.
- Code readability.
- Code structure.
- Naming of parameters, functions, types, classes, and fields.
- OOP/FP concepts.
- Appropriate use of comments.
IMPORTANT: Our automated scripts to prepare submissions for grading requires the original git history to be retained in your submitted repository. If the script is unable to automatically clone your repository, it will not be graded and failed immediately. Steps 1 to 3 will allow you to create a private repo with the original git history :)
As GitHub does not allow the forking of public repos to private repos, what you need to do instead is to clone this repo into a new personal private repo.
When creating a new private repo in GitHub, name the repo any way you like (but preferably cf-be-take-home-assignment
if you want to follow the instructions below as it is), set it to private, and do not initialize the repository with anything.
git clone https://github.com/connected-freight/be-take-home-assignment.git cf-be-take-home-assignment
Assuming that you are using cf-be-take-home-assignment
as your repo name:
cd cf-be-take-home-assignment
git remote rename origin upstream
git remote add origin https://github.com/<your-username>/cf-be-take-home-assignment.git
git push origin main
Now you can work with it just like any other GitHub repo.
The following tools are required:
- Node.js
- Yarn 1
- A TypeScript-compatible IDE (We suggest Visual Studio Code)
yarn install
yarn test
When you are ready to submit, push all of your changes, and add [email protected]
as a collaborator to your repo for grading 😊
Best of luck 👍!