|
@@ -56,7 +56,7 @@ SREまたはシステムエンジニアになりたい場合は、オプショ
|
|
- [コーディング面接の大学](#コーディング面接の大学)
|
|
- [コーディング面接の大学](#コーディング面接の大学)
|
|
- [これは何?](#これは何)
|
|
- [これは何?](#これは何)
|
|
- [目次](#目次)
|
|
- [目次](#目次)
|
|
- - [なぜそれを使用するのですか?](#なぜそれを使用するのですか)
|
|
|
|
|
|
+ - [なぜこれを使用するのか](#なぜこれを使用するのか)
|
|
- [それの使い方](#それの使い方)
|
|
- [それの使い方](#それの使い方)
|
|
- [あなたは十分にスマートではないと感じないでください](#あなたは十分にスマートではないと感じないでください)
|
|
- [あなたは十分にスマートではないと感じないでください](#あなたは十分にスマートではないと感じないでください)
|
|
- [ビデオリソースについて](#ビデオリソースについて)
|
|
- [ビデオリソースについて](#ビデオリソースについて)
|
|
@@ -69,7 +69,6 @@ SREまたはシステムエンジニアになりたい場合は、オプショ
|
|
- [C++](#c)
|
|
- [C++](#c)
|
|
- [Java](#java)
|
|
- [Java](#java)
|
|
- [Python](#python)
|
|
- [Python](#python)
|
|
- - [オプションの書籍](#オプションの書籍)
|
|
|
|
- [始める前に](#始める前に)
|
|
- [始める前に](#始める前に)
|
|
- [1.あなたはそれをすべて覚えていない](#1あなたはそれをすべて覚えていない)
|
|
- [1.あなたはそれをすべて覚えていない](#1あなたはそれをすべて覚えていない)
|
|
- [2.フラッシュカードを使用する](#2フラッシュカードを使用する)
|
|
- [2.フラッシュカードを使用する](#2フラッシュカードを使用する)
|
|
@@ -100,9 +99,9 @@ SREまたはシステムエンジニアになりたい場合は、オプショ
|
|
- [ビデオシリーズ](#ビデオシリーズ)
|
|
- [ビデオシリーズ](#ビデオシリーズ)
|
|
- [コンピュータサイエンスコース](#コンピュータサイエンスコース)
|
|
- [コンピュータサイエンスコース](#コンピュータサイエンスコース)
|
|
|
|
|
|
-## なぜそれを使用するのですか?
|
|
|
|
|
|
+## なぜこれを使用するのか
|
|
|
|
|
|
-私はこのプロジェクトを始めたとき、ヒープからスタックを知りませんでしたし、Big-Oの何か、樹木に関すること、グラフをたどる方法を知らなかったのです。
|
|
|
|
|
|
+私はこのプロジェクトを始めたとき、ヒープからスタックを知りませんでしたし、Big-O とは何か、木構造に関すること、グラフをたどる方法を知らなかったのです。
|
|
ソートアルゴリズムをコーディングしなければならない場合は、あまりうまくいきませんでした。
|
|
ソートアルゴリズムをコーディングしなければならない場合は、あまりうまくいきませんでした。
|
|
これまで使用してきたすべてのデータ構造は言語に組み込まれていて、どのようにしてそれらがどのようにして動作するのか分かりませんでした。
|
|
これまで使用してきたすべてのデータ構造は言語に組み込まれていて、どのようにしてそれらがどのようにして動作するのか分かりませんでした。
|
|
私が実行していたプロセスが "メモリ不足"エラーを出さない限り、メモリを管理する必要はありませんでしたが、回避策を見つけなければなりません。
|
|
私が実行していたプロセスが "メモリ不足"エラーを出さない限り、メモリを管理する必要はありませんでしたが、回避策を見つけなければなりません。
|
|
@@ -144,7 +143,7 @@ SREまたはシステムエンジニアになりたい場合は、オプショ
|
|
|
|
|
|
## あなたは十分にスマートではないと感じないでください
|
|
## あなたは十分にスマートではないと感じないでください
|
|
- 成功したソフトウェアエンジニアはスマートですが、多くの人はスマートではないという不安があります。
|
|
- 成功したソフトウェアエンジニアはスマートですが、多くの人はスマートではないという不安があります。
|
|
-- [Geniusプログラマーの神話](https://www.youtube.com/watch?v=0SARbwvhupQ)
|
|
|
|
|
|
+- [天才プログラマーの神話](https://www.youtube.com/watch?v=0SARbwvhupQ)
|
|
- [一人で行くのは危険だ:テクノロジーの見えない魔物と戦う](https://www.youtube.com/watch?v=1i8ylq4j_EY)
|
|
- [一人で行くのは危険だ:テクノロジーの見えない魔物と戦う](https://www.youtube.com/watch?v=1i8ylq4j_EY)
|
|
|
|
|
|
---
|
|
---
|
|
@@ -154,10 +153,10 @@ SREまたはシステムエンジニアになりたい場合は、オプショ
|
|
一部のビデオは、Coursera、EdX、またはLynda.comクラスに登録することによってのみ利用できます。
|
|
一部のビデオは、Coursera、EdX、またはLynda.comクラスに登録することによってのみ利用できます。
|
|
これらはMOOCと呼ばれています。
|
|
これらはMOOCと呼ばれています。
|
|
時にはクラスがセッションに入っていないので、数ヶ月待つ必要があるため、アクセス権がありません。
|
|
時にはクラスがセッションに入っていないので、数ヶ月待つ必要があるため、アクセス権がありません。
|
|
-Lynda.comコースは無料ではありません。
|
|
|
|
|
|
+Lynda.comコースは有料です。
|
|
|
|
|
|
- オンラインコースビデオに付随するYouTubeビデオなど、無料で常時利用可能なパブリックソースを追加することに感謝します。
|
|
|
|
- 私は大学の講義を使うのが好きです。
|
|
|
|
|
|
+オンラインコースビデオに付随するYouTubeビデオなど、無料で常時利用可能なパブリックソースを追加することに感謝します。
|
|
|
|
+私は大学の講義を使うのが好きです。
|
|
|
|
|
|
|
|
|
|
## 面接のプロセスと一般的な面接の準備
|
|
## 面接のプロセスと一般的な面接の準備
|
|
@@ -212,6 +211,7 @@ Lynda.comコースは無料ではありません。
|
|
- コーディング面接をクラッキングするためのウォームアップが良い
|
|
- コーディング面接をクラッキングするためのウォームアップが良い
|
|
- あまりにも難しくない、ほとんどの問題はあなたが面接で(私が読んだことから)見ることよりも簡単かもしれない
|
|
- あまりにも難しくない、ほとんどの問題はあなたが面接で(私が読んだことから)見ることよりも簡単かもしれない
|
|
- [ ] [Cracking the Coding Interview、第6版](http://www.amazon.com/Cracking-Coding-Interview-6th-Programming/dp/0984782850/)
|
|
- [ ] [Cracking the Coding Interview、第6版](http://www.amazon.com/Cracking-Coding-Interview-6th-Programming/dp/0984782850/)
|
|
|
|
+- [ ] [日本語版(世界で闘うプログラミング力を鍛える本)](https://www.amazon.co.jp/dp/4839960100/ref=cm_sw_r_tw_dp_6TFC3Y2R6TQTDEFFFPKZ)
|
|
- Javaでの回答
|
|
- Javaでの回答
|
|
|
|
|
|
もし余分な時間があれば:
|
|
もし余分な時間があれば:
|
|
@@ -223,26 +223,28 @@ Lynda.comコースは無料ではありません。
|
|
|
|
|
|
### コンピュータアーキテクチャ
|
|
### コンピュータアーキテクチャ
|
|
|
|
|
|
-短い時間:
|
|
|
|
|
|
+短期:
|
|
|
|
|
|
- [ ] [グレートコードの作成:第1巻:マシンの理解](https://www.amazon.com/Write-Great-Code-Understanding-Machine/dp/1593270038)
|
|
- [ ] [グレートコードの作成:第1巻:マシンの理解](https://www.amazon.com/Write-Great-Code-Understanding-Machine/dp/1593270038)
|
|
|
|
+- [ ] [日本語版:Write Great Code〈Vol.1〉ハードウェアを知り、ソフトウェアを書く](https://www.amazon.co.jp/dp/4839918201/ref=cm_sw_r_tw_dp_69724M3EHRJ8E7A14JNC)
|
|
- この本は2004年に出版され、幾分古いですが、コンピュータを簡単に理解するには素晴らしいリソースです。
|
|
- この本は2004年に出版され、幾分古いですが、コンピュータを簡単に理解するには素晴らしいリソースです。
|
|
- 作者はHLAを発明したので、塩の穀物でHLAの言及と例を取り上げます。広く使われているわけではありませんが、どのようなアセンブリのように見えますか?
|
|
- 作者はHLAを発明したので、塩の穀物でHLAの言及と例を取り上げます。広く使われているわけではありませんが、どのようなアセンブリのように見えますか?
|
|
- これらの章はあなたに素敵な基礎を与えるために読む価値があります:
|
|
- これらの章はあなたに素敵な基礎を与えるために読む価値があります:
|
|
- - 第2章 - 数値表現
|
|
|
|
- - 第3章 - 2進算術とビット演算
|
|
|
|
|
|
+ - 第2章 - 数値表現
|
|
|
|
+ - 第3章 - 2進算術とビット演算
|
|
- 第4章 - 浮動小数点表現
|
|
- 第4章 - 浮動小数点表現
|
|
- 第5章 - キャラクター表現
|
|
- 第5章 - キャラクター表現
|
|
- 第6章 - メモリ構成とアクセス
|
|
- 第6章 - メモリ構成とアクセス
|
|
- - 第7章 - 複合データ型とメモリオブジェクト
|
|
|
|
- - 第9章 - CPUアーキテクチャ
|
|
|
|
|
|
+ - 第7章 - 複合データ型とメモリオブジェクト
|
|
|
|
+ - 第9章 - CPUアーキテクチャ
|
|
- 第10章 - 命令セットのアーキテクチャ
|
|
- 第10章 - 命令セットのアーキテクチャ
|
|
- 第11章 - メモリのアーキテクチャと構成
|
|
- 第11章 - メモリのアーキテクチャと構成
|
|
|
|
|
|
もっと時間があれば(私はこの本が欲しい):
|
|
もっと時間があれば(私はこの本が欲しい):
|
|
|
|
|
|
- [ ] [Computer Architecture、第5版:定量的アプローチ](https://www.amazon.com/dp/012383872X/)
|
|
- [ ] [Computer Architecture、第5版:定量的アプローチ](https://www.amazon.com/dp/012383872X/)
|
|
- - より豊かで最新の(2011年)、より長い治療のために
|
|
|
|
|
|
+- [ ] [日本語最新版:コンピュータアーキテクチャ[第6版]定量的アプローチ](https://www.amazon.co.jp/dp/4434264001/)
|
|
|
|
+ - お金がある人向け、より最新(2017(日本語版は2019))かつ歴史も長い
|
|
|
|
|
|
### 言語固有
|
|
### 言語固有
|
|
|
|
|
|
@@ -285,47 +287,6 @@ OR:
|
|
- 私の輝く本のレポート:https://startupnextdoor.com/book-report-data-structures-and-algorithms-in-python/
|
|
- 私の輝く本のレポート:https://startupnextdoor.com/book-report-data-structures-and-algorithms-in-python/
|
|
|
|
|
|
|
|
|
|
-### オプションの書籍
|
|
|
|
-
|
|
|
|
-**ソフトウェア工学の長年の経験があり、もっと面白い面接を期待しない限り、これらのことをお勧めする人もいます。**
|
|
|
|
-
|
|
|
|
-- [ ] [アルゴリズム設計マニュアル](http://www.amazon.com/Algorithm-Design-Manual-Steven-Skiena/dp/1849967202)(Skiena)
|
|
|
|
- - レビューと問題認識として
|
|
|
|
- - アルゴリズムのカタログ部分は、面接で得られる難易度の範囲をはるかに超えています。
|
|
|
|
- - この本は2つの部分を持っています:
|
|
|
|
- - データ構造とアルゴリズムに関する教科書
|
|
|
|
- - 長所:
|
|
|
|
- - アルゴリズムの教科書はどんなものでも良いレビューです
|
|
|
|
- - 業界および学界の問題を解決した経験から得た素敵な話
|
|
|
|
- - Cのコード例
|
|
|
|
- - 短所:
|
|
|
|
- - Introduction to Algorithms(CLRS)と同様に密集しているか、侵入不可能な場合があります。場合によっては、CLRSが一部の科目にとってより良い選択肢になる可能性があります
|
|
|
|
- - 7章、8章、9章では、いくつかの項目がうまく説明されていないか、私が持っているよりも多くの脳を必要とするため、追跡しようとすると痛いことがあります
|
|
|
|
- - 誤解しないで:私はSkiena、彼の教え方、そしてマナーを好きですが、Stony Brookの教材ではないかもしれません。
|
|
|
|
- - アルゴリズムカタログ:
|
|
|
|
- - これがあなたがこの本を買う本当の理由です。
|
|
|
|
- - この部分に近づきます。一度私がそれを通り抜けたら、ここで更新されます。
|
|
|
|
- - Kindleで読むことが出来ます
|
|
|
|
- - Half.comは教科書のための良いリソースです。
|
|
|
|
- - 回答:
|
|
|
|
- - [ソリューション](http://www.algorithm.cs.sunysb.edu/algowiki/index.php/The_Algorithms_Design_Manual_(Second_Edition))
|
|
|
|
- - [ソリューション](http://blog.panictank.net/category/algorithmndesignmanualsolutions/page/2/)
|
|
|
|
- - [正誤表](http://www3.cs.stonybrook.edu/~skiena/algorist/book/errata)
|
|
|
|
-
|
|
|
|
-- [ ] [アルゴリズムの紹介](https://www.amazon.com/Introduction-Algorithms-3rd-MIT-Press/dp/0262033844)
|
|
|
|
- - **重要:** この本を読む価値は限られています。この本はアルゴリズムとデータ構造の素晴らしいレビューですが、良いコードを書く方法を教えてくれません。まともなソリューションを効率的にコーディングすることができなければなりません。
|
|
|
|
- - Half.comは、良い価格で教科書のための素晴らしいリソースです。
|
|
|
|
- - スタインはゲームに遅れていたので、別名CLR、ときにはCLRS
|
|
|
|
-
|
|
|
|
-- [ ] [Programming Pearls](http://www.amazon.com/Programming-Pearls-2nd-Jon-Bentley/dp/0201657880)
|
|
|
|
- - プログラミング上の問題(データテープを使っているものもあります)への巧妙な解決策を示していますが、これは単なるイントロです。
|
|
|
|
- これはプログラムの設計とアーキテクチャに関するガイドブックです。
|
|
|
|
- これはプログラムの設計とアーキテクチャに関するガイドブックです。Code Completeとよく似ていますが、はるかに短いものです。
|
|
|
|
-
|
|
|
|
-- ~~シェンの "アルゴリズムとプログラミング:問題と解決策"~~
|
|
|
|
- - 良い本ですが、いくつかのページで問題を解決した後、私はPascalに悩まされ、whileループ、1つのインデックス付き配列、不確実な事後条件の満足度結果を得ました。
|
|
|
|
- - むしろ別の本やオンラインのコーディングの問題からコーディングの問題に時間を費やすだろう
|
|
|
|
-
|
|
|
|
|
|
|
|
## 始める前に
|
|
## 始める前に
|
|
|
|
|
|
@@ -1450,6 +1411,46 @@ Skienaの本(下記の書籍の節を参照)と面接の書籍
|
|
これらの話題は面接では出てこないかもしれませんが、
|
|
これらの話題は面接では出てこないかもしれませんが、
|
|
特定のテクノロジとアルゴリズムを認識するためには、より大きなツールボックスが必要になります。
|
|
特定のテクノロジとアルゴリズムを認識するためには、より大きなツールボックスが必要になります。
|
|
|
|
|
|
|
|
+- [ ] [アルゴリズム設計マニュアル](http://www.amazon.com/Algorithm-Design-Manual-Steven-Skiena/dp/1849967202)(Skiena)
|
|
|
|
+- [ ] [日本語版:アルゴリズム設計マニュアル](https://www.amazon.co.jp/dp/4621085107)
|
|
|
|
+ - レビューと問題認識として
|
|
|
|
+ - アルゴリズムのカタログ部分は、面接で得られる難易度の範囲をはるかに超えています。
|
|
|
|
+ - この本は2パートに分かれます:
|
|
|
|
+ - データ構造とアルゴリズムに関する教科書
|
|
|
|
+ - 長所:
|
|
|
|
+ - アルゴリズムの教科書はどんなものでも良いレビューです
|
|
|
|
+ - 業界および学界の問題を解決した経験から得た素敵な話
|
|
|
|
+ - Cのコード例
|
|
|
|
+ - 短所:
|
|
|
|
+ - Introduction to Algorithms(CLRS)と同様に密集しているか、侵入不可能な場合があります。場合によっては、CLRSが一部の科目にとってより良い選択肢になる可能性があります
|
|
|
|
+ - 7章、8章、9章では、いくつかの項目がうまく説明されていないか、私が持っているよりも多くの脳を必要とするため、追跡しようとすると痛いことがあります
|
|
|
|
+ - 誤解しないで:私はSkiena、彼の教え方、そしてマナーを好きですが、Stony Brookの教材ではないかもしれません。
|
|
|
|
+ - アルゴリズムカタログ:
|
|
|
|
+ - これがあなたがこの本を買う本当の理由です。
|
|
|
|
+ - この部分に近づきます。一度私がそれを通り抜けたら、ここで更新されます。
|
|
|
|
+ - Kindleで読むことが出来ます
|
|
|
|
+ - Half.comは教科書のための良いリソースです。
|
|
|
|
+ - 回答:
|
|
|
|
+ - [ソリューション](http://www.algorithm.cs.sunysb.edu/algowiki/index.php/The_Algorithms_Design_Manual_(Second_Edition))
|
|
|
|
+ - [ソリューション](http://blog.panictank.net/category/algorithmndesignmanualsolutions/page/2/)
|
|
|
|
+ - [正誤表](http://www3.cs.stonybrook.edu/~skiena/algorist/book/errata)
|
|
|
|
+
|
|
|
|
+- [ ] [アルゴリズムイントロダクション](https://www.amazon.com/Introduction-Algorithms-3rd-MIT-Press/dp/0262033844)
|
|
|
|
+- [ ] [日本語版:アルゴリズムイントロダクション](https://www.amazon.co.jp/dp/B078WPYHGN/)
|
|
|
|
+ - **重要:** この本を読む価値は限られています。この本はアルゴリズムとデータ構造の素晴らしいレビューですが、良いコードを書く方法を教えてくれません。まともなソリューションを効率的にコーディングすることができなければなりません。
|
|
|
|
+ - Half.comは、良い価格で教科書のための素晴らしいリソースです。
|
|
|
|
+ - スタインはゲームに遅れていたので、別名CLR、ときにはCLRSと呼ばれている
|
|
|
|
+
|
|
|
|
+- [ ] [Programming Pearls](http://www.amazon.com/Programming-Pearls-2nd-Jon-Bentley/dp/0201657880)
|
|
|
|
+ - プログラミング上の問題(データテープを使っているものもあります)への巧妙な解決策を示していますが、これは単なるイントロです。
|
|
|
|
+ これはプログラムの設計とアーキテクチャに関するガイドブックです。
|
|
|
|
+ これはプログラムの設計とアーキテクチャに関するガイドブックです。Code Completeとよく似ていますが、はるかに短いものです。
|
|
|
|
+
|
|
|
|
+- ~~シェンの "アルゴリズムとプログラミング:問題と解決策"~~
|
|
|
|
+ - 良い本ですが、いくつかのページで問題を解決した後、私はPascalに悩まされ、whileループ、1つのインデックス付き配列、不確実な事後条件の満足度結果を得ました。
|
|
|
|
+ - むしろ別の本やオンラインのコーディングの問題からコーディングの問題に時間を費やすだろう
|
|
|
|
+
|
|
|
|
+
|
|
- ### コンパイラ
|
|
- ### コンパイラ
|
|
- [ ] [1分でコンパイラがどのように動作するか(ビデオ)](https://www.youtube.com/watch?v=IhC7sdYe-Jg)
|
|
- [ ] [1分でコンパイラがどのように動作するか(ビデオ)](https://www.youtube.com/watch?v=IhC7sdYe-Jg)
|
|
- [ ] [Harvard CS50 - コンパイラ(ビデオ)](https://www.youtube.com/watch?v=CSZLNYF4Klo)
|
|
- [ ] [Harvard CS50 - コンパイラ(ビデオ)](https://www.youtube.com/watch?v=CSZLNYF4Klo)
|