【Ruby】WEBエンジニア転職のためのコーディングテスト対策

「コーディングテスト対策は何をしたら良いんだろう」

初めてエンジニアになろうとしている方は、このように考える方が多いのではないでしょうか。

私もコーディングテストを受けるまでは不安でしたし、いざ受けても不合格の嵐。自分なりに対策を重ねる中で、一番良い方法を見つけることができました。

コーディングテスト対策は2つのステップでクリアできますので、本記事で詳しく解説します。

ステップ1.プログラミング言語(Ruby)の基礎・基本を学ぶ

ステップ2.模擬コーディング課題を解く

プログラミング言語はRubyを利用した場合の解説をしていますが、PHPやJavaを利用している方も同じステップで問題ないはずです。

想定の対象者は、「エンジニア未経験から転職をしようとしている方」かつ「オリジナルサービス(ポートフォリオ)を開発し終えた方」です。

まだ、オリジナルサービス開発し終えないで転職活動を進めても、企業から門前払いを食らう可能性が非常に高いので、対策の順番は間違えないようにしましょう。

コーディングテストとは

コーディングテストとは何か

コーディングテストとは、企業が求職者の選考をする際、プログラミングできるか(コーディングできるか、プログラムコードを書けるか)をチェックするために課されるテストです

WEBエンジニアはプログラミングのための思考力や知識が必要なので、企業はこの思考力や知識を測るためにコーディングテストを貸しているのです。

コーディングテストの時期と形式

コーディングテスが課される時期や形式は、主に3点あります。

・書類選考(履歴書や職務経歴書)と合わせてWEBで解く形式
・書類選考通過後にWEBで解く形式
・面接中にホワイトボードで解く形式

上記以外にもあるかもしれませんが、多くの場合は3つのパターン当てはまっているかと思います。

ちなみに、WEBで解く形式をもう少し掘り下げると、「GitHubからソースをCloneしてコードを書き、Pull Requestを 送る形式」と「コーディングテストができるWEBサービスを利用する形式」の2つを私は経験しました。

WEBエンジニア転職のためのコーディングテスト対策

プログラミング言語(Ruby)の基礎・基本を学ぶ

コーディングテストは素の言語(Ruby)が多い

まずは、プログラミング言語(Ruby)の文法、メソッドを幅広く習得しましょう。コーディングテストは基本的に生のRubyを利用するケースがほとんどです。

逆に、フレームワーク(Ruby on Rails)を利用するケースは1~2割程度でした。

普段Railsのコードしか書いていない場合、素のRubyのコードははじめは慣れないこともあるでしょう。
素のRubyの学習をしたのは、プログラミングを始めた時くらい、という方もいらっしゃるはずですから、ここでしっかりと対策しましょう。

学習教材

学習教材は、『プロを目指す人のためのRuby入門』がおすすめです。
(なお、プログラミング言語をRuby以外のPHPやJavaを利用している方は、基礎・基本の文法の習得は別の書籍で行う必要があります。)

本書はRubyの基礎・基本を網羅的に扱っており、今後非常に役立つ内容です。コーディングテスト対策としてはすべてを学ぶ必要がなく、下記の基礎・頻出事項に絞って効率的に学習するのが良いでしょう。

・第1章 本書を読み進める前に
・第2章 Rubyの基礎を理解する
・第4章 配列や繰り返し処理を理解する
・第6章 正規表現を理解する
・第12章 Rubyに関するその他のトピック

完璧に理解する必要はなく、ざっと1~2回目を通したら、模擬コーディング課題を解いて実践力を上げていきましょう。

模擬コーディング課題を解く

プログラミング言語(Ruby)の基礎・基本を学んだ知識を活かして、模擬コーディング課題で実践力をあげましょう。

AtCoderが一番良い

使用するサービスは、AtCoderというサービスが最適です。AtCoderは無料で利用でき、幅広い難易度のコーディング課題を解くことができるサービスです。

その魅力は何といっても、「他の人の回答を見られる」ことです。理由は後述します。

AtCoderの始め方

AtCoderは始めるのに少し手間取るので、下記の記事を参考に始めてみてください。

Qiita:AtCoder に登録したら次にやること ~ これだけ解けば十分闘える!過去問精選 10 問 ~

そして次に、解いた問題を他の人の回答を見比べてリファクタリングしてみると良いでしょう。
僕は、自分の回答とリファクタリング後の回答を記事にしました。

AtCoder に登録したら解くべき精選過去問 10 問を Ruby で解いてリファクタリングする

8月 19, 2019

また、自分の解いた問題を可視化するサービスとして、AtCoder Problemsがおすすめです。自分のAtCoderのIDを入力すると説いた問題が一目でわかります。参考に僕の解いた問題を載せておきますね。

筆者のAtCoder Problems

AtCoderでやるべきこと

AtCoderのやるべきことは簡単で、AtCoderBeginnersContestというジャンルのA,B問題を20問ずつくらい解けば大丈夫です。

そして、次に最も重要なのが、「解いた後に自分の答えと、他の人の答えを5件程度確認し、理解すること」です。自分とは違ったRubyの使い方をしていてあらたな気づきがあるはずですし、より短い記述量の人のコードに倣って自分もコードを書けるようにしましょう。

コーディングテストでは、短く、かつわかりやすいコードを書けると高い評価を得られます。

ちなみに私はとある企業のコーディングテストを受験したところ、「他の受験者でもほとんどと見たことのないような効率的な実装をした」とお褒め頂くこともできました。

他のコーディングサービス

コーディングテストは実際に受けてみるまでどのようなものがイメージがつかなかったため、私はいくつものサービスを利用しました。しかし、AtCoder以外は私にとって効果が薄かったため、利用するサービスの情報収集にお役立ていただければと思います。

下記はいずれもコーディング課題を解けるサービスですが、AtCoderと違い「他の人の回答を見ることができない」や「言語が英語である」というのが大きな欠点となりました。

一つの課題に対して複数の実装方法を検討することができず、自分の正答のみしかわからないので、コーディング力はあまり向上しないように感じました。

・Paiza
・LeetCode
・HackerRank

もちろん、腕試しなどの目的で利用する上ではとても良いサービスのようにも感じています。

WEBエンジニア転職のためのコーディングテスト対策

本記事では、未経験から転職する際に高確率で受験するコーディングテストの対策について解説しました。

1.『プロを目指す人のためのRuby入門』でRubyの用法を習得
2.「AtCoder」でコーディング力を向上の2ステップで効率よく対策できるはずです。

それでは、コーディングテストの突破、そしてWEBエンジニアへの転職頑張りましょう!!

【29歳社会人の実体験】未経験からWEBエンジニアへの転職活動方法

9月 1, 2019

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です