プログラマーが面接でアルゴリズムについて素早く準備する方法

プログラマーが面接でアルゴリズムについて素早く準備する方法

序文

短い記事を書こうと決めたので、これがそれです。私がこの記事を書こうと思った理由は、Weibo 上の友人たちが卒業して就職活動をするときにアルゴリズムに備えるにはどうしたらよいかとよく私に尋ねてくるからです。以下のようにWeibo上で簡単に整理されています。

[[108559]]

しかし、文字数制限があるため、この記事では、プログラマーが面接でアルゴリズムに素早く備える方法に焦点を当て、関連する書籍や資料をいくつか推奨することにしました。

アルゴリズム面接に備える5つのステップ

一般的に、面接におけるアルゴリズムの準備は、次の 5 つのステップに分かれています。

1.プログラミング言語を習得していることを確認する

  • C の場合、Dennis M. Ritchie と Brian W. Kernighan による「The C Programming Language」と「C and Pointers」をお勧めします。
  • C++ については、「C++ Primer」、「Deep Exploration of C++ Object Model」、および「Effective C++」をお勧めします。

言語を習得するのは簡単ではありません。本をパラパラとめくるだけで達成できるものではありません。言語の詳細は、日常生活の中で継続的にプログラミングを実践することで習得する必要があります。

2. Microsoftの面接100の質問シリーズに目を通す

私は 2010 年に Microsoft 面接 100 問シリーズの編集を開始し、かなりの数の質問を見てきました。しかし、質問がどのように変化しても、それらは依然として一般的な質問タイプとテスト ポイントです。もちろん、知識ポイントをテストせず、純粋にプログラミング スキルをテストする質問もよくあります。しかし、状況がどのように変化しても、常に 2 つのポイントがあります。1. 基本的な知識ポイントの習得。2. 基本的なプログラミング スキル。

そして、Microsoft の面接の質問 100 問を読み終えると (最後まで読む必要はありません)、筆記面接におけるデータ構造とアルゴリズムの重要性が理解できるようになります。

3. データ構造の基礎を学ぶ

データ構造を学習したい場合は、大学で学んだデータ構造の教科書を読んでください。それが十分標準に達していないと感じた場合は、「STL ソースコード分析」を参照してください。

4. アルゴリズム入門を読む

「アルゴリズム入門」の最初のほとんどの章では、古典的でよく使われるデータ構造と典型的なアルゴリズム (バイナリ検索、クイック ソート、ハッシュ テーブルなど)、および高度なデータ構造 (赤黒木、B ツリーなど) について説明しています。すでにデータ構造の教科書を修了している場合は、貪欲法、動的プログラミング、グラフ理論などに焦点を当てることをお勧めします。これら 3 つのトピックにはそれぞれ、多くの疑問があります。

アルゴリズムの概要がわからない場合は、このブログを読んでください。

5. LeetCodeやCC150、またはArt of Programmingシリーズを復習する

  • 主に海外で仕事を探している場合は、2 つの面接プログラミング Web サイトをお勧めします。1 つは http://leetcode.com/ で、プログラミングに関する質問が多数掲載されている海外の Web サイトです。もう 1 つは http://www.careercup.com/ で、この Web サイトの創設者は後に「careercup cracking coding interview」という本を執筆し、最終的には Turing Education によって「Programmer Interview Classic」として翻訳され出版されました。
  • 中国で仕事を探しているなら、私が書いた本「プログラマのためのプログラミングの芸術」を強くお勧めします。ブログ版の「プログラミングの芸術」と、ブログ版をベースに合理化され最適化されたgithub版の「プログラミングの芸術」があります。さらに、「プログラミングの美」や「オファーに指さす剣」もお読みいただけます。

国内または海外の大量データ処理の面接の質問に備えているなら、この記事は必読です。大量データ処理の面接の質問の 99% を素早く解決する方法を教えます。

追記

勉強するときに避けるべき最悪のことは、焦り、すぐに成功しようと焦ることです。アルゴリズムを練習したとしても、必ずしも筆記試験や面接にミスなく合格できるわけではありません。一般的に言えば、一般的な筆記試験や面接では、基礎知識の70%+コーディング能力(アルゴリズムを含む)の30%が求められるからです。したがって、上記の5つのステップを実行したとしても、十分とは言えません。最後に、ギャップを埋めるのに役立つ本のリストをお勧めします(すべてを読む必要はありませんし、追加してもかまいません)。

  1. コンピュータシステムに関する深い理解
  2. W. Richard Stevens の『TCP/IP Explained in Three Volumes』、『UNIX Network Programming in Two Volumes』、および『Advanced Programming in the UNIX Environment: 2nd Edition』の詳細については、この Douban ページを参照してください。
  3. ..
要約すると、上記のプロセス全体には、最短で半年、最長で 3 年かかる場合があります。 ***一言: すぐに成功してすぐに利益を得たいと切望する人は失敗する運命にあります。早く成功したいのであればあるほど、一歩ずつ進み、着実に前進するべきです。

オリジナルリンク: http://blog.csdn.net/v_july_v/article/details/19131887

<<:  トイレに座ってアルゴリズムを見る: クイックソート

>>:  敏捷性の秘密: iPCA ネットワーク パケット保存アルゴリズム

ブログ    
ブログ    
ブログ    

推薦する

「激怒」するビッグモデルがレコメンデーションシステムと衝突したとき

ChatGPTに代表される大規模モデル技術の急速な発展により、レコメンデーションシステムは革命的な変...

10年後には自動運転車が普及するでしょうか?

私は知乎でこの質問を見ました: 自動運転車は10年後には当たり前になるでしょうか?そして、今でも運転...

...

中国科学院深圳先端技術研究所:新しい知識強化グラフニューラルネットワークが説明可能な推奨を実現

近年、ビッグデータとディープラーニングに基づく人工知能は、驚くべきコンピューティング能力と学習能力を...

ストリームPETRを超えて! BEVNeXt: 高密度 BEV 認識のための新しいフレームワーク

この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...

...

...

...

2023 年の人工知能エンジニアリングの 5 つの新しい方向性

LLMの大幅な増加に加え、AI開発ツールも拡大しています。今年の AI 開発における 5 つの主要な...

エッジにAIを導入する3つのメリット

AIワークロードをエッジで実行することで、経済性の向上、意思決定の迅速化、自動化が可能になります。誇...

周志華:「データ、アルゴリズム、計算力」は人工知能の3つの要素であり、今後は「知識」が加わる必要があります。

CCF-GAIR 2020人工知能フロンティア特別セッションでは、南京大学コンピュータサイエンス学...

何開明のMAE制限が破られ、Swin Transformerと組み合わせることで、トレーニング速度が向上しました

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

あなたはまだこれらの仕事をしていますか?マシンビジョンと人工知能により、今後10年間で失業することになるかもしれません

[[216406]]新しい技術の出現は、それに関わる人々の仕事を常に変えていきます。メインフレームコ...

現在のディープラーニングが人工知能にとって行き詰まりとなっている理由を20の理由から説明します。

ディープラーニングが初めて登場したとき、ほとんどの AI 研究者はそれを嘲笑しましたが、わずか数年で...