アルゴリズムの練習とプログラミング学習に最適な 6 つの Web サイト

アルゴリズムの練習とプログラミング学習に最適な 6 つの Web サイト

Google や Facebook のアルゴリズムを理解しなければ、面接に合格することはできません。 では、今すぐ学んでみませんか。

私は 15 年以上の経験を持つプログラマーです。 高校1年生からアルゴリズムについてたくさん勉強し、取り組んできました。 私は卒業するまで学び続け、熱心に学んでいました。 卒業後は留学し、研究者としてのキャリアを積みました。

しかし、3年間働いた後、私は研究よりも製品/ソフトウェアに取り組むことを好むようになりました。 私はアルゴリズムではなくテクノロジー/エンジニアリングに目を向けました。 しかし、個人的には、開発者がアルゴリズムを理解することは依然として重要だと考えています。 そして、それを知らなければ、Google や Facebook の面接に合格することはできないと思います。

[[329216]]

> Unsplash の Fabian Grohs による写真

1. ハッカーランク

ジュニアからシニアまで、開発者から採用マネージャーまで、この Web サイトはプログラミング コミュニティで非常に有名です。

> hackkerrank.com

Hackerrank には、難易度の低いものから高いものまでさまざまなアルゴリズムがあり、さまざまなアルゴリズムとデータ構造 (SQL も含む) もあります。 コードを書いて直接実行し、結果を確認したり、ディスカッションを見て他の人たちがどのように解決したかを確認したりします。

面接の過程で、いくつかの企業からテスト(アルゴリズム + 多肢選択式 + エッセイ)のためにここに来るように言われました。 だからここに来てもっと練習して慣れてください。

2. トップコード

> https://www.topcoder.com/challenges/

TopCoder は、プログラマーが互いに競い合う最も初期のオンライン「アリーナ」の 1 つでした。 コード エディターを使用してオンラインで実行できるアルゴリズム チャレンジのリストを提供します。 シングルラウンドは月に数回、特定の時間に開催され、コーダーは最も速く課題を解決し、最高のスコアを出すために互いに競い合います。

TopCoder で上位にランクインするユーザーは、非常に優れたプログラマーであり、多くのプログラミング コンテストに参加することがよくあります。 最高位の参加者には、コードコンテスト、アルゴリズム、数学など、好きなことについて書くことができる独自のブログ「ALGORITHMS WEEKLY BY PETR MITRICHEV」が与えられます。

3. ギークスフォーギークス

アルゴリズムの実装に問題がある場合は、Google で解決策を検索した後、このページに何度か遭遇したことがあるでしょう。

> https://practice.geeksforgeeks.org/

この geekforgeeks ページはちょっと見栄えが悪く、演習もあまりうまく分類されていません。 ただし、多くの一般的なアルゴリズム演習に対する解答が用意されています。 各ソリューションには、さまざまなアプローチと、各アプローチの複雑さ/メモリが含まれます。 これは非常に興味深く、有益な読み物です。

そのため、ホームページではこのページ/ソリューションの例とともに、人気のアルゴリズムが見られることもあります。

4. リートコード

もう一つの人気のあるアルゴリズムトレーニング Web サイト: Leetcode。 これに関する質問の数はハッカーランクと同数で、難易度は主に簡単/中程度/難しいの 3 レベルです (簡単な質問の中にも非常に難しい質問があります)。

> https://leetcode.com/

アルゴリズムの面接を受けたとき、能力を評価するには中程度の簡単な質問、Facebook/Google の面接では難しい質問がよく出されました。

このページは、他のページと比較してパフォーマンス/ランタイム コードを測定し、コードの実行速度が速いか遅いか、また最適化できるかどうかを確認するのにも役立ちます。

日々のコーディング問題

このページを知ったのは、Google 社員を辞めて YouTuber になった CS Dojo の YouTube チャンネルを視聴していたときでした。

> https://www.dailycodingproblem.com/

他のページとは異なり、このサイトには求人情報はありません。 代わりに、メールアドレスを入力すると、試すためのアルゴリズムが 1 日 1 つ送信されます。

これらも、Amazon や Google などの企業が候補者の面接に使用している「簡単/中程度」の難易度です。 プレミアム パッケージを購入すると、ソリューションを入手できます。

エクササイズ.io

他のページがアルゴリズムの練習に関するものである場合、演習はプログラミングを学ぶのに最適な場所です。

> https://exercism.io/

トレーニング用の演習はたくさんありますが、これらの演習はアルゴリズム的ではなく、プログラミング言語の使用に重点を置いています。

  • if/else ループを使用します。
  • 日付処理、文字列処理
  • メソッドの分離、クラスの編成
  • エラーの処理方法と非同期コードの書き方

私はこのウェブサイトを使って、Golang と Elixir についてさらに学んでいます。

しばらくプログラミングをしていて、新しい言語と新しい考え方を学びたいのであれば、ぜひ挑戦してください。

要約する

この記事では、アルゴリズムを練習し、プログラミングを学ぶための 6 つの非常に優れた Web サイトを紹介しました。

個人的には、あまり勉強する必要はないと思います。面接前に練習したい場合は、Skilled/Hackerrank/Leetcode にアクセスしてください。 あるいは、新しい言語を学ぶ必要がある場合は、スポーツを選択してください。

<<:  AIと機械学習を活用して、誰にでも何でも販売する

>>:  マスクの後ろに隠れて沈黙しないでください。AIはあなたが誰であるかを知っています

ブログ    

推薦する

UAI Trainプラットフォームに基づく分散トレーニング

序文大規模なデータセットでトレーニングされた最新のニューラル ネットワーク アーキテクチャは、画像認...

アルパカ科全体よりも優れたMeta AIの新しい自己アライメント手法は、人間の注釈データをほとんど必要としません

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

Python で機械学習を簡単に

ナイーブ ベイズ分類器を使用して、現実世界の機械学習の問題を解決します。ナイーブベイズナイーブベイズ...

テンセントのロボットファミリーに新しいメンバーが加わりました。「新年の挨拶をして紅包をお願いする」ことができるロボット犬を見たことがありますか?

テンセントは3月2日、自社で完全に開発したソフトウェアとハ​​ードウェアを搭載した初のマルチモーダル...

インターネットと自動車の大手企業が「自動運転」に賭けているのはなぜでしょうか?

米国現地時間の水曜日、マスク氏はソーシャルメディア上で、同社が今週、一部の選ばれた顧客に対して初の「...

Github のトップ 5 オープンソース機械学習プロジェクト!データ計算が最大80倍高速化!

挑戦的なオープンソース機械学習プロジェクト 5 つで、2020 年を良いスタートを切りましょう。これ...

AI導入から最大限の価値を引き出す方法

[[344258]]業界をリードする組織を対象とした調査では、世界中の組織の大多数 (91.6%) ...

3行のコードで損失なく40%高速化、You YangチームのAIトレーニングアクセラレータがICLR口頭発表論文に選出

プルーニングを使用すると、AI トレーニングを高速化し、ロスレス操作を実現できます。わずか 3 行の...

GPTストア立ち上げの裏側:民間開発者のグループが儲かり、スタートアップのグループが消滅

ノア著制作:51CTO テクノロジースタック(WeChat ID:blog)昨年末に一連の「宮廷闘争...

...

...

わかりやすく解説: 機械学習と統計モデリングの違い

これらは互いに大きく異なっており、すべてのデータ サイエンティストはその理由と方法を理解する必要があ...

人工知能:今優先すべき7つの役割

近年の退職者の急増は、労働力不足が現実であることを示している。セントルイス連邦準備銀行の調査によると...