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

ブログ    
ブログ    
ブログ    
ブログ    
ブログ    

推薦する

...

マイクロソフトがOpenAIを救わなければならない理由

CEO を雇い、チームを雇い、CEO を復帰させ、取締役会に加わらせる - Microsoft はO...

Facebookのスマートスピーカー「フィオナ」と「アロハ」が今月下旬に発売される

Facebookは、現在FionaとAlohaというコードネームがつけられている2つのスマートスピー...

マグロのように尾の弾力性を動的に調整する「ロボットマグロ」がサイエンス誌に掲載

バージニア大学のダン・クイン教授と博士研究員のゾン・チアン氏は、生体力学、流体力学、ロボット工学を組...

バーチャルシンガー、AIの背後にある見えざる手が音楽の未来を握っているのか?

19 世紀以前、人々が集まるときには、人生の物語を語り、感情や考えを伝えるために、常に最も原始的な...

DeepSpeed ZeRO++: ネットワーク通信を4倍削減し、大規模モデルやChatGPTのようなモデルのトレーニング効率を大幅に向上

大規模な AI モデルがデジタルの世界を変えています。大規模言語モデル (LLM) に基づく Tur...

...

Java プログラミング スキル - データ構造とアルゴリズム「プレフィックス、インフィックス、サフィックス」

[[387421]]接頭辞表現(ポーランド語表記)プレフィックス式はポーランド式とも呼ばれます。プ...

人工知能がインダストリー4.0における製造業に革命をもたらす

人工知能 (AI) という用語は、流行語の地位を超え、業界全体にわたる技術革新の基礎となっています。...

サム・アルトマンが2023年の年末総括を発表、17の大格言がネット全体に響き渡る!

2023年も終わりに近づいています。過去1年を振り返ると、ChatGPTの登場が世界的なAIブーム...

T11 2019データインテリジェンステクノロジーサミット開催 AIは業界の破壊的変化をもたらす

[[283929]] 図: T11 2019 データインテリジェンステクノロジーサミット現在、データ...

TikTok買収事件、主要アルゴリズムが焦点に 英国メディア:買収候補は4つの選択肢を提示

ロイター通信が2日報じたところによると、TikTokの買収候補らは、主要アルゴリズムを伴わない買収を...

調査結果:人工知能はクリエイターにより多くのファンと収入をもたらす可能性がある

7月18日、DescriptとIpsosがポッドキャストや動画の制作者1,004人を対象に実施した調...

人工知能がビジネスを徐々に変えていく

確かに、人工知能(AI)主導のテクノロジーが人間を不要にするか否かをめぐる議論は、少なくともこの聴衆...

RNNに注目メカニズムを導入し、5つの主要分野におけるシーケンス予測問題を解決する

[[198915]]エンコーダー/デコーダー アーキテクチャは、多くの分野で最先端のパフォーマンスを...