Skip to content

Instantly share code, notes, and snippets.

@alkalinecoffee
Created March 13, 2015 15:40
Show Gist options
  • Save alkalinecoffee/ffa2c69ef79c1f9f1928 to your computer and use it in GitHub Desktop.
Save alkalinecoffee/ffa2c69ef79c1f9f1928 to your computer and use it in GitHub Desktop.
(Ruby/Rails) Phone screen/Interview questions
BACKGROUND/PERSONALITY
- Tell me about yourself
- Tell me about what your current project
- What are your responsibilities?
- Describe your workflow (how are requirements/issues submitted and handled?)
- Describe the infrastructure for your current project
- Why were these technologies chosen?
- What is the biggest challenge about your current project?
- Were you able to overcome it? If so, how?
- How many people are on the team?
- Are you the project manager? Have you ever been one?
- What did you learn most from the senior people on your team?
- Are you given autonomy? Are you trusted to get the work done with little supervision?
- Have you had issues dealing with a difficult person? If so, how was it handled?
- What are you most proud of?
- How did you get started in development?
- What do you enjoy most about development?
- What do you find most challenging about development?
- Are you active with any open source projects?
- Do you own any open source projects?
- Have you submitted any issue or pull requests to open source projects?
- How do you stay current?
- Do you follow other developers on Twitter?
- Do you attend meetups/conferences? Which ones?
- Are there any blogs or hacker news sites that you follow?
- If you were starting a new project today, describe the infrastructure you would use
- Can you describe a mistake that you've made? How did you overcome it?
TECHNOLOGY EXPERIENCE
- Are you proficient at any other programming languages? If so, which?
- What operating systems do you use at home?
- Do you use version control? If so, which tools?
- Do you have any experience deploying to cloud services, such as AWS or Heroku?
Databases
- What database technologies are you most familiar with?
- RDMS: What steps can you take to determine the cause of a slow query? How could it be resolved?
JS
- How do you declare a local vs global variable?
* "var myLocalVar = 1" is local, and available only to the function that declared it
* "myGlobalVar = 1" is global
- What is the difference between window.onload and onDocumentReady?
* onload event fires after everything (images, css) is loaded. onDocumentReady fires onces the DOM is loaded.
- What are the seven data types in JS?
* Undefined, Number, String, Boolean, Object, Function, Null
- What is the "this" keyword?
* A reference to the object on which the function is operating
- If you wanted to collect data from a user without triggering a full page reload, how would you do it?
RUBY
- How did you learn Ruby?
- Describe some resources you've used to learn Ruby
- What do you feel you need to learn or get better at to become a more proficient Ruby developer?
- Have you developed any pure Ruby (non-web) apps? If so, describe them.
- What is a module? How would one be used?
- How would you define a class method? When would you?
- What is a singleton method?
* Method defined for only a single object
- What is considered "false"?
- Can a string be false? How about zero?
* Only false and nil are considered false
- Why are some methods suffixed with a bang "!" (ex. String#downcase vs #downcase!, AR::Model#save vs #save!)
- What is a private method?
- Do you have any experience with multithreaded code?
- What do you like most about Ruby?
- What do you dislike most about Ruby?
- How did you get involved with Ruby?
- Do you have any experience with other Ruby implementations? If so, which?
- Ask them to describe the benefits/drawbacks of other implementations they’re familiar with.
RAILS
- How did you get started in Rails?
- What did you learn first--Ruby or Rails?
- Have you developed and deployed any Rails apps?
- Are they openly accessible? How about the source code?
- How does Rails lay out its architecture? What are the pieces and how do they fit together?
* Model/View/Controller - routes, partials, views, layouts, helpers
- What are strong params? Why are they useful?
- Why would you use private methods in controllers?
- What is a concern? Why would you use one?
- What is a controller filter? What types of filters are there?
- Can you think of any Rails Core members? (ie DHH, Jose Valim, Aaron Patterson aka Tenderlove, Steve Klabnik)
- Why is Ruby slow? How about Rails?
* Ruby: No true multithreading (GIL), interpreted language
* Rails: High memory usage, bloated, object creation, responsible for everything
- What are the main components of Rails?
* ActiveRecord, ActionPack, ActionView, ActionMailer, ActiveSupport
- Has Activerecord been abstracted into two layers?
* ActiveRecord and ActiveModel
- Have you ever used background processing? If so, which?
- What gems do you tend to use the most in your Rails projects?
- What tools/gems do you use for testing? What do you like/dislike about your current testing setup?
- What do you like most about Rails?
- What do you dislike most about Rails?
OTHER
- How would you debug a performance issue?
* Make them ask questions on this one to see how they isolate network, JS, database, etc.)
- What happens in the browser from when you type in google.com to the location bar until you're viewing their logo on your screen?
* More details/depth better
- Regular Expressions: Given a format, ask them to write an expression down on paper and tell you the result
* There are multiple ways to answer--don't look for 100% correctness--just see that they're on the right track
- Grab a phone number in the following format: xxx-xxx-xxxx
* \d{3}-\d{3}-\d{4}
- Modify that expression to include this format: (xxx) xxx-xxxx
* \(*\d{3}\)*[-|\s]*\d{3}-*\d{4}
- How would you debug a performance issue? (I make them ask me questions on this one to see how they isolate network, JS, database, etc.)
- What happens in the browser from when you type in google.com to the location bar until you're viewing their logo on your screen? More details/depth better
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment