Ruby Developer interview questions and answers
This Ruby Developer interview profile brings together a snapshot of what to look for in candidates with a balanced sample of suitable interview questions.
Ruby Developer Interview Questions
In some respects even the most technical role demands qualities common to strong candidates for all positions: the willingness to learn; qualified skills; passion for the job.
Even college performance, while it helps you to assess formal education, doesn’t give a complete picture. This is not to underplay the importance of a solid background in computer science. Some things to look for:
• Understanding of basic algorithmic concepts
• Discuss basic algorithms, how would they find/think/sort
• Can they show a wider understanding of databases
• Do they have an approach to modelling?
Do they stay up to date with the latest developments? If so, how? Probe for their favourite technical books. Who are they following on Twitter, which blogs do they turn to?
Are they active on Github? Do they contribute to any open source software projects? Or take part in Hackathons. In short, how strong is their intellectual interest in their chosen field? How is this demonstrated? Ask for side projects (like game development). Committed, inquisitive candidates will stand out.
Computer Science questions
- Using pseudo-code, reverse a String iteratively and recursively
- What constitutes a good unit test and what a functional one?
Role-specific questions
- Do arguments in Ruby get passed by reference or by value?
- Is Ruby a statically or dynamically typed language?
- What do you mean by polymorphism, inheritance and encapsulation?
- What tools do you use for linting, debugging and profiling?
- What’s the following program going to print?
x = 1 class MyClass y = 2 def foo z = 4 y ||= 0 puts z + y end define_method :bar do |x| z = 5 y ||= 0 puts z + y + x end end my_class = MyClass.new my_class.foo my_class.bar(10) my_class.bar
- Describe the three levels of method access control for classes and modules. What do they imply about the method?
- What is the use of load and require in ruby?
- Write a module Foo that when included, adds an instance method :bar and a class method qux.
- What’s duck typing? Describe a use case.
- How is a block different from a Proc ?
- Explain each of the following operators and how and when they should be used: ==, ===, eql?, equal?.
- Ruby MRI uses a Global Interpreter Lock. Does that mean it doesn’t use real threads?
- What do we mean when we say that a lambda or block forms a closure?