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

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

推薦する

...

AIがハッカー攻撃を防ぐ方法

ビジネス ワークフローに AI ツールを導入すると、ハッカーにとってより価値が高く、防御が困難になる...

Llama 2 の中国語版はオープンソースであり、言語モデルとマルチモーダルモデルの両方を備えているため、完全に商用利用可能です。

7月19日、Metaはついに無料の商用版Llama 2をリリースし、オープンソースの大規模モデルの...

PaddlePaddle を使用してオブジェクト検出タスクを実装する - Paddle Fluid v1.1 の詳細なレビュー

【51CTO.comオリジナル記事】 1. はじめに11月1日、BaiduはPaddle Fluid...

C# データ構造とアルゴリズムのシーケンス テーブルの簡単な分析

C# データ構造とアルゴリズムのシーケンス テーブルとは何ですか?まず、C# のデータ構造とアルゴリ...

GPT-4 の王冠は落ちていません!クロード3アリーナの人間投票結果が発表されました: 3位のみ

クロード 3 のアリーナ ランクがついに登場:わずか 3 日間で 20,000 票が集まり、リストの...

Σco Time | AIセキュリティ、インテリジェンスの新時代における双方にメリット

[原文は51CTO.comより]先日、#Σcotimebetween#ライブブロードキャストプラット...

将来人工知能に置き換えられる可能性が最も低い10の仕事

人工知能(AI)の急速な発展は人々の生活に便利さをもたらしたが、労働市場には大きな変化をもたらすだろ...

企業は顧客サービスロボットをどのように選択すべきでしょうか?

現在、カスタマーサービス業界は質的な変化を遂げており、AIインテリジェントテクノロジーがカスタマーサ...

AIはデザインにおいて具体的にどのように使用されるのでしょうか?

人工知能は、過去数十年で最も大きな技術進歩の一つになりました。可能性は刺激的で無限であり、さまざまな...

コードコーパス、大規模モデル、インテリジェントエージェントの魔法の杖を振ると、より強力なエネルギーが呼び出されます

熱帯雨林の杖が、ダンブルドアのようなあらゆる時代の並外れた魔法使いの伝説を生み出したのと同じように、...

大学は人工知能人材育成に力を入れており、「ロボット工学」専攻が人気に

[[225297]]毎年恒例の「大学入試シーズン」が到来し、受験生や保護者にとって、受験願書の記入は...

...

人工知能を活用した機械駆動型データ自動ラベル付け法

[[416242]]オブジェクト検出、オブジェクト認識、セグメンテーション タスク用の自動注釈ソリュ...

新技術により大規模人工知能モデルの処理性能が効果的に向上

MIT と Nvidia の研究者は、高性能コンピューティング タスクで使用されるデータ構造であるス...