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

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

序文

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

ブログ    

推薦する

ガートナー: 2024 年の主要な戦略的テクノロジー トレンド

2024 年までに、AI は企業で主流となり、クラウド サービス、セキュリティ、持続可能性も影響力を...

...

...

Linuxに顔認識ログインを追加する方法

最近、Deepin OS 20.05がリリースされ、追加された顔認識機能がコミュニティの注目を集めて...

RPAテクノロジーが製造業の未来をどのように変えるか

RPA コンサルティング サービスは、製造業者がソフトウェア ロボットを使用してさまざまな反復的なル...

Metaの最新自社開発チップの結果が明らかに、7nmプロセス、RISC-V CPUを統合

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...

...

ITリーダーはAIパワーの変化する需要とトレードオフを乗り切る

2023 年は世界中の IT 部門に多くの変化をもたらしました。これまでのところ、最大の驚きは Ge...

...

人工知能は親密な関係の「大きな殺し屋」

人工知能の存在は仕事や生活だけではなく、感情にも存在します。仕事の後で退屈を感じたら、たまごっちを飼...

プリンストン大学とインテルは、ResNetよりも大幅に高速で正確なParNetを提案している。

[[434088]]深さはディープ ニューラル ネットワークの鍵となりますが、深さが増すと、順次計...

...

Microsoft Copilot Pro が登場: 個人ユーザーも Word で GPT-4 を使用可能、月額 20 ドル

個人ユーザー向けの Microsoft Copilot メンバーシップ バージョンはここにあります。...

...