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

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

序文

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

ブログ    

推薦する

データとAIが現代の人事慣行をどのように変えているのか

今日の人事チームにはバランスを取ることが求められています。一方では、データと AI の力を活用してビ...

自律型ドローン技術の長所と短所を探る

自律型ドローン技術は、業界全体に変革をもたらす力として登場し、比類のない効率性と革新性を約束していま...

4 つの C# ソート アルゴリズムのコード例

C# のソート アルゴリズムには通常、ループと割り当てが含まれます。ソートにより、簡単な統計と分類を...

OpenAIは「世界クラスの人材」を採用するためにロンドンに海外支社を設立すると発表

オープンAIは6月29日水曜日、ロンドンに新オフィスを設立すると発表した。これは同社にとって米国外初...

人工知能による影の検出と除去、反射に基づく影の検出と除去方法を実現

AI による影の検出と除去、反射ベースの影の検出と除去方法に向けて、概要: 影は画像によく見られる要...

...

...

時間との競争! AIは病気の遺伝子解析と診断の加速器である

科学技術分野において、国境を越えた融合による新しいものによってもたらされる破壊的な競争は、あくまでも...

Microsoft CTO: AI は地方の住民がパンデミックを乗り切るのにどのように役立つのでしょうか?

[[324043]]この記事はLeiphone.comから転載したものです。転載する場合は、Lei...

...

...

魔法の顔認識: たとえマスクやサングラスをかけていても、身近な人を認識できるのはなぜでしょうか?

見知らぬ人々の集団の中に見覚えのある人を見つけたり、とても見覚えのある顔を見かけたりします。その人は...

「翼竜」が飛び立ち、その威力を発揮。固定翼ドローンについて、あなたはどのくらい知っていますか?

空を飛ぶ龍、数千マイル離れたところから救援に駆けつける!最近、「翼龍」無人機が飛び立ち、被災地に急行...