Skip to content

Instantly share code, notes, and snippets.

@kodeshpa
Forked from mdrcode/gist:8815011
Last active October 22, 2015 17:24
Show Gist options
  • Save kodeshpa/709283e477b041be1b69 to your computer and use it in GitHub Desktop.
Save kodeshpa/709283e477b041be1b69 to your computer and use it in GitHub Desktop.
Premise Android Coding Test

Android Coding Test - Github Events API

This is a simple coding test intended to demonstrate the candidate's ability regarding:

  • Java
  • Android
  • Web Services
  • Offline Communication (docs, commit messages, etc)

Please do not spend more than a few hours on this, at max. If you do not complete the project, that is OK. The intent is to demonstrate your knowledge, skill, and communication as you approach a project (good, disciplined effort that gets 80% of the way in 2 hours is much better than a hacky, low-quality project that gets it 'done' in 1 hours).

The idea is simple: build an interface for the Github Events API

Github has a very simple API that shows the most recent events on their platform (like commits, creating a new repo, etc):

http://developer.github.com/v3/activity/events/

A nice thing about this API is that it does not require any sort of authentication or token whatsoever, you do not need to get an API key. It can work as a simple HTTP get request, e.g try this:

curl 'https://api.github.com/events'

So the coding test is to build a very basic Android application that, when launched, fetches the latest public events stream from Github and shows some representation of it in a ListView. It does not need to be a complete representation (since the events schema is quite rich and there is a lot of info), but you do need to show that you parsed the JSON successfully and were able to interpret the response.

That's it! The key components:

  • An Activity with a ListView for displaying the events
  • Code to fetch to the Github API to retrieve the events json
  • Code to parse the JSON and extract information for showing to the user
  • Code to bind the information to the ListView

And of course, as with any 'remote' software engineering project, it will be very important to write both the code and comments in a clear and informative manner. Please use some sort of revision control system (git is preferred!) so that I can review how you structure your progress across commits.

Thank you for your time!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment