After talking to more than 20 aspiring Ruby and Rails developers about what they wish to accomplish with their web development skills, I found that most of them have similar career goals as the professional Ruby and Rails developers they admire.

If you’re anything like these ambitious developers, there’s a good chance you want to…

  • Start freelance-consulting and get paid for your programming skills and knowledge
  • Get a full-time Ruby and Rails developer position, either locally or remotely
  • Build a micro SaaS app that could generate enough income to replace your current salary and give you both time and location freedom

Yet, it’s taking you longer than you expect – more than one year – to achieve any one of these goals, so that you can finally call yourself a professional Ruby and Rails developer.

You don’t have the confidence you desperately need to sell yourself to potential consulting clients or employers, so that you can get paid to use your Ruby skills.

You don’t believe in your own capabilities to build Ruby and Rails applications from scratch, without following another step-by-step tutorial that’s outdated and impractical.

You don’t have clarity about what your next steps are…

…and whether you’re good enough to start looking for a full-time Ruby developer position, freelance-consulting clients or even start working on your own product.

If you want to check your understanding of the core Ruby programming concepts and techniques, so that you can prepare for and ace your next job interview…

…this article contains a list of questions that are likely to be asked.

And answers from lead developers, at startups and software development firms.

Here you go, ambitious Ruby and Rails developer…

Compare Symbol and String and Why You’d Use One vs. The Other?

Solution from Shiva Bhusal, currently a Sr. Software Engineer & Consultant @ SEObeetree. He writes about solving problems with Ruby, Rails and more here.

Ruby: Similarity and Difference between Symbol and String with facts

Describe The Multiple Ways To Define Class and Instance Methods

Solution from Philip Brown, currently a Principal Designer and Web Developer @ Yellow Flag. He writes about solving problems with Design, Ruby, Elixir and more here.

Understanding Class Methods verses Instance Methods in Ruby

When Coding In General, Should You Use Recursive or Iterative Functions?

Solution from Leigh Halliday, currently a Developer @ Regalii. He writes about solving problems with Ruby, Rails, Elixir, JavaScript and more here.

Recursion in Ruby

What Are The Various Ruby Runtimes and How Are They Different?

Solution from Ryan Wilcox, currently a Next Generation Cloud API Engineer @ ESPN. He writes about solving problems with Ruby, Apple Tech and more here.

The Many Interpreters and Runtimes of the Ruby Programming Language

What Does self Mean When Used In A Class?

Solution from Jimmy Cuadra, currently an Information Management Director @ AkzoNobel. He writes about solving problems with Ruby, Rust and more here.

Self in Ruby

What Does “Everything In Ruby Is An Object” Mean?

Solution from David A. Black, currently a Senior Engineer IV @ 2U. He writes about solving problems with Ruby, Rails, Pair Programming and more here.

Almost Everything is an Object (and Everything is Almost an Object!)

What Is A Hash? How Efficient Is Reading, Writing and Iterating Over One?

Solution from Aboobacker MK, currently a Software Engineer @ Red Panthers. He writes about solving problems with Ruby, Rails, Rack, Fedena and more here.

Behind the Scenes of Hash Table Performance in Ruby 2.4

What Is A Block? Write A Method That Takes A Block As An Argument

Solution from Cezar Halmagean, currently a Web Technology Specialist @ Mix & Go. He writes about solving problems with Elm, Ruby, Rails, RSpec and more here.

Mastering Ruby Blocks in Less Than 5 Minutes

What Are Closures In Ruby?

Solution from Noman Ur Rehman, currently a Full-Stack Web Developer @ WebVenture Labs. He writes about solving problems with Ruby, AWS and more here.

Understanding Ruby Closures

What’s The Difference Between Lambda, Block and Proc?

Solution from Adam Waxman, currently a Product Manager @ SeekGeet. He writes about solving problems with Ruby, Rails, iOS, Design and more here.

What Are Blocks, Procs and Lambdas?

Explain What a ||= b Means

Solution from Chris Arcand, currently a Ruby Developer @ Red Hat. He writes about solving problems with Ruby, Rails, Open Source and more here.

Null Coalescing Operators and Ruby's Conditional Assignments

What Is Memoization? Why and When Would You Use It?

Solution from Adam Cooke, currently a Software Developer and Designer @ aTech Media. He writes about solving problems with Ruby, Rails and more here.

Memoization in Ruby

Have You Heard The Term PORO and What Does It Mean?

Solution from Katarzyna Jaruga, currently Team Lead and Software Developer @ Codest. She writes about solving problems with Ruby, Rails and more here.

Hi, I'm PORO. It's Nice To Meet You!

Why Is It Bad To Rescue Exception?

Solution from Starr Horne, currently a Ruby and JavaScript Developer @ Honeybadger. He writes about solving problems with Ruby, Rails, JavaScript and more here.

A Beginner's Guide To Exception in Ruby

What Is The Difference Between & and && Operators?

Solution from Panayiotis Thomakos, currently Software Engineer @ Strava. He writes about solving problems with Ruby, JavaScript, DevTools and more here.

The & Operator in Ruby

What Is The Difference Between && and and Operators?

Solution from Angel Irizarry, currently a Developer @ Tinfoil Security. He writes about solving problems with Ruby, SQL, Web Security and more here.

Ruby Demystified: and vs. &&

What Is #method_missing and Why Is It Useful?

Solution from Paolo Perrota, currently a Software Coach and Mentor. He writes about solving problems with Ruby, Rails, Metaprogramming and more here.

