This is a guide for presenting the challenge to the candidate, not a document to give to the candidate.
Create an application that displayed images from Imgur services http://imgur.com/
- Display images as a list
- Display the full detail of an image
- Support paging in list
- Display images in a list with 2 columns and flexible height adjustment (as Pinterest)
- Application provides function to share image
- Search images by tag
- User are able to download image into device's gallery
- Nice transition animation
- Display GIF images
- Save favorite images to local application's DB
- Need to have some UI screen mockups TBD
- Why did you choose this framework/library?
- What features of this framework/library are most important to you?
- Before the candidate starts solving the challenge, ensure you:
-
Explain the challenge to the candidate.
-
Give the API creditials/documents to candidate (App Client ID, App Secret)
- The base URL for APIv3 is
https://api.imgur.com/3/
- Authen
https://api.imgur.com/oauth2
- API to get images (randomly)
https://api.imgur.com/endpoints/gallery#gallery-random
- API to get image detail
https://api.imgur.com/models/gallery_image
- API to search images
https://api.imgur.com/endpoints/gallery#gallery-search
- Image data model
https://api.imgur.com/models/gallery_image
- The base URL for APIv3 is
-
Pick the importand points that can be completed on time
-
Make the following recommendations:
- To use any tools, languages, frameworks, or databases they like.
- Search on the web for any resources they need.
- Ask any team members for help.
- Not to invest much time on any given problem before asking for help.
-
Check on the candidate every 45 minutes and ask the following questions:
- How is it going?
- What is working yet?
- Is there anything you need?
-
Observe the following:
- Does it seem like they'll finish the challenge? At least in some part?
- Are they stuck on something and, perhaps, shy to ask for help?
- How do they handle interruptions, unsolicited interactions, etc?
-
Make sure they know how much time is left; offer additional time if it might help. e.g., if almost done with a last feature or detail, delay lunch by 15-30 minutes.
-
Offer the candidate snacks, water, coffee, etc.