[For Ruby beginners] Ruby engineer certification exam Silver/Gold exam notes

First edition released: 2021/01/05

Overview

The other day, I took the Ruby engineer certification exam and passed both Silver/Gold. (Silver: 84 points/Gold: 94 points) I was very grateful to the Qiita article of my predecessors for passing the exam, so I will summarize it in the article with the hope that it will be helpful to someone.

Author's exam background

Currently I am a member of society, but I am not involved in Ruby or even programming work. (I rarely write programs at work.) Also, I first came into contact with Ruby around August 2020. (Written this article in January 2021) Personally, I took the exam with the hope that it would lead to future career advancement (including changing jobs).

Based on the above background, this article is intended for beginners of Ruby. We hope that you will use this as a reference for taking the engineer certification exam from the first study and acquiring the Silver/Gold qualification.

First learning of Ruby

【Things to prepare】

Ruby: The target ver of the engineer certification test is 2.1. There is no problem with the latest Ruby DL. Text editor: Anything is fine, but the author uses VScode. github account: Used for studying for exams. If you have it, you will definitely use it in the future.

[Study books used]

- Fun Ruby (Author: Masayoshi Takahashi, Yuzo Goto / Publisher: SB Creative)

It is "fun Ruby" introduced in every ancestor's article. Basically, this one book is enough to solidify the foundation.

I went through the second part and deepened my understanding by answering the questions at the end of each chapter on my own in the third part. After reading, touch the Rails Super Primer below. After that, when I come back to this book again, I will find a method that I often use in actual battles and it will be very educational.

- Ruby on Rails6 Super Introduction (Author: Tsuyano Palma / Publisher: Shuwa System)

It's a book about Rails, though it suddenly deviates from the main story. There are good reasons to introduce it here. It is a phenomenon that is easy for beginners to fall into, and the final output cannot be seen, and studying is limited. Especially for language commentary books, the important part that is often used in actual battles is unclear. This makes everything that comes out look like important syntax, methods, and techniques. Therefore, I think it would be very beneficial to lightly touch "Ruby on Rails", which will be touched by 89 out of 10 people who touch Ruby.

Studying for the engineer certification exam

[Preparation required for the test]

Prometric ID: Required for the exam. It is free to take effect. Exam Reservation: I couldn't book in Safari on iPhone/iPad due to an error. It seems to be recommended by PC.

[Study books used]

- Ruby Engineer Certification Exam Pass Textbook (○ Silver/○ Gold)
(Author: Yuichiro Masui, Shinichiro Ogawa, Hitachi Solutions, Ltd. Toshio Maki / Publisher: Gijutsu-Hyoronsha)

This is also a passing textbook introduced in every ancestor's article. I think it should be read by someone who has a solid foundation to some extent. The guideline is after reading "Fun Ruby". Parts that are not mentioned in "Fun Ruby" such as Marshall/Thread will be absorbed as new knowledge. Also, if you find the scope up to Chapter 5 very difficult, you should go back to "Fun Ruby".

This book is a crammed book with methods and theories lined up. It is natural to organize and check the behavior one by one, but you should try to write a program for the methods and classes/modules that appear, rather than just copying them.

For example, if you create your own class/module and include/prepare it, is it the inheritance you were thinking of? What happens if I put two or more modules in an inheritance relationship at once with include/prepend?

You need to pay attention to the details unexpectedly.

