introduction
昨年、RSSだか社内チャットだかどこだったか忘れたが、とある海外エンジニアのブログを読んだ。 job interview をどう突破したのかが書かれていて、非常に刺激になった。
そこに、面接対策として、hackerrank.comで基本的なアルゴリズムを復習した〜ということが書かれていた。 ああ、binary treeや、sort、search アルゴリズムは当然学生時代に散々勉強したけど、実務でこれらを使うことは無かったし すぐ説明しろと言われてもできないなあ(英語面接ならなおさら)と気づいた。
というわけで昨年、業務後にhacker rankのアルゴリズムコースの問題をひたすら解いていた。
これからアルゴリズムを勉強、あるいは復習してみたい(英語で)という人は参考にしてみるといいかもしれない。
Hecker Rank とは?
www.hackerrank.com HackerRank - Wikipedia
how to begin
- サイトにアクセスし、まず sign up する。無料なので安心して欲しい。
登録できたら、practice へ行く。いきなりアルゴリズムコースへ行ってもいいが、まずはどういうものか慣れるためにもTutorialをやってみるといいだろう。 30 days of code は、1問5分以内で終わるのでコツを掴むのにおすすめ。 https://www.hackerrank.com/domains/tutorials/30-days-of-code
tutorialを終えたら、algorithmsへ。 https://www.hackerrank.com/domains/algorithms Subdomains にアルゴリズムのカテゴリがわけられているので、たとえば探索アルゴリズムをやりたい場合は、'Search' カテゴリへ行けばいい。
問題の選び方
各問題には、Success Rate、Difficultyと言うものが表示されている。Success Rate、Difficultyを見て問題の難易度を先にチェックしてから挑戦しよう。Mediumでも結構難しい問題は多い。とりえあずEasyから始めることをおすすめする。さらに言えばEasyの中でもSuccess Rateの高い問題は易しい。英語に慣れていなければEasy問題の問題文を読むだけでも割りと大変かもしれない。
問題を解く
セレクトボックス内にある言語であれば、自由に選択できるので、好きな言語を選択できる。 問題がどうしても解けない場合、問題の Discussions へ行くといい。過去のログをみればEasy, Medium問題は大抵は解決する。たまに解答コードが直に貼られてあったりする。
バッジがもらえる
いっぱい問題を解くとポイントが溜まり、バッジを貰える。 何の役に立つのかはわからない。
Algorithms badge lv3
関連書籍。去年読んだ。買っておいて損はないという感じ。
世界で闘うプログラミング力を鍛える150問 トップIT企業のプログラマになるための本
- 作者: Gayle Laakmann McDowell
- 出版社/メーカー: マイナビ出版
- 発売日: 2012/11/13
- メディア: Kindle版
- この商品を含むブログ (3件) を見る