BenchPrep Developer Candidate Exercise
HTML Ruby JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Please fork the repository, complete following exercises, both ruby and javascript.
When you are complete, submit a pull request for review.

If you have any questions feel free to email



In accordion.html you will find ACT course sections breakdown.

Please, write code to simulate the jQuery accordion plugin behavior with the supplied sections. By default, the current setup comes with QUnit, feel free to drop and use your own testing framework or write all your code as coffescript.

Simple Backbone.js List

In quotes.html you will need to build a simple Backbone.js view to list given quotes. Please do not any libraries or plugins to do this other than jQuery, Backbone.js and underscore.js .

Please provide the following functionality:

  • Fetch quotes from source quotes.json and display available information in the list-like structure (table/list)
  • Provide client-side pagination (up to 15 quotes per page)
  • Optionally: Provide way to filter between game and movie quotes
  • Optionally: Provide client-side search filter by the quote text

Please, use your discretion in implementing nice-to-have features (if interested).


Array extension

Please, write a module that provides where behavior to the array of hashes (see test.rb and make it pass, feel free to convert it to your favorite test framework).

YouTube client

Please, write a ruby api that for now takes a search string and returns 3 relevant search results from YouTube (links to YouTube videos). Please do not use any Google API wrapper gems to accopmlish this.

Simplified Blackjack

blackjack.rb contains initial work on a Blackjack simulation

Please, use your discretion in fixing/adding tests. You are free to use/convert to any testing framework you want. You will need to implement the following functionality:

  • As a Player I can get a hand with two cards in it
  • As a Dealer I can get a hand with two cards in it
  • As a User I can see what card the dealer is showing
  • As a User I can bust (lose immediately) when I am getting cards
  • As a User I can blackjack (win immediately) when I am getting cards
  • As a Dealer I can draw cards after the player until I win or lose


  • Simulate a random round of the game (you don't have to write educated user decision logic - it could be guesses)


  • Bust - all possible hand values are greater than 21 points
  • Blackjack - any possible hand value is exactly 21 point
  • Assume dealer stays on 17 (any hand value)

    For more rules on blackjack please refer to the wiki