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

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

序文

短い記事を書こうと決めたので、これがそれです。私がこの記事を書こうと思った理由は、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 ネットワーク パケット保存アルゴリズム

ブログ    

推薦する

脳の次元: 人工知能の波の中での適者生存

[[263690]]さまざまな新しい人工知能技術は、古代の伝説の洪水のように、社会全体を急速に「浸水...

...

市場レポートの予測: 2027年には世界の生体認証市場は1,000億ドルに近づく

近年、人工知能の継続的な成熟に伴い、生体認証技術は生活のあらゆる分野に浸透し、コストが削減され、効率...

...

102歳の統計学の伝説、CRラオ氏が死去。彼の人生は「統計の世紀」を経験した

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

ソフトウェアプログラマー試験: 最もシンプルなコード実装による最速のソートおよび検索アルゴリズム

アルゴリズムの中心的な問題はソートと検索です。これら 2 つの分野は最も広く使用され、最も徹底的に研...

AI 導入の謎を解明: クラウドとエッジ

現在、ディープラーニング テクノロジーを展開できる方法としては、デバイス上への直接展開、クラウド内へ...

AIはセルオートマトンを通じてMinecraftで家を建てることを学ぶ

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

スマートビルディングテクノロジーを導入する前に考慮すべき7つのこと

スマートビルディングの設備やシステムを評価する際には、体系的なアプローチを取る必要があります。これら...

モバイルロボットソフトウェアの自動テストの課題への対応

自動化されたモバイル ホーム ロボットの複雑さを探り、セットアップの特有の課題と制約の克服に焦点を当...

人工知能は都市をよりインテリジェントに発展させる力を与える

人工知能などのハイテク手段を基盤として構築された都市脳は、都市の経済発展のための「ブラックテクノロジ...

...

Microsoft Bing Chat が GPT-4 Turbo モデルを導入、一部のユーザーは無料で使用可能

12月25日、Windowslatestによると、Microsoft Bing ChatのGPT-4...

2021 年に IT 自動化と AI はどこに向かうのでしょうか?

IT自動化と人工知能技術の進歩と発展により、IT担当者の働き方は大きく変化しました。今年に入って新...

機械の魂: 未来の工場における AI の応用について

未来の工場はどのようなものになるでしょうか? AI を主要な原動力として、工場はより機敏かつカスタマ...