We recommend candidates limit the time spent on this exercise to around 3 hours, but you will not be penalised for spending longer if you need to do so. You are also not obliged to complete the full exercise.
The exercise is as follows:
To complete in the candidate's own time. We would like the candidate to build a simple web or command line application, which should allow users to enter an arbitrary GitHub username, and be presented with a best guess of the GitHub user's favourite programming language.
This can be computed by using the GitHub API to fetch all of the user's public GitHub repos, each of which includes the name of the dominant language for the repository.
Documentation for the GitHub API can be found at http://developer.github.com.
Any programming language and technology (within reason) can be used to complete the test.
Once completed, share a copy of the code with me (either as a GitHub repo or via their preferred means) and we will review it then all being well, arrange a suitable time for an initial phone interview. If he wants to share it with me directly, save you playing piggy in the middle that is equally fine.
gem install bundler
bundle install
rspec
Command line :
./bin/find_favourite_language
Web App
rackup
or
ruby app.rb
This is currently also running on heroku here : http://young-garden-9865.herokuapp.com/
Ideas to extend
- get percentage breakdown of langs
- graph percentage breakdown
- get more detailed breakdown via kb of code in repo for each lang (repos/:user/:repo/languages)
- add links to gh (in web app)
- style webapp!