Today, the ruby framework is the backbone of some of the most commonly visited websites. From Twitter and Yellow Pages to Github, a digital world devoid of Ruby is unimaginable today. This has resulted in unique market demand for people proficient in Ruby on Rails.
This great market demand comes with equally huge market availability. This makes it challenging for businesses to identify the best talents. To help you in your quest for an ideal ruby on rails developer, we have curated a list of questions that will gauge the different skills of such a developer and give you an idea about his or her capability.
What is the sum of values in an array?
Try to give an array-like x = [{“a” => 5}, {“b” => 15}. {“c” =>20}] and then ask a potential candidate on how they can obtain the sum of all the values. The correct answer to this would be y.values.inject (:+). However, if your potential candidate mentions y = x.reduce(:merge) to ensure that the command works on arrays of all sizes, you know that you have found a gem.
Let us assume that you have an Employee with id = “5”. Now, the Employee with the id = “5” is deleted. Post that, you enter the query Employee.find_by_id(5) what kind of error can you expect?
Having a basic understanding of the concepts of errors is very important for a Ruby on Rails developer. Such a person will try to arrive at the root cause of a problem, without trying to come up with temporary fixes. This is important when you expect the project to have a high dependency on the person you hire.
The query, Employee.find_by_id(5), will not generate any error when the Employee with the id “5” is deleted. It will instead return ‘Nil’ as the output. A technically sound Ruby on Rails developer should be able to tell you this.
What is Ruby on Rails, and why did you choose to pursue it as a career?
Look for facts like Ruby is inspired by Python or Pearl in the first part of the answer. This will tell you that the candidate’s programming skills are not restricted to that of Ruby on Rails alone. As a programmer, it is essential to be open to ideas, and this part of the question will tell you if the developer is an enthusiastic learner.
Further, the candidate must mention the fact that Rails is the framework on which one bases their web applications. If someone can talk about Ruby being an object-oriented programming language, that should set the interview in the correct direction. The second part of the question is personal, and there is no strict right or wrong to it.
Can you throw light on the naming conventions of Ruby in Rails?
With different projects, the coding challenges may vary, but Ruby’s base on Rails will remain unaltered. If a company is looking to hire ruby on rails developers, they seek someone with a strong technical background.
With this question, one is expected to talk about variables, classes, modules, database tables, and controllers. If a candidate misses out on one of these, try to bring up the name and observe their reaction. This will tell you a lot about their overall understanding of the language and comprehend if the developer is fit for your business.
What is your coding experience, and what type of challenges did you encounter as a developer?
This question is non-technical and will help you understand their challenges. This will talk a lot about their maturity and help you decide if they are fit for your organization. The steps which they took to overcome the hurdles will help you gauge their problem-solving abilities.
Can you explain the roles of app/controllers and app/helpers?
While most ios developers are familiar with these names, only the technically sound know the actual role of each of them. If a candidate can tell you that the web requests are taken care of by the control, whereas the app helper only holds the class to assist the view and model class, then they are on the right track.
Similarly, if someone says that they know how to use controllers and helpers in their codes but are unaware of their exact roles, that should be a red flag.
For the next minute, talk about class libraries in Ruby.
This question leaves room for several different answering approaches. A technically confident developer should tell you about thread programming, the different domains in Ruby on Rails, and its data types. Pick a topic of your liking among the ones mentioned by the candidate and quiz on that for better clarity.
Explain the difference between Active Support’s HashWithIndifferentAccess and the conventional Hash of Ruby.
This is a conceptual question, and the technical answer is in the treatment of symbols and strings. However, the fluency with which they answer this question will help you gauge their professional skills.
You can take it a notch higher by asking how a symbol key stores a value in Ruby’s Hash. The fact that values stored in the symbol key cannot be retrieved by an equivalent string is something that a good Ruby on Rails developer should tell you at this point.
How is a symbol different from a variable?
While most candidates will say that a symbol is like a string, someone with a sound technical knowledge will tell you that one can mutate a string but not a symbol. Further, a single copy of a logo is created, and they map to enums. If a candidate mentions that variables and symbols can be used interchangeably, you must understand that they lack basic conceptual understanding.
How was your previous workplace?
The answer to this question will reveal the type of relationship one had with their colleagues. This is suggestive of their overall work attitude and will gauge if a potential candidate fits into your company culture.
With these, you will be able to judge the level of technical competency of a candidate. This knowledge should make it simple for you to decide if someone is fit for your business.