Do YOU know Ruby's "Chainsaw" method?

What Methods Of Metaprogramming Does Ruby Support?

Solution from Nathan Kelyn, currently a Web Developer @ IntentHQ. He writes about solving problems with Ruby, Haskell, JS, Continuous Integration and more here.

Ruby Metaprogramming: Part I

Ruby Metaprogramming: Part II

What Does The #lazy Method Do To Enumerators?

Solution from Ryan Boland, currently a Web Developer @ Tanooki Labs. He writes about solving problems with Ruby, Rails, Elixir, JavaScript and more here.

A Look At Enumerators and Laziness

What Are Methods That End In A Question Mark Called?

Solution from Patrick Joyce, currently a Director of Engineering @ Stitch Fix. He writes about solving problems with Ruby, Rails, Open Source and more here.

The Elements of Ruby Style: Predicate Methods

What Are Methods That End With A Bang Called?

Solution from Shantara Trody, currently learning to program @ Launch School. She writes about solving problems with Ruby, Rails and more here.

Destructive Methods with No Bang (!)

Explain Object-Oriented Programming Principles With Code Samples

Solution from Dustin Snyder, currently a Software Engineer @ Raise. He writes about solving problems with Ruby, Rails, Culture, JavaScript and more here.

Object Oriented Programming in Ruby by Example

Talk About The SOLID Principle and Give Examples In Ruby

Solution from Oleg Prokhoda, currently a Ruby and JavaScript Developer @ RubyGarage. He writes about solving problems with Ruby, JavaScript and more here.

SOLID Object-Oriented Design Principles with Ruby Examples

What Are Mixins, How Do They Work and How Would You Use Them?

Solution from Philip Brown, currently a Principal Designer and Web Developer @ Yellow Flag. He writes about solving problems with Design, Ruby, Elixir and more here.

Working with Mixins in Ruby

What’s The Difference Between extend, prepend, and include?

Solution from Léonard Hetsch, currently Lead Backend Engineer @ Once. He writes about solving problems with Ruby, Elixir, DevsOps, API Development and more here.

Ruby Modules: Include vs. Prepend vs. Extend

Describe Access Modifiers In Ruby and How They Are Used

Solution from Rishi Jain, currently a Software Engineer @ Unbxd Inc. He writes about solving problems with Ruby, Rails, Customer Analytics and more here.

Access Control in Ruby – Understanding Public, Protected and Private

How Would You Declare and Use A Constructor In Ruby?

Solution from Taranjeet Signh, currently a Software Developer @ Evon Technologies. He writes about solving problems with Ruby, JavaScript and more here.

Constructors in Ruby

How Would You Create Getter and Setter Methods In Ruby?

Solution from Michael Morin, currently a Ruby Guide @ ThoughtCo. He writes about solving problems with Ruby, Sinatra, Rails, Rack and more here.

Using Attributes with Ruby

What Is A Class, What Is An Object and Why Do We Need A Module?

Solution from Vinicius Horewicz, currently a self-employed Ruby & Rails Consultant. He writes about solving problems with Ruby, Rails, DDD, AWS and more here.

Ruby Way To Multiple Inheritance

Does Ruby Support Multiple Inheritance?

Solution from Tom Mullen, currently a Founder and CEO @ DVELP. He writes about solving problems with Ruby, APIs, Test Driven Development and more here.

Class vs Module in Ruby - Getting it Right

Explain What Singleton Methods Are and What Is Eigenclass?

Solution from Ilija Eftimov, currently a Senior Software Engineer @ Catawiki. He writes about solving problems with Ruby, Rails, PostgreSQL and more here.

Implementing "The Lovely" Singleton Pattern

Describe Ruby Method Lookup Path

Solution from Damien Roche, currently a Freelance Deb Developer. He writes about solving problems with Ruby, Rails, JavaScript and more here.

A Primer on Ruby Method Lookup

Why Is Enumerable So Useful?

Solution from Natasha Postolovski, currently a Software Developer @ ThoughtWorks. She writes about solving problems with Ruby, Test Driven Development and more here.

Ruby's Swiss Army Knife: The Enumerable Module

Why Would You Use BigDecimal Over Float?

Solution from Ace Subido, currently a Software Engineer @ Bloom Solutions. He writes about solving problems with Ruby, Big Data, Analytics and more here.

What’s The Difference Between local, @instance, @@class, and $global Variables? Why and Where Would You Use A Specific Type?

Solution from Adebayo Adepoju, currently a Software Developer @ Andela. He writes about solving problems with Ruby, Rails, JavaScript and more here.

Anatomy of Ruby Variables

When Do You Prefer To Use fetch Over [] on Hash and Why?

Solution from Matthew Ford, currently a Technical Director @ Bit Zesty. He writes about solving problems with Ruby, Rails, User Experience and more here.

Hash#fetch in Ruby Development

How Can You Implement Method Overloading?

Solution from Matt Rice, currently a Lead Developer @ Lunar Collective. He writes about solving problems with Ruby, SQL, Ember and more here.

Method Overloading

What Is Global Interpreter Lock?

Solution from Fernando Kakimoto, currently a Software Engineer @ Amazon. He writes about solving problems with Ruby, JavaScript, Performance and more here.

Concurrency in Ruby

Now that you’ve reviewed the most commonly asked Ruby interview questions, as well as the core Ruby programming concepts and techniques, it’s time to put your knowledge to work and build your next practical Ruby application from scratch.