• Stars
    star
    298
  • Rank 139,099 (Top 3 %)
  • Language
  • Created almost 12 years ago
  • Updated over 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A list of some baseline Rails interview questions

Rails Interview Questions

I get a fair number of questions via Hacker Hours and elsewhere regarding what questions to use/expect in an interview for a Rails developer, so figured I would get it together in a tidy list. Pull requests welcome.

Tips

Interviewers

  • Personalize your list of questions.
  • Don't ask questions you don't know the answers to.
  • Mix trivia questions with open-ended ones.
  • Use Codr or a similar online collaborative text editor for doing coding challenges
    • Can be seen in real-time by remote team members
    • The unique URL with the solution can be easily sent around or added wherever you a tracking information about the candidate
  • About a third of the way through the interview, however you're feeling about the candidate (πŸ‘/πŸ‘Ž), try and convince yourself otherwise.
    • This is to help yourself fight your own biases.

Interviewees

  • Don't study to the test. Not all of these questions will be used, and others will be asked that aren't covered here. Know your stuff.
  • Rails skills != CS skills
  • Know whether you are interviewing for a full-stack vs. backend-focused position.
  • Have code up on Github/Bitbucket/wherever - the more side projects you have to talk about, the better.
  • Be comfortable with some version control system.
  • Community awareness and resourcefulness can be as important as technical knowledge.

The Questions

General

  • What is a tree? What is a DAG?
  • Pseudo-code depth-first and breadth-first search.
  • Given a sorted array, what is the fastest way to find a element? What is the Big-O time to do so?
  • Explain how ajax works, hitting all parts of the stack. (@abestanway)

