This repository has been archived by the owner on Sep 25, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* update root readme to clearer instructions and a few "tips" for clarity * attempt to improve each exercise's description * improve wording Co-authored-by: Joe S <jsebast@avaya.com>
- Loading branch information
1 parent
99fe74c
commit 92af597
Showing
6 changed files
with
38 additions
and
18 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,18 @@ | ||
This repository is meant to provide a few small exercises to familiarize you with the type of work that we do as developers on the UX Team. | ||
# Candidate Coding Exercises | ||
|
||
Each sub-folder in the project root is meant to engage your skills in basic HTML/CSS, Nodejs, and Reactjs respectively. | ||
This repository provides a few small exercises to familiarize you with the type of work that we do as developers on the UX Team, and for us to learn how you would solve a given task. | ||
|
||
In each, you will find an index file with further instructions, except in the React project folder which contains its own ReadMe. | ||
Each folder in this repository has a unique problem that will engage your skills in a different manner. In each, you will find an index or README with further instructions. Pick one to complete fully. If you want to pick a second one, go ahead, but **do not spend more than four hours in total on this task**. | ||
|
||
Pick one to complete fully. If you want to pick a second one, go ahead, but do not spend more than four hours in total on this task. | ||
## To submit your work | ||
- fork this repository | ||
- create a branch off of `main` in _your_ forked repository | ||
- complete your work in that branch | ||
- open a Pull Request (PR) from your branch into `main` _in your own repository_ | ||
- provide a link to that PR | ||
|
||
In order to submit your work, please go ahead and fork this repository, then re-upload it yourself and provide a link to where you have opened your Pull Request with the necessary work for review. | ||
## Quick tips | ||
- ensure that your PR has a good description and includes any information needed to run your completed task | ||
- if you need clarification, please do not hesitate to ask | ||
- treat this as if it were a task given to you at work; you can use google/stackoverflow/whichever, but the code _must_ be your own | ||
- if you complete a task fully, start a second, but are unable to complete the second in the four hour time limit, that is fine, just note it in the description of the PR |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,15 +1,15 @@ | ||
## This module is meant to showcase your ability to fully implement a mock that requires touching an API. | ||
## This exercise is meant to showcase your ability to fully implement a mock that requires touching an API | ||
|
||
Your exercise is to create a website that displays the "Image of the Day" from NASA's APOD API, as well as allow a user to enter a number to see a random selection of images, or select a specific date to see the image for that day. Review the three mock images and GIF in the `mock` folder for an example of what we expect. We do not expect your site to match this example, it is meant primarily as a mock. | ||
Your exercise is to create a website that displays the "Image of the Day" from NASA's APOD API, as well as allow a user to enter a number to see a random selection of images, or select a specific date to see the image for that day. Review the three mock images and GIF in the `mock` folder for an example of what we expect. We do not expect your site to perfectly match the example, it is meant as a mock. | ||
|
||
You may complete this exercise with any technology that you wish; eg, React, Vue, Angular, Svelte, whatever floats your boat. The important piece is that at the end you hand us a fully realized website. We expect to be able to pull your code, read your `README.md`, and run your code locally. You may also host your code and give us a link to it if you would like, but we will need to review your code as well. | ||
|
||
To start, generate your own api key via [NASA's API Portal](https://api.nasa.gov/), then, review the [APOD API](https://api.nasa.gov/#apod) and create the previously described site. | ||
|
||
Important details: | ||
### Acceptance Criteria | ||
- the user may enter an image count OR a date, when one is used the other should be erased | ||
- the API fails on the selection of a future date, so do not allow users to select a future date | ||
- the site must work on screens as small as 400px (mobile view) and still work when full screened on a laptop (say 1600px) | ||
- the site must work on screens as small as 400px (mobile view) and also work when full screened on a laptop (say 1600px) | ||
- this does _not_ need to be pixel perfect, but the solution must resize in a sensible manner and resize smoothly | ||
- you do not need to add extensive unit tests, but you should have at least one unit test showing that your root (`App`) component renders | ||
- you do not need to add extensive unit tests, but you must have at least one unit test showing that your root (`App`) component renders | ||
- if you add any children components, they should also have at least one unit test |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,19 @@ | ||
React Component building test | ||
# React Component building test | ||
|
||
Using the instructions found at https://design.avayacloud.com/components/web/setup-web, download the Neo CSS library, and use the styles found there to build a Button Component based on the spec | ||
provided at https://design.avayacloud.com/components/web/buttons-web. | ||
Using [the instructions here](https://design.avayacloud.com/components/web/setup-web), download the Neo CSS library, and use the styles found there to build a Button Component based on [the spec provided here](https://design.avayacloud.com/components/web/buttons-web). | ||
|
||
This Component should be a React Component that accepts props that render each style or variant according to the examples given on the page above. | ||
|
||
For example, the Button should take a property to render the disabled state. | ||
|
||
In addition to the above requirements, please write AT LEAST TWO automated tests which are passing for your code. | ||
In addition to the above requirements, please write AT LEAST TWO automated tests which are passing for your code. | ||
|
||
## Acceptance Criteria | ||
|
||
- running `npm start` will start this app and the button component is shown | ||
- the button, when clicked, does something to the page (expected behavior must be noted in your PR) | ||
- the button has a `disabled` prop | ||
- the button has a `variant` prop | ||
- the button has a `onClick` prop | ||
- running `npm test` will run two or more tests that pass | ||
- all tests have good descriptive names |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters