Skip to content

karhoo/karhoo-frontend-developer-test

Repository files navigation

Karhoo Frontend Developer Assessment

Overview

Thanks for your interest in a development role on the Karhoo development team!

We'd like you to complete this short technical test before we bring you in for an in person interview. It's a chance to show off your skills and show us how you approach development.

This technical test is written in React and uses Redux for state management. It assumes familiarity with React and Redux. If you aren't familiar with these then let us know before starting the test!

You'll be working on a simple To Do app, extending it with a few new features.

Timing

About 60 mins.

If you don't get everything done in 60 mins don't worry, just send across what you have with a note about what is left to do. We know your time is precious and you don't want to spend all day on a technical test!

Given the time constraint we'd rather you focused on:

  • Making it work, first and foremost!
  • Unit tests.

Don't worry about making it look nice, or fancy CSS effects. We're happy with unstyled buttons and elements. We'll be focusing on the code more than the presentation.

Getting Started

Install the required dependencies using npm:

npm install

You can then start the app with:

npm start

And run the tests (in watch mode) with:

npm test

Tasks

We'd like you to make the following changes to the To Do app:

  1. Be able to mark items as complete. And then toggle them back to incomplete.
  2. Add a filter than can be toggled to hide completed items.

Finishing up

When you are finished with the test please send it back to us (either a link to the repo, or a zip of the project).

It would be great if you could write up a short summary of how you approached the task, and if there are any improvements you would have made if given more time.

Notes

Ideally this should feel as much like normal development as possible.

  • Feel free to search for any information you need.
  • You can add any libraries you need to get the job done.
  • Please contact us if you have any questions about the task, we're happy to give more details!