Ruby

  • What is the difference between a lambda, a block and a proc? [I have gotten this one at every Ruby interview I've been in]
  • How do you sort an Array of objects by a particular attribute? What is a better way to do sorting with ActiveRecord?
  • What are some of your favorite gems? What are their alternatives?
  • In Ruby, which is generally the better option: a recursive function or an iterative one?
  • What are #method_missing and #send? Why are they useful?
  • What are the various Ruby runtimes, and how are they different?

Rails

  • What is the general history of Rails?
  • What is new in Rails 4?
  • Explain the different pieces of Rails.
  • Walk through the flow of a request through Rails.
  • What are the different server options for running a Rails/Rack app?
  • Explain CSRF and how Rails combats it.
  • Explain mass-assignment vulnerability.
  • Why do some people say "Rails can't scale"?
  • What is Rack?
  • What is middleware? How does it compare to controller filters/actions?
  • Explain various forms of caching available in Rails.
  • What are some Ruby web server options?
  • How is something like 30.seconds.ago implemented? (c/o @harrisj)
  • On a scale of "I've heard of it" (0) to "I maintain it" (10), how would you rate your Rails proficiency?

Resources

(no particular order)


Creative Commons License
Rails Interview Questions by Aidan Feldman is licensed under a Creative Commons Attribution 3.0 Unported License.

More Repositories

1

emoji-css

An easy way to include emoji in your HTML
JavaScript
892
star
2

backbone-nested

A plugin to make Backbone.js keep track of nested attributes - looking for maintainers! https://github.com/afeld/backbone-nested/issues/157
JavaScript
444
star
3

mustachio

automatic mustachifying of any image
Ruby
344
star
4

jsonp

DEPRECATED - A proxy to help with cross-domain requests
JavaScript
302
star
5

magickly

image manipulation as a (plugin-able) service
Ruby
179
star
6

bootstrap-toc

An automatic table of contents generator, using Bootstrap 3 or 4
JavaScript
157
star
7

git-plugins

a collection of custom git commands
Shell
61
star
8

api.afeld.me

nerdiest homepage ever
Ruby
51
star
9

tricle

easy metrics reporting via email
Ruby
36
star
10

jeditable-rails

a gem to add in-place-editable fields to your Rails project
Ruby
35
star
11

python-public-policy

Python for Public Policy course
Jupyter Notebook
25
star
12

github_non_coding

a list of non-coding use cases of GitHub
Ruby
23
star
13

html_pipeline_rails

rendering views via HTML::Pipeline in Rails
Ruby
20
star
14

dotfiles

my dotfiles
Shell
17
star
15

github-find

Chrome extension for searching within a Github repo.
JavaScript
16
star
16

stringer

a project with Alex Chen and Tyler Williams for doing string drawing and plucking in Processing using the Kinect
Processing
15
star
17

jsonpanel

pretty JSON viewer jQuery plugin
CSS
12
star
18

git-setup

easy Git setup
Shell
12
star
19

teaching

a collection of materials/resources for teaching technology
10
star
20

3d-controller

demos of using a phone as a gestural interface
JavaScript
10
star
21

face_detect

a Ruby gem for face detection
Ruby
9
star
22

tfmv

proof of concept: a tool to help refactoring Terraform resources
Go
9
star
23

bike-report

messing with NYC CitiBike historical data
Ruby
8
star
24

sshkit-interactive

WIP: execute interactive commands on your servers via SSHKit
Ruby
7
star
25

mustachio-js

automatic mustachifying of any image
JavaScript
6
star
26

gh_collab

slides for "How GitHub Does Collaboration" talk
JavaScript
5
star
27

github_invite

app to enable GitHub users to easily add others to their organization teams
Ruby
5
star
28

sparkle

API for generating sparklines
Ruby
4
star
29

facial

WORK IN PROGRESS - Simple library for face detection using OpenCV
Ruby
4
star
30

spaa

Single-Page App Architecture talk
CSS
4
star
31

refactor

a command line tool to help refactor your code
Ruby
3
star
32

delivery

Continuous Delivery workshop materials
HCL
3
star
33

pose

experimenting with real-time pose detection and speech recognition for dance performance
TypeScript
3
star
34

hubot-twitter-config

WIP: configuration module for using Twitter via Hubot
CoffeeScript
3
star
35

repo-eyes

scripts to keep watch over your repositories
Ruby
2
star
36

careless

LESS rendering as a service
JavaScript
2
star
37

faacelift

JavaScript
2
star
38

tech-foundations

Columbia SPS Operations Management in IT course
JavaScript
2
star
39

compare_by

a better version of Ruby's Comparable
Ruby
2
star
40

test_to_learn

a talk about learning to code via testing
JavaScript
2
star
41

personal-security

Digital Security and Privacy for Normal People - a guide
HTML
2
star
42

practical_tdd

2
star
43

node-face

Face.com API wrapper for NodeJS
JavaScript
2
star
44

tdd_js

talk: Test-Drive Your JavaScript
JavaScript
2
star
45

data-cleaning

Data Cleaning Techniques workshop materials
Jupyter Notebook
2
star
46

filter_feeder

JavaScript
2
star
47

jekyll-git

a Jekyll plugin for retrieving data from Git
Ruby
2
star
48

geo_formatter

A JS wrapper for easier-to-work-with Google Geocoder results.
JavaScript
2
star
49

jquery-clearinput

Clears the instructions from an HTML form input on focus, replacing the text if nothing is entered.
JavaScript
2
star
50

SWICS-Fix

a little Python script to clean up some solar wind data
Python
1
star
51

flyloft

a jobs site for performing artists (a work in progress)
Ruby
1
star
52

multipass-examples

Examples on how to use Assistly's Multipass SSO
PHP
1
star
53

wedding

wedding website
HTML
1
star
54

markdown_proofer

Markdown validator gem
Ruby
1
star
55

photo-frame

[WORK IN PROGRESS] photo frame that automatically pulls from Facebook
TypeScript
1
star
56

arduino_low_battery

low battery indicator for Arduino
Arduino
1
star
57

tangle

a web page scanner to find broken links
Go
1
star
58

repowatch

JavaScript
1
star
59

threepenny

Ruby
1
star
60

ellipsis-test

test suite of plugins for handling multiline-text-overflow
1
star
61

hubot-trollbot

a hubot script that annoys your coworkers
CoffeeScript
1
star
62

paypal_form

A Radiant extension for a dynamic Paypal submission form.
Ruby
1
star
63

fontsmash

Ruby
1
star
64

temp

temperature sensor to prove my jerk of a landlord was breaking the law
Arduino
1
star
65

graffiti.js

Java
1
star
66

config_settings

a code test I did for a job application: creating a model which stores configuration settings
Ruby
1
star
67

mongo_ruby_workshop

Workshop for getting started using MongoDB with Ruby
Ruby
1
star
68

knowpickle

A site for learning things
Ruby
1
star
69

govern

automatic governance for your projects
Ruby
1
star
70

web_dev_basics

Web development workshop
PHP
1
star
71

rails-bottom-up

teaching Rails from the Bottom Up
Ruby
1
star
72

dotjunkd

my junk drawer
1
star
73

code_cruise

An app for discovering learning paths: given a set of knowledge and a goal, a self-motivated learner can find all the topics between them and that destination.
Ruby
1
star