Learn how to help your team build confidently (and securely!) in prod in our upcoming Tech Talk: Sign up here.

Take Home Todo List

Home
/
Interview Processes
/
Take Home Todo List

Problem Description

Working for a startup, I often find that I have a wide variety of things to complete. Rather than buying software, I’d prefer to have a simple application where I can create a list of items I need to complete. I would like the ability to create new items, delete existing items, and list all of my current items to do.

Due to the volume of items I will be adding to this list, I would like to indicate which items are of higher priority than others by always specifying any positive integer when creating an item.  A lower integer indicates a higher priority (e.g., an item of priority 2 is higher priority than an item of priority 5).

This is essentially a TODO List application. We ask that you build a simple implementation based on the statement above.

Finally, I would like the ability to see all the priorities that are missing in my ToDo app so I can easily decide on a priority to assign to new tasks I wish to add. For instance, if my current ToDo list contains items with priorities of 1, 3, 5, 5, 7, 12, the application should indicate that priorities 2, 4, 6, 8, 9, 10, 11 are missing. Should I delete the todo item with priority 12, the new set of missing priorities would be 2, 4, 6.

Some assumptions you can build with are:

  • The application does not require data to persist.  
  • Building up items in memory is fine.  
  • The application should be interactive. Using a UI, API, or the CLI is perfectly acceptable.  
  • Feel free to write the application in whatever programming language / framework you’re most comfortable with

Submission

Please try to spend at most 90 minutes on this. When it is complete, pleae email a Git bundle or a link to a public repository (ex: GitHub, GitLab) with your solution to our technical recruiting team.