今回はHackerRankに関してまとめます。実際に使ってみての感想や業界での評判、コーディング面接対策までをまとめました。
HackerRankとは?
HackerRank(ハッカーランク)とは、プログラミングの問題を解くことができるサイトです。
2012年にローンチにされ、2015年にはリクルートホールディングスが、「HackerRank」を運営するInterviewstreet, Inc.に出資するなど、日本での存在感を増しています。
参考:リクルート、エンジニアに特化したアセスメントサービス『HackerRank』を展開するInterviewstreet, Inc.への出資を実施
世界中のエンジニアが、様々な領域のプログラミングの問題にチャレンジできるサービスです。
C, C++, Java, Python, PHP, Swiftなどを使って、プログラミングの問題を解くことができます。
HackerRankの特徴
HackerRankは下記のような特徴があります。
- サイトは全て英語
- 質問ができる
- 全世界のエンジニアに利用されている
- コーディングテスト対策ができる
- HackerRank上で転職活動ができる
- 他人のコードをみて勉強ができる
- コードに関して解答方法を勉強できる
- プログラミングコンテストに参加できる
サイトが全て英語なので慣れるまでは大変ですが、問題が豊富にあり、レベルもアップしていくので楽しみながら学習を進めていくことができます。
HackerRankの使い方
HackerRankの登録の仕方から、質問、解答を確認する方法など簡単にまとめました。
登録方法
下記URLから登録することができます。
https://www.hackerrank.com/

質問(Discussions)
HackerRankは「Discussions」機能があります。
下記はSQLの問題の1つですが、このような形式で質問をすることができます。

解答例(Leaderboard)
「Leaderboard」は他の人のコードを確認できる機能です。
また、「View solution」をクリックすると、他人の書いたコードを確認することができます。
他人のコードをみるのも非常に勉強になります。

バッチ
「challenges」を解くと貰えます。ひと目で自分の実績・努力が可視化されるのがいいですね。

メダル
メダルはプロフィールに載せることができます。
公式サイトによると、Goldは全体の4%ほどとのことです。Gold目指したいですね〜。
Gold – 4%
https://www.hackerrank.com/scoring
Silver – 8%
Bronze – 13%
私は現在Bronzeです。

HackerRankのはじめかた
1つの問題を例として、実際にHackerRankをはじめるまでの5つのステップを載せます。
こちらの問題を参考として使います。
問題はこちらのリンクをクリックして確認できます。
参考:Mini-Max Sum
言語を選ぶ
自分が普段使っている言語選択します。

問題を解く
初期でコードが用意されていますが、他人の解答をみると全て消して書いている人が多いので、全消ししても良さそうです。
実際にアウトプットが正確であれば問題有りません。
テストを実施
自分の書いたコードが正しく動くか?を「Run Code」から確認できます。
テストが通ったら提出しましょう。
コードの提出
「Submit Code」からコードを提出します。
提出履歴は「Submissions」から確認できます。
リロードしないと反映されない場合があるので気をつけましょう。
他人の解答を確認
「Submissions」後に、「Leaderboard」から他人のコードを解答をみることができます。
提出していないと「Reveal solutions」が表示されます。
HackerRankの学習ロードマップ
HackerRankは登録後の勉強の仕方がわかりずらいところがあります。そこで、実際に勉強してみてオススメの学習ロードマップをまとめました。
ここでは、企業のコーディングテストの対策をする前提での学習方法になります。
Problem Solving
まずは「Problem Solving」から始めるのがオススメです。基礎的な問題が複数あります。
1つの問題を10分程度で解くことができるお手軽さが良いです。
まずは、2〜3問ほど解いてHackerRankの使い方を学ぶのがおすすめです。
リンクはこちら
Solve Algorithms | HackerRank
Interview Preparation Kit
面接対策用の問題集です。全部で69問あります。こちらの問題をひたすら解くことをおすすめします。
1問解いてみましたが、配列やソートなど基礎的な問題を解くことができるます。まずは解いてみてどの程度のレベル感なのか?を確かめてみるのをおすすめします。
学習の仕方
Hackerrankの良くない点としては、自分の書いたコードがポートフォリオとして使えないことです。
Hackerrankを利用して採用している企業なら見れるかもしれませんが、その他企業に実績としてアピールするには、工夫が必要です。
Githubをみてみるとリポジトリを作成して、自分の解答方法を載せている人がいるので、実績として利用するにはGithubを使うのが良さそうです。
参考:Github|Hackerrank
体験した感想
私はまだ「Problem Solving」を行っており、達成率が73%です。
この状態で何社かコーディングテストを受けましたが、比較的基礎的なところを問われる企業なら対応できそうです。
しかし、trank.runを使ったコーディングテストの場合は「Problem Solving」のみだとキツかったです。
もう少し実践的な問題である「Interview Preparation Kit」を解きたいです。こちらは、「Interview Preparation Kit」を解ききって、改めてコーディングテストを受けた際に別途まとめたいと思います。
HackerRankでコーディングテスト実施企業
HackerRankは、採用活動でも積極的に活用されます。実際にHackerRankを使ってコーディングテストを実施している企業をまとめました。(2021年10月現在)
エムスリー株式会社
HackerRankを使ってエンジニア採用をしている企業としては、エムスリー株式会社が有名です。
技術力が高く、超伸びているので人気の企業ですね。
実際に、エムスリー株式会社に入社された人もHackerRankを使って対策したそうです。参考としてリンクを貼ります。他にも数件記事があるので、是非Googleでエゴサしてみてください。
参考:エムスリーに転職します
株式会社ソウゾウ
株式会社ソウゾウはソフトウェアエンジニアの選考ガイドをGitHub上で公開しています。
コーディングテストについては利用している外部Webサービス名(Hacker Rank)と具体的な出題範囲(Problem Solving(Basic)、Problem Solving(Intermediate))を公開することで、応募者が事前に対策できるようにしました。
Souzoh ソフトウェアエンジニア選考ガイドを読むとどういう人を求めているか?がわかるのでミスマッチが減りそうですね。
HackerRankの評判
Twitterでエゴサしてみます。
ちなみに、「HackerRank」でエゴサすると基本外国人のツイートが出てきます。
良い評判
悪い評判
悪い評判ではないですが、もちろん問題によって難易度は異なるので注意が必要ですね。
体験談
HackerRankと類似サービス
HackerRankとの類似サービスは下記のようなサービスがあります。
- CodeIQ
- Topcoder
- paiza
- AtCoder
- LeetCode
使ったサービスからまとめていきたいなと思います!
個人的には「AtCoder」と「LeetCode」をよく聞くので触ってみたいなと思います。
HackerRankのF&Q
その他、本記事でわからないことは公式サイトのF&Qで確認できます。
参考:FAQ | HackerRank
HackerRankのまとめ
HackerRankはプログラミングを学習する上で非常に使いやすく、私も愛用しています。まずは、「Interview Preparation Kit」を終わらせたいと思います。
エンジニア転職に関してまとめました。