アルゴリズムの練習とプログラミング学習に最適な 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はあなたが誰であるかを知っています

ブログ    

推薦する

人工知能の時代が到来し、教育は大きく変わるかもしれません。未来の教育は人工知能をベースにしたものになるのでしょうか?

「大作 SF 映画」を見るのが好きな学生にとって、最も気に入っているのは、映画に遍在する人工知能か...

LinkedIn が Dagli をオープンソース化し、Java 機械学習ライブラリをリリース

近年では、大規模データ向けのTensorFlow、PyTorch、Caffee、CNTK、Spark...

生成AIスタートアップにとっての大きな問題は、資金不足ではなくトレーニングデータの不足だ

6月16日、生成型人工知能のスタートアップ企業数社が数十億ドルの資金を調達したが、適切なデータを入手...

超過年齢の移民労働者への「許可命令」が白熱した議論を巻き起こす。建設ロボット代替の潮流が到来

長年にわたり、数億人の出稼ぎ労働者が経済建設と社会発展に積極的に参加し、中国の近代化推進に多大な貢献...

中小企業はデータセンターの自動化によってもたらされる課題にどのように対処するのでしょうか?

デジタル変革の時代において、データセンターは現代の企業のバックボーンを支える上で重要な役割を果たしま...

...

これはGPT-4が愚かである理由についての新たな説明である

かつては世界で最も強力だと考えられていたGPT-4も、リリース以来、いくつかの「信頼の危機」を経験し...

幼稚園のAI教材を公開!プログラミング学習は幼稚園から始まる

AIの学習は幼稚園から始まる最近、インターネット上で「人工知能実験教科書」の写真が流通している。この...

「AI Perspective Eyes」では、マー賞を3度受賞したアンドリューが、任意のオブジェクトの遮蔽補完の問題を解決するチームを率いた。

オクルージョンは、コンピューター ビジョンにおける最も基本的な問題ですが、未だに解決されていない問題...

...

...

業界の証人、Pudu Roboticsが北京ケータリング調達展示会に初登場

4月21日から23日まで、北京市易創国際会議展示センターでもう一つのケータリング会議、すなわち202...

勾配降下法から準ニュートン法まで: ニューラル ネットワークをトレーニングするための 5 つの学習アルゴリズム

ニューラル ネットワークでは、システムの学習プロセスは一般にトレーニング アルゴリズムによって支配さ...

...