ベストアンサー
「良い」とはどういう意味なので、答えるのはほとんど役に立たないようです。何を達成したいですか?
採用したい場合は、採用するのに良い方法かもしれませんが、本当に優れたホットショットでない限り、そうは思われません。しかし、あなたがどうするかを知ることは困難です。あなたがうまくコーディングする方法を知っていて、それを証明することができれば、仕事を見つけるためのより良い方法があると私はかなり確信しています。たとえば、githubにいくつかの便利で便利なコードを配置します。
私は最近(ここ数か月間)そこで多くの時間を費やしています。他の学習努力と同様に、それはあなたがそれをしている間あなた自身を管理するのを助けます。緑のチェックマークと金貨とより良いバッジを獲得するプロセスは中毒性がある可能性があるため、非生産的な高原に注意してください。
人々はデイリーチャレンジを批判しますが、デイリーチャレンジを作成することも創造的なプロセスであることに気づきます。コメント
言語を学ぶために、自分のペースで問題を解決できるアーケードセクションがあります。完了順に人をランク付けしているように見えるので、競争力のあるものではありません。これは、PHPの関数と配列に慣れるために非常に役立ち、OOメソッドの使用にも取り組んでいます。
毎日の課題は非常にエキサイティングで、興味深いものであり、挑戦。いつでもできるのなら、それは簡単すぎます。説明を読むことは芸術です。説明を正しく理解する前にコーディングを開始するのが速すぎて、後悔することがあります。また、問題を正しく解決する方法を理解する前に、正しくない解決策を考えてコーディングを開始することもあります。最近、それらを解決するために動的計画法の手法を必要とする非常に困難な問題がいくつかあり、それらのうちの3つは、私が多くの時間で実行できなかったものでした。
挑戦的なパズルを実行してブラッシュアップしたい場合PHP、C ++、Java、MySQL、Javascriptでのコーディングスキル、またはHaskell、Python、R、Rubyなどの高度な言語を学ぶ場合、Codefightsは素晴らしいアクセス先のサイト。
回答
データ構造とアルゴリズムの知識を強化するために、両方のプラットフォームをかなり広範囲に使用しました。
Hackerankの強み
- たくさんの質問があり、トラックにまとめられています。正規表現/ Java / SQL /アルゴリズム/データ構造/ Python /数学の使用方法について知りたいですか?これらのトピックのそれぞれには、特定のサブトピックを持つ特定のパスがあります。
- これらのサイトを使用して面接の準備を行う場合、多くの企業が面接プロセスの一部としてハッカーランクを通じてコーディングの課題を送信します、だから慣れることは良いことです。 Expedia、GE、Goldman Sachs、Optiverなどがその例です。
- ウェブサイトからほぼすべての機能(すべてではないにしても)を無料で入手できます。有料サブスクリプションのないLeetcodeには、明確な欠点があります。
- たとえば、他のすべてのソリューションに対してランク付けするためにソリューションを実行する方法が原因で、ソリューションをすぐに送信できるとは限りません。
- ほとんどすべての問題ステートメントには、1つまたは2つのテストケースと回答の例があり、回答が現状のままである理由がかなり徹底的に説明されています。これはLeetcodeではあまり一般的ではありません。
- Hackerrankに投稿されたすべての質問には、[編集]タブに検証済みの解決策があります。すべてのLeetcodeの質問に1つあるわけではありません(両方のプラットフォームで[ディスカッション]タブをクリックすると簡単に回答を得ることができます)
- 両方のサイトに、送信する前にコードを実行するための目に見えるテストケースがあります。 Hackerrankはそれらの目に見えるものを一般的なケースにするのにかなり良い仕事をしますが、Leetcodeはほとんどの場合目に見えるテストにエッジケースを使用します。
- Hackerrackにはvimバインディングがあります! (それに興味がある場合)
リートコードの強み
- リートコードについて私が気に入っているのは、問題の説明が的を射ていることです。ハッカーランクは、少し長い紹介と実際のタスクを隠すシナリオを描く傾向があります。
- 例:ハッカーランクは「サリーはチョコレートが大好きですがナトリウムの量が最も少ないチョコレートを食べたい。ナトリウムレベルの配列が与えられた場合、ナトリウムが最も低いチョコレートを返します。」
- 同等のLeetcodeは「整数の配列が与えられた場合、最小要素」
- HackerrankとLeetcodeはどちらも、ソリューションとテストケースのタイミングを調整することにより、アルゴリズムの実行時コストを比較します。ただし、ソリューションが承認されると、同じプログラミング言語で承認されたすべてのソリューションと、速度を上げるために打ち負かしたソリューションの割合が一覧表示されます。
- テスト環境ははるかに優れています。カスタムテストケースを入力すると、正しいソリューションも実行されるため、自分のテストケースが正しいか間違っているかをすぐに知ることができます。Hackerrankでは、カスタムテストケースを実行するとソリューションのみが実行されます。
- 私が気に入っているもう1つの点は、すべての問題について、コーディングインターフェイスで必要なのは事前定義された関数シグネチャの操作だけです。 Hackerrankでは、多くの場合、入出力を処理する必要があり、文字列照合を実行して回答を検証するため、少し面倒になる可能性があります。
- 真剣に…なぜ「YES」または「
- Leetcodeにはその派手な「質問はXCompanyからY%の頻度で尋ねられました」
- / span>サブスクリプションでアクセスできます。個人的には、このツールはそれほど有用ではないと思います。X社との面接を受ければ、特定の質問をすべて覚えることができるという誤った印象を与えます。
個人的にはLeetCodeの方が好きです。そして、最終的には、それを何に使用するかによって決まります。
免責事項:これらは、長所と弱点はあります。一部の人々は弱点が本当に強みであると考えるかもしれませんが、その逆もあります。