|
@@ -43,32 +43,33 @@
|
|
</div>
|
|
</div>
|
|
|
|
|
|
## これは何?
|
|
## これは何?
|
|
|
|
+
|
|

|
|

|
|
|
|
|
|
これは、大企業のソフトウェア エンジニアになるための私の数か月にわたる学習計画です。
|
|
これは、大企業のソフトウェア エンジニアになるための私の数か月にわたる学習計画です。
|
|
|
|
|
|
-必須:
|
|
|
|
|
|
+**必須:**
|
|
|
|
|
|
-コーディングの経験 (変数、ループ、メソッド/関数など)
|
|
|
|
-忍耐
|
|
|
|
-時間
|
|
|
|
|
|
+- コーディングの経験 (変数、ループ、メソッド/関数など)
|
|
|
|
+- 忍耐
|
|
|
|
+- 時間
|
|
|
|
|
|
-これは**ソフトウェアエンジニアリング**の学習計画であり、Web 開発の学習計画ではありません。 Google、Amazon、Facebook、Microsoft などの大手ソフトウェア企業は、ソフトウェアエンジニアリングを Web 開発とは異なるものと見なしています。 たとえば、Amazon にはフロントエンドエンジニア (FEE) とソフトウェア開発エンジニア (SDE) がいます。 これらは2つの別個の役割であり、それぞれに独自の能力があるため、面接は同じではありません。これらの企業は、ソフトウェア開発/エンジニアリングの役割のためにコンピューターサイエンスの知識を必要とします。
|
|
|
|
|
|
+これは**ソフトウェア エンジニアリング**の学習計画であり、フロントエンド エンジニアリングやフルスタック開発ではないことに注意してください。
|
|
|
|
+他の場所でのキャリア パスのスーパー ロードマップとコースワーク (詳細については https://roadmap.sh/ を参照)。
|
|
|
|
|
|
-大学のコンピューターサイエンスプログラムで学ぶことはたくさんありますが、75%程度の知識があれば面接に十分なので、ここではそれについて説明します。 完全な CS 独学プログラムについては、私の学習計画のリソースがカムラン アーメドのコンピューターサイエンスロードマップに含まれています: https://roadmap.sh/computer-science
|
|
|
|
|
|
+大学のコンピューター サイエンス プログラムでは学ぶべきことがたくさんありますが、面接には 75% 程度知っていれば十分なので、ここではそれについて説明します。
|
|
|
|
+完全な CS 独学プログラムについては、私の学習計画のリソースがカムラン アーメッドのコンピューター サイエンス ロードマップに含まれています: https://roadmap.sh/computer-science
|
|
|
|
|
|
---
|
|
---
|
|
|
|
|
|
## 目次
|
|
## 目次
|
|
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- [コーディング面接の大学](#コーディング面接の大学)
|
|
- [コーディング面接の大学](#コーディング面接の大学)
|
|
- [これは何?](#これは何)
|
|
- [これは何?](#これは何)
|
|
- [目次](#目次)
|
|
- [目次](#目次)
|
|
- [なぜこれを使用するのか](#なぜこれを使用するのか)
|
|
- [なぜこれを使用するのか](#なぜこれを使用するのか)
|
|
- - [それの使い方](#それの使い方)
|
|
|
|
- - [あなたは十分にスマートではないと感じないでください](#あなたは十分にスマートではないと感じないでください)
|
|
|
|
|
|
+ - [使い方](#使い方)
|
|
|
|
+ - [自信を無くさないでください](#自信を無くさないでください)
|
|
- [ビデオリソースについて](#ビデオリソースについて)
|
|
- [ビデオリソースについて](#ビデオリソースについて)
|
|
- [面接のプロセスと一般的な面接の準備](#面接のプロセスと一般的な面接の準備)
|
|
- [面接のプロセスと一般的な面接の準備](#面接のプロセスと一般的な面接の準備)
|
|
- [面接のための1つの言語を選ぶ](#面接のための1つの言語を選ぶ)
|
|
- [面接のための1つの言語を選ぶ](#面接のための1つの言語を選ぶ)
|
|
@@ -111,54 +112,67 @@
|
|
|
|
|
|
## なぜこれを使用するのか
|
|
## なぜこれを使用するのか
|
|
|
|
|
|
-大企業でソフトウェアエンジニアとして働きたい場合は、次のことを知っておく必要があります。
|
|
|
|
|
|
+大企業でソフトウェア エンジニアとして働きたいのであれば、これらのことを知っておく必要があります。
|
|
|
|
+
|
|
|
|
+私のようにコンピューター サイエンスの学位を取得できなかった場合は、これで人生の 4 年間取り戻すことができます。
|
|
|
|
+
|
|
|
|
+このプロジェクトを始めたとき、私はヒープからのスタックのことも、Big-O のことも、木についても、何も知りませんでした。
|
|
|
|
+グラフを横断します。もし私が並べ替えアルゴリズムをコーディングしなければならなかったとしたら、それは酷いことになるでしょう。
|
|
|
|
+私がこれまで使用してきたデータ構造はすべて言語に組み込まれており、それがどのように機能するのかわかりませんでした。
|
|
|
|
+ボンネットの下にはまったくありません。実行しているプロセスで「不足」が発生しない限り、メモリを管理する必要はありませんでした。
|
|
|
|
+「memory」エラーが発生した場合は、回避策を見つける必要があります。私は人生でいくつかの多次元配列を使用しましたが、
|
|
|
|
+何千もの連想配列を作成しましたが、データ構造を最初から作成したことはありません。
|
|
|
|
|
|
-私のようにコンピューターサイエンスの学位を取得していない場合、これで追いつき、人生の4年間を救うことができます。
|
|
|
|
|
|
+長い計画ですね。何か月もかかるかもしれません。しかし、すでにこの内容の多くに精通している場合は、時間ははるかに短くなります。
|
|
|
|
|
|
-私はこのプロジェクトを始めたとき、ヒープからスタックを知りませんでしたし、Big-O とは何か、木構造に関すること、グラフをたどる方法を知らなかったのです。
|
|
|
|
-ソートアルゴリズムをコーディングしなければならない場合は、あまりうまくいきませんでした。
|
|
|
|
-これまで使用してきたすべてのデータ構造は言語に組み込まれていて、どのようにしてそれらがどのようにして動作するのか分かりませんでした。
|
|
|
|
-私が実行していたプロセスが "メモリ不足"エラーを出さない限り、メモリを管理する必要はありませんでしたが、回避策を見つけなければなりません。
|
|
|
|
-私は人生で数多くの多次元配列を使用していましたが、何千もの連想配列を使用しましたが、データ構造を一から作成したことはありません。
|
|
|
|
|
|
+## 使い方
|
|
|
|
|
|
|
|
+以下はすべて概要であり、順に項目に取り組む必要があります。
|
|
|
|
|
|
-それは長い計画です。あなたに数ヶ月かかるかもしれません。
|
|
|
|
-すでに多くのことに慣れていれば、それほど時間がかかりません。
|
|
|
|
|
|
+私は進捗状況を追跡するためのタスク リストを含む、GitHub 風マークダウン を使用しています。
|
|
|
|
|
|
-## それの使い方
|
|
|
|
|
|
+- [GitHub 風マークダウンの詳細](https://guides.github.com/features/mastering-markdown/#GitHub-flavored-markdown)
|
|
|
|
|
|
-下のすべてがアウトラインです。
|
|
|
|
-アイテムを上から下に順番に取り組まなければなりません。
|
|
|
|
|
|
+### git を使用したくない場合
|
|
|
|
|
|
-私はGithubの特別なマークダウンフレーバーを使用しています。
|
|
|
|
|
|
+このページで、上部近くの「Code」ボタンをクリックし、「Download ZIP」をクリックします。ファイルを解凍すると、テキスト ファイルを操作できるようになります。
|
|
|
|
|
|
-**新しいブランチを作成して、このような項目をチェックできるようにしてください.xを角かっこに入れてください:[x]**
|
|
|
|
|
|
+マークダウンを理解できるコード エディターで開いている場合は、すべてが適切にフォーマットされていることを確認できます。
|
|
|
|
|
|
|
|
+
|
|
|
|
|
|
- ブランチをフォークし、以下のコマンドに従ってください。
|
|
|
|
|
|
+### git に慣れている場合
|
|
|
|
|
|
-`git checkout -b progress`
|
|
|
|
|
|
+新しいブランチを作成して、次のような項目を確認できるようにします。括弧内に x を入力するだけです: [x]
|
|
|
|
|
|
-`git remote add jwasham https://github.com/jwasham/coding-interview-university`
|
|
|
|
|
|
+1. **_GitHub リポジトリ:_** `https://github.com/jwasham/coding-interview-university` をフォーク ボタンをクリックしてフォークします。
|
|
|
|
|
|
-`git fetch --all`
|
|
|
|
|
|
+ 
|
|
|
|
|
|
- 変更を完了した後にXですべてのボックスにマークを付ける
|
|
|
|
|
|
+1. ローカル リポジトリにクローンを作成します。
|
|
|
|
|
|
-`git add . `
|
|
|
|
|
|
+ ```
|
|
|
|
+ git clone https://github.com/<YOUR_GITHUB_USERNAME>/coding-interview-university.git
|
|
|
|
+ cd coding-interview-university
|
|
|
|
+ git remote add upstream https://github.com/jwasham/coding-interview-university.git
|
|
|
|
+ git remote set-url --push upstream DISABLE # 個人の進捗を元のレポにプッシュバックしないようにするため
|
|
|
|
+ ```
|
|
|
|
|
|
-`git commit -m "マークされたx"`
|
|
|
|
|
|
+1. 変更を完了したら、すべてのボックスに X を付けます。
|
|
|
|
|
|
-`git rebase jwasham/main`
|
|
|
|
|
|
+ ```
|
|
|
|
+ git commit -am "Marked personal progress"
|
|
|
|
+ git pull upstream main # 元のレポからの変更でフォークを最新に保つ
|
|
|
|
|
|
-`git push --force`
|
|
|
|
|
|
+ git push # just pushes to your fork
|
|
|
|
+ ```
|
|
|
|
|
|
-[Github風マークダウンの詳細](https://guides.github.com/features/mastering-markdown/#GitHub-flavored-markdown)
|
|
|
|
|
|
+## 自信を無くさないでください
|
|
|
|
|
|
-## あなたは十分にスマートではないと感じないでください
|
|
|
|
-- 成功したソフトウェアエンジニアはスマートですが、多くの人はスマートではないという不安があります。
|
|
|
|
-- [天才プログラマーの神話](https://www.youtube.com/watch?v=0SARbwvhupQ)
|
|
|
|
-- [一人で行くのは危険だ:テクノロジーの見えない魔物と戦う](https://www.youtube.com/watch?v=1i8ylq4j_EY)
|
|
|
|
|
|
+- 成功した多くのソフトウェア エンジニアは自分が十分に賢くないのではないかという不安を抱えています。
|
|
|
|
+- 次のビデオは、この不安を解消するのに役立ちます。
|
|
|
|
+ - [天才プログラマーの神話](https://www.youtube.com/watch?v=0SARbwvhupQ)
|
|
|
|
+ - [一人で行動するのは危険です: テクノロジーにおける目に見えないモンスターとの戦い](https://www.youtube.com/watch?v=1i8ylq4j_EY)
|
|
|
|
|
|
---
|
|
---
|
|
|
|
|