Skip to content

Commit

Permalink
downstream
Browse files Browse the repository at this point in the history
  • Loading branch information
mikeauclair committed Jan 3, 2018
1 parent 0679baa commit eb82190
Show file tree
Hide file tree
Showing 6 changed files with 61 additions and 13 deletions.
15 changes: 7 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,22 @@
Ad Hoc homework problems
========================

Each directory contains a homework problem, seven in total. Please complete at least one--but not more than three--of the problems before submitting. Make sure to read the README in each directory,
Each directory contains a 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 try?
Which problems should I start with?
------------

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

- Front-end Developer: [hhbuilder](https://github.com/adhocteam/homework/tree/master/hhbuilder) and [fetch](https://github.com/adhocteam/homework/tree/master/fetch)
- Software Engineer (Full-stack): [hhbuilder](https://github.com/adhocteam/homework/tree/master/hhbuilder) and [slcsp](https://github.com/adhocteam/homework/tree/master/slcsp)
- DevOps Engineer (Site Reliability): [provision](https://github.com/adhocteam/homework/tree/master/provision) and [proto](https://github.com/adhocteam/homework/tree/master/proto)
- Front-end Developer: [hhbuilder](https://github.com/adhocteam/homework/tree/master/hhbuilder) or [fetch](https://github.com/adhocteam/homework/tree/master/fetch)
- Software Engineer (Full-stack): [hhbuilder](https://github.com/adhocteam/homework/tree/master/hhbuilder) or [slcsp](https://github.com/adhocteam/homework/tree/master/slcsp)
- DevOps Engineer (Site Reliability): [provision](https://github.com/adhocteam/homework/tree/master/provision) or [proto](https://github.com/adhocteam/homework/tree/master/proto)
- UX Design: [ux-design](https://github.com/adhocteam/homework/tree/master/ux-design)

These are just suggestions; if you really want to give other problems a shot, go for it, but don't do more than three of them before hearing back from us.
- Engineering Lead: Pick two from hhbuilder, fetch, provision, middleware, proto, and SLCSP.

Getting help
------------
Expand Down Expand Up @@ -49,7 +48,7 @@ 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 at least three senior engineers on our team.
reviewed by multiple engineers on our team.

A quick tip
-----------
Expand Down
12 changes: 12 additions & 0 deletions dog_license/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
Dog License
=================

### Scenario:

You’ve been asked by your client, a municipality, to put their dog license application form online. What questions do you ask?

#### Submission

Answer the questions in under 600 words, and store as a plain text file.

When you are done, create a zip file containing that file, [create a candidate account on our recruiting site](https://people.adhoc.team/candidates/sign_up) and upload your solution.
2 changes: 1 addition & 1 deletion fetch/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ In `api/managed-records.js`, write a function named `retrieve` that requests dat
- Do not use any `for` or `while` loops in your solution.
- Do not add any additional libraries or edit any files other than `api/managed-records.js`
- A suite of unit tests is provided. Your solution should pass all tests.
- Please delete the `node_modules` directory before submitting your completed homework.
- Please delete the `node_modules` directory before submitting your completed homework.


## Setup
Expand Down
40 changes: 40 additions & 0 deletions slow_widgets/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
Slow Widgets
=================

### Instructions:

Create a technical improvement plan given limited information

### Scenario:

An application that you have just assumed complete responsibility for is used for finding locations that sell widgets near a given user. This application has an integration with an external system that lets users filter the results by their favorite widgets. User complaints have come in, saying the system:

* Is slow looking up nearby widgets
* Does not provide user feedback when importing favorite widgets

The metrics below are all that are currently captured for this application. Given that provided context, how would you approach planning technical improvement for this application?

### Appendix A

| Web Transactions | App server time |
|------------------|----------------------|
| IntegrationController#update | 1235 ms |
| IntegrationController#lookup | 1145 ms |
| LocationController#find | 645 ms |
| HomeController#index | 126.9 ms |

### Appendix B

| Category | Segment | % Time | Avg calls (per txn) | Avg time (ms) |
|----------------|------------------------------------|--------|---------------------|---------------|
| WebTransaction | /location/find | 100 | 1 | 645 |
| Database | Postgres DBRepo.FindByZip Query | 41.9 | 6 | 45 |
| Database | Postgres DBRepo.LookupZip QueryRow | 7.9 | 12 | 4.24 |
| Database | Postgres DBRepo.FindUser Query | 0.62 | 0.997 | 4.05 |


#### Submission

Answer the questions in under 600 words, and store as a plain text file.

When you are done, create a zip file containing that file, [create a candidate account on our recruiting site](https://people.adhoc.team/candidates/sign_up) and upload your solution.
2 changes: 1 addition & 1 deletion ux-design/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,6 @@ Describe a unique UX problem you've worked on recently, and provide a few paragr

#### Submission

Your content should be added to the provided changes.md file. You may attach any sketches, screenshots, or other artifacts you think would be helpful documenting explaining your process in the parent ux-design folder as well.
Create a folder and write your answer into a markdown or text file. You may include any sketches, screenshots, or other artifacts you think would be helpful in documenting and explaining your process in this folder as well.

When you are done, create a zip file containing all your work, [create a candidate account on our recruiting site](https://people.adhoc.team/candidates/sign_up) and upload your solution.
3 changes: 0 additions & 3 deletions ux-design/changes.md

This file was deleted.

0 comments on commit eb82190

Please sign in to comment.