k4y3ff / homework

Code challenges by Ad Hoc.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ad Hoc homework problems

Each directory in the Ad Hoc Homework GitHub repository contains a different homework problem, seven in total. Please complete one problem to start off, we will ask for more if your first submission passes blinded review. Make sure to read the README in each directory, it will give you important information on completing each problem.

This is an open-book test, so Google away, but please don't copy your work from pre-existing solutions you may find or ask others to help you complete the exercises. Solutions should be able to be run on a UNIX command line (Linux/Mac). We're quite familiar with Go, Ruby, Javascript, and Python, but if your submission is in some other language (which is OK), please let us know how we can set up our environment to run your code.

Which problems should I start with?

Well, that depends on the position you're applying for! Here are some suggestions:

Front-end Developer

  • Assignment set: hhbuilder and fetch (2 total)
  • Start with hhbuilder or fetch

Software Engineer / Full-Stack Engineer

  • Assignment set: hhbuilder, fetch, noclist, proto, SLCSP (3 total)
  • Start with hhbuilder or slcsp

Backend Developer

  • Assignment set: fetch, noclist, proto, SLCSP (2 total)
  • Start with slcsp or proto

Infrastructure Engineer / DevOps Engineer / Site Reliability Engineer

  • Assignment set: provision and either proto or noclist (2 total)
  • Start with provision

UX Design

Staff Software Engineer

  • Assignment set: slow_widgets and 2 technical assignments (3 total)
  • Start by picking two from hhbuilder, fetch, provision, noclist, proto, and SLCSP

Managing Software Engineer

  • Assignment set: slow_widgets, dog_license, and 2 technical assignments (4 total)
  • Start by picking two from hhbuilder, fetch, provision, noclist, proto, and SLCSP

Getting help

If you get stuck, have a question, or want to clarify any aspect of the homework, use the chat button in the lower right of the Ad Hoc Homework site to contact us.

We think a sign of a good developer is one who asks questions sooner, rather than later. We are happy to help guide you to the right solution.

Submitting your completed homework

To submit your homework, zip up the contents of your git repo in a .zip file. Please remove the .git directory, and anything else that might identify you. If you want to include any comments with your submission, add them to the COMMENTS file. If there's anything important for us to know about how to run your code, please include that information in the COMMENTS file. Feel free to include any other information relevant to your submission in the COMMENTS as well. Then visit our homework app, sign up for an account, and follow the instructions to upload your homework there!

In addition to submitting the homework, make sure to complete the application for the job you're applying for on our jobs page.

Evaluation process

When we receive your homework, we'll assign it a random number, so that our team does not know whose submission they are reviewing. Your homework will be reviewed by multiple engineers on our team.

A quick tip

A note about what we're looking for: we tend to favor solutions that clearly and concisely solve the problem at hand. We're not looking for an over-engineered solution. We want to see how you approach the problem, understand what's being asked, and solve it. We tend to favor solutions that are simple, elegant, and efficient. Submit a solution as if you were giving it to a colleague for code review.

Good luck! We look forward to reviewing your submission.

About

Code challenges by Ad Hoc.

License:GNU General Public License v2.0


Languages

Language:JavaScript 86.4%Language:Go 5.0%Language:HTML 4.6%Language:Shell 3.4%Language:Ruby 0.7%