- Metaprogramming Ruby (× Silver/◎ Gold)
(Author: Paolo Perrotta Translated by: Seisuke Kado/Published by: O'Reilly Japan)

It is a good book that you can touch the essence of metaprogramming. I've seen a few articles that you don't have to read if it's just an exam, but you should read it personally. This is not necessary for the Silver exam, so it's a good idea to purchase and read it after taking the Silver exam.

Before and after reading this book, my understanding of inclusive relationships within ruby ​​has improved dramatically. At first, it is a content of metaprogramming with define_method etc., and it is difficult to understand why this knowledge is necessary, but chapters 3 and 4 are the essence.

At first glance, there are many things that I have never seen in studying for exams, so I think I can barely keep up with them. Personally, I should copy and understand the first lap for the time being, and then do the second lap after a while. On the second lap, it is better not to copy, but to draw the true meaning from the content and code your own.

[Test preparation]

This is a site that publishes both Silver/Gold exam preparation questions for free. It is very useful because the questions are randomly asked each time. I used it most as an exam study. You should work hard enough to get 100 points each time before the exam. However, some problems are wrong. Especially, I saw several in Gold. This is an answer that makes you feel uncomfortable if you are studying. If you are interested, please write the code yourself and check it.

-Minitsuku (○ Silver/× Gold)

Only the Silver exam, but you can solve the countermeasure questions. The problem has been decided here. Once you can solve it to some extent with Rex, it will help you fill in the knowledge that you couldn't complement.

This is only the Gold exam, but you can solve the countermeasure questions. You can use it in the same way as Minitsuku.

-Official Silver Mock Questions (○ Silver/× Gold)

The official is only Silver, which has a collection of problems. I'm not very convinced, but this is all I can do. The questions are easy, but there were a few very similar questions in the exam that should be solved.

Silver countermeasure problem collection by m-haramoto (@HaramotoReo) It is a very good question with problems divided for each class. This is also very useful for filling in the lack of knowledge about two weeks before the exam.

Since the problem is in English, I killed it for the first time, but I can solve it while understanding the meaning unexpectedly. This is also a complement of knowledge. There were some questions that I would have dropped if I hadn't solved the questions here in this exam, so it was helpful to find them.

[Other]

Looking at the article a few years ago, there are many opinions that I studied at IT Metre, but the service has ended. Please note that the problem can no longer be viewed.

Main test

Paper and writing utensils are prepared in advance at the test site, so you can answer while writing down the questions on paper. However, you cannot take the paper home.

【Silver】 Anyway, learn the method. That's all. The destructive method has! But not part of it, and it's not straightforward. It's difficult. After that, it is good to remember a little detail such as operator precedence.

【Gold】 First of all, you can never pass unless you keep in mind the relationship of class/module including singleton. Solve metaprogramming Ruby and problems until you can imagine how the search will proceed. After that, class instance variables (neither class variables nor instance variables) and public, protected, and private specifications. Constant search. ruby option.

The most difficult thing was about the attached library. Even the exam textbook has a large number of pages, and it is very difficult to remember how much. I had a quick look at the textbook a week or two ago, picked up only the important parts and put them together in a notebook. (If you have time to prepare and execute other files, I decided that you should use them for studying.) In this exam, there are 3 or 4 questions in the attached library. In the end, I feel that some parts have not been touched so far, but I answered by elimination. (The truth is in the darkness)

[Impression]

Looking at the above, it seems that Gold is more memorable, but in fact Silver is more memorable. There are an infinite number of methods, so it may be easy for someone who is good at answering each question. Gold is definitely easier for those who are good at learning theoretical systems.

Finally

I didn't expect to get Gold in half a year after touching Ruby, but I'm glad I studied it personally. It is often questioned whether this qualification is necessary, but especially for beginners, it is a goal, and in that respect the difficulty is just right. The amount is 16,500 yen, so I'd like to pass it once if possible. (Both may be the biggest points that I'm glad I received at once.)

I hope it will be helpful for anyone who starts programming in Ruby.

Recommended Posts

[For Ruby beginners] Ruby engineer certification exam Silver/Gold exam notes
Ruby Technician Certification Exam
Scraping for beginners (Ruby)
Ruby engineer certification test silver passed
Notes for Android application development beginners
Passed the Ruby Technician Certification Exam Silver
[Ruby] Writing notes for cherry books [Notes for yourself]
Passed the Ruby engineer certification exam Silver in two weeks from inexperienced
[Ruby on Rails] About bundler (for beginners)
Ruby Technician Certification Exam Silver Examination Note
[Ruby] How to use slice for beginners
Explanation of Ruby on rails for beginners ①
Looking back on the important things to pass the Ruby engineer certification exam Silver
Ruby Hash notes
[For beginners] ○○. △△ in Ruby (ActiveRecord method, instance method, data acquisition)
Explanation of Ruby on rails for beginners ⑥ ~ Creation of validation ~
Explanation of Ruby on rails for beginners ② ~ Creating links ~
Explanation of Ruby on rails for beginners ⑦ ~ Flash implementation ~