gsterndale edited this page Mar 25, 2011 · 1 revision
Clone this wiki locally


Given a skeletal Rails app with authentication (sign up/in) already provided, build a simple Twitter clone. Post a status, follow someone, see a stream of statuses. I've paired with candidates on this problem and you can get a good feel for someone's workflow, communication, and skillset pretty quickly. - Jeremy Weiskotten

Build a basic URL shortener. Given a URL, return a shortened URL that, when requested, redirects to the original URL. A basic implementation would ensure a consistent short URL for a given URL, and a more advanced implementation might provide some analytics. - Jeremy Weiskotten

Given a list of words, find two that share no common letters and who's character length's product is the largest. - Allen Madsen

Given along list of dictionary words (probably the same list others use) find the longest one that is entirely made up of words (of at least 3 characters) that are in the dictionary. I did it recursively. - Michael Tracey Zellmann

Start with an existing open-source Rails app and get it running on your machine. Then start removing features one at a time (and only one feature at a time) until you are back to the Rails app skeleton. That gives you practice in diving into an existing codebase, which is a necessary skill. Now take a drink and do it again... ;) - Wyatt Greene

Online resources

Hiring puzzles, Puzzle archive These are not ruby-specific, but pretty challenging. - Steve Harris

The Ruby Koans are nice too: http://rubykoans.com Probably not the best exercise for somebody who has been doing ruby/rails for 3 years but I think its great for beginners. - Tom Cocca

I'd also recommend some of the puzzles from the Ruby Mendicant University. Check out http://www.puzzlenode.com. It is also apparently a great way to improve your Ruby skills of you get accepted. - Ryan LeCompte

Reading these short code snippets will also help: http://pleac.sourceforge.net/pleac_ruby Other people's code can reveal Ruby features you didn't know about. Not that there is any substitute for actually writing code, though. :) - Wyatt Greene

If you'd like to showcase your math skills, http://projecteuler.net gives ~300 problems to solve using programming. Once you've solved a problem, you have access to a forum where others post their solutions (not just in ruby but other languages as well, if you're interested). - Dave Rogers

This is Rails, not Ruby, and pretty basic, but while we're making a list of sites that lead you through graded exercises, there is Rails For Zombies - Rebecca Frankel