From 6f24512b004e093b3e6496cf76134e118581bee6 Mon Sep 17 00:00:00 2001 From: ka_ueno Date: Fri, 2 Apr 2021 12:46:58 +0900 Subject: [PATCH 1/4] modify table of content in README.md and README-ja.md(using lint) --- README.md | 209 ++++++++++++++++++-------------------- translations/README-ja.md | 194 +++++++++++++++-------------------- 2 files changed, 182 insertions(+), 221 deletions(-) diff --git a/README.md b/README.md index 77adc82..39d4e6d 100644 --- a/README.md +++ b/README.md @@ -67,120 +67,111 @@ If you want to be a reliability engineer or operations engineer, study more from ## Table of Contents -- [What is it?](#what-is-it) -- [Why use it?](#why-use-it) -- [How to use it](#how-to-use-it) -- [Don't feel you aren't smart enough](#dont-feel-you-arent-smart-enough) -- [About Video Resources](#about-video-resources) -- [Interview Process & General Interview Prep](#interview-process--general-interview-prep) -- [Pick One Language for the Interview](#pick-one-language-for-the-interview) -- [Book List](#book-list) -- [Before you Get Started](#before-you-get-started) -- [What you Won't See Covered](#what-you-wont-see-covered) -- [The Daily Plan](#the-daily-plan) -- [Prerequisite Knowledge](#prerequisite-knowledge) -- [Algorithmic complexity / Big-O / Asymptotic analysis](#algorithmic-complexity--big-o--asymptotic-analysis) -- [Data Structures](#data-structures) - - [Arrays](#arrays) - - [Linked Lists](#linked-lists) - - [Stack](#stack) - - [Queue](#queue) - - [Hash table](#hash-table) -- [More Knowledge](#more-knowledge) - - [Binary search](#binary-search) - - [Bitwise operations](#bitwise-operations) -- [Trees](#trees) - - [Trees - Notes & Background](#trees---notes--background) - - [Binary search trees: BSTs](#binary-search-trees-bsts) - - [Heap / Priority Queue / Binary Heap](#heap--priority-queue--binary-heap) - - balanced search trees (general concept, not details) - - traversals: preorder, inorder, postorder, BFS, DFS -- [Sorting](#sorting) - - selection - - insertion - - heapsort - - quicksort - - merge sort -- [Graphs](#graphs) - - directed - - undirected - - adjacency matrix - - adjacency list - - traversals: BFS, DFS -- [Even More Knowledge](#even-more-knowledge) - - [Recursion](#recursion) - - [Dynamic Programming](#dynamic-programming) - - [Object-Oriented Programming](#object-oriented-programming) - - [Design Patterns](#design-patterns) - - [Combinatorics (n choose k) & Probability](#combinatorics-n-choose-k--probability) - - [NP, NP-Complete and Approximation Algorithms](#np-np-complete-and-approximation-algorithms) - - [Caches](#caches) - - [Processes and Threads](#processes-and-threads) - - [Testing](#testing) - - [Scheduling](#scheduling) - - [String searching & manipulations](#string-searching--manipulations) - - [Tries](#tries) - - [Floating Point Numbers](#floating-point-numbers) - - [Unicode](#unicode) - - [Endianness](#endianness) - - [Networking](#networking) -- [System Design, Scalability, Data Handling](#system-design-scalability-data-handling) (if you have 4+ years experience) -- [Final Review](#final-review) -- [Coding Question Practice](#coding-question-practice) -- [Coding exercises/challenges](#coding-exerciseschallenges) -- [Once you're closer to the interview](#once-youre-closer-to-the-interview) -- [Your Resume](#your-resume) -- [Be thinking of for when the interview comes](#be-thinking-of-for-when-the-interview-comes) -- [Have questions for the interviewer](#have-questions-for-the-interviewer) -- [Once You've Got The Job](#once-youve-got-the-job) +- [Coding Interview University](#coding-interview-university) + - [What is it?](#what-is-it) + - [Table of Contents](#table-of-contents) + - [Additional Resources](#additional-resources) + - [Why use it?](#why-use-it) + - [How to use it](#how-to-use-it) + - [Don't feel you aren't smart enough](#dont-feel-you-arent-smart-enough) + - [About Video Resources](#about-video-resources) + - [Interview Process & General Interview Prep](#interview-process--general-interview-prep) + - [Pick One Language for the Interview](#pick-one-language-for-the-interview) + - [Book List](#book-list) + - [Interview Prep](#interview-prep) + - [If you have tons of extra time:](#if-you-have-tons-of-extra-time) + - [Language Specific](#language-specific) + - [C++](#c) + - [Java](#java) + - [Python](#python) + - [Before you Get Started](#before-you-get-started) + - [1. You Won't Remember it All](#1-you-wont-remember-it-all) + - [2. Use Flashcards](#2-use-flashcards) + - [3. Start doing coding interview questions while you're learning data structures and algorithms](#3-start-doing-coding-interview-questions-while-youre-learning-data-structures-and-algorithms) + - [4. Review, review, review](#4-review-review-review) + - [5. Focus](#5-focus) + - [What you won't see covered](#what-you-wont-see-covered) + - [The Daily Plan](#the-daily-plan) + - [Prerequisite Knowledge](#prerequisite-knowledge) + - [Algorithmic complexity / Big-O / Asymptotic analysis](#algorithmic-complexity--big-o--asymptotic-analysis) + - [Data Structures](#data-structures) + - [More Knowledge](#more-knowledge) + - [Trees](#trees) + - [Sorting](#sorting) + - [Graphs](#graphs) + - [Even More Knowledge](#even-more-knowledge) + - [System Design, Scalability, Data Handling](#system-design-scalability-data-handling) + - [Final Review](#final-review) + - [Coding Question Practice](#coding-question-practice) + - [Coding exercises/challenges](#coding-exerciseschallenges) + - [Once you're closer to the interview](#once-youre-closer-to-the-interview) + - [Your Resume](#your-resume) + - [Be thinking of for when the interview comes](#be-thinking-of-for-when-the-interview-comes) + - [Have questions for the interviewer](#have-questions-for-the-interviewer) + - [Once You've Got The Job](#once-youve-got-the-job) + - [Additional Books](#additional-books) + - [Additional Learning](#additional-learning) + - [Additional Detail on Some Subjects](#additional-detail-on-some-subjects) + - [Video Series](#video-series) + - [Computer Science Courses](#computer-science-courses) + - [Algorithms implementation](#algorithms-implementation) + - [Papers](#papers) + - [LICENSE](#license) ---------------- Everything below this point is optional ---------------- ## Additional Resources -- [Additional Books](#additional-books) -- [Additional Learning](#additional-learning) - - [Compilers](#compilers) - - [Emacs and vi(m)](#emacs-and-vim) - - [Unix command line tools](#unix-command-line-tools) - - [Information theory](#information-theory-videos) - - [Parity & Hamming Code](#parity--hamming-code-videos) - - [Entropy](#entropy) - - [Cryptography](#cryptography) - - [Compression](#compression) - - [Computer Security](#computer-security) - - [Garbage collection](#garbage-collection) - - [Parallel Programming](#parallel-programming) - - [Messaging, Serialization, and Queueing Systems](#messaging-serialization-and-queueing-systems) - - [A*](#a) - - [Fast Fourier Transform](#fast-fourier-transform) - - [Bloom Filter](#bloom-filter) - - [HyperLogLog](#hyperloglog) - - [Locality-Sensitive Hashing](#locality-sensitive-hashing) - - [van Emde Boas Trees](#van-emde-boas-trees) - - [Augmented Data Structures](#augmented-data-structures) - - [Balanced search trees](#balanced-search-trees) - - AVL trees - - Splay trees - - Red/black trees - - 2-3 search trees - - 2-3-4 Trees (aka 2-4 trees) - - N-ary (K-ary, M-ary) trees - - B-Trees - - [k-D Trees](#k-d-trees) - - [Skip lists](#skip-lists) - - [Network Flows](#network-flows) - - [Disjoint Sets & Union Find](#disjoint-sets--union-find) - - [Math for Fast Processing](#math-for-fast-processing) - - [Treap](#treap) - - [Linear Programming](#linear-programming-videos) - - [Geometry, Convex hull](#geometry-convex-hull-videos) - - [Discrete math](#discrete-math) - - [Machine Learning](#machine-learning) -- [Additional Detail on Some Subjects](#additional-detail-on-some-subjects) -- [Video Series](#video-series) -- [Computer Science Courses](#computer-science-courses) -- [Papers](#papers) +- [Coding Interview University](#coding-interview-university) + - [What is it?](#what-is-it) + - [Table of Contents](#table-of-contents) + - [Additional Resources](#additional-resources) + - [Why use it?](#why-use-it) + - [How to use it](#how-to-use-it) + - [Don't feel you aren't smart enough](#dont-feel-you-arent-smart-enough) + - [About Video Resources](#about-video-resources) + - [Interview Process & General Interview Prep](#interview-process--general-interview-prep) + - [Pick One Language for the Interview](#pick-one-language-for-the-interview) + - [Book List](#book-list) + - [Interview Prep](#interview-prep) + - [If you have tons of extra time:](#if-you-have-tons-of-extra-time) + - [Language Specific](#language-specific) + - [C++](#c) + - [Java](#java) + - [Python](#python) + - [Before you Get Started](#before-you-get-started) + - [1. You Won't Remember it All](#1-you-wont-remember-it-all) + - [2. Use Flashcards](#2-use-flashcards) + - [3. Start doing coding interview questions while you're learning data structures and algorithms](#3-start-doing-coding-interview-questions-while-youre-learning-data-structures-and-algorithms) + - [4. Review, review, review](#4-review-review-review) + - [5. Focus](#5-focus) + - [What you won't see covered](#what-you-wont-see-covered) + - [The Daily Plan](#the-daily-plan) + - [Prerequisite Knowledge](#prerequisite-knowledge) + - [Algorithmic complexity / Big-O / Asymptotic analysis](#algorithmic-complexity--big-o--asymptotic-analysis) + - [Data Structures](#data-structures) + - [More Knowledge](#more-knowledge) + - [Trees](#trees) + - [Sorting](#sorting) + - [Graphs](#graphs) + - [Even More Knowledge](#even-more-knowledge) + - [System Design, Scalability, Data Handling](#system-design-scalability-data-handling) + - [Final Review](#final-review) + - [Coding Question Practice](#coding-question-practice) + - [Coding exercises/challenges](#coding-exerciseschallenges) + - [Once you're closer to the interview](#once-youre-closer-to-the-interview) + - [Your Resume](#your-resume) + - [Be thinking of for when the interview comes](#be-thinking-of-for-when-the-interview-comes) + - [Have questions for the interviewer](#have-questions-for-the-interviewer) + - [Once You've Got The Job](#once-youve-got-the-job) + - [Additional Books](#additional-books) + - [Additional Learning](#additional-learning) + - [Additional Detail on Some Subjects](#additional-detail-on-some-subjects) + - [Video Series](#video-series) + - [Computer Science Courses](#computer-science-courses) + - [Algorithms implementation](#algorithms-implementation) + - [Papers](#papers) + - [LICENSE](#license) --- diff --git a/translations/README-ja.md b/translations/README-ja.md index 1cfb0fa..3f21e7c 100644 --- a/translations/README-ja.md +++ b/translations/README-ja.md @@ -36,7 +36,7 @@ ## これは何? -これは、Webエンジニア(独学で、CS学位なし)から大企業のソフトウェアエンジニアを目指すための私の複数月の学習計画です。 +これは、Webエンジニア(独学で、CS学位なし)から大企業のソフトウェアエンジニアを目指すための私の数か月の学習計画です。 ![ホワイトボードでのコーディング - HBOのシリコンバレーから](https://d3j2pkmjtin6ou.cloudfront.net/coding-at-the-whiteboard-silicon-valley.png) @@ -50,122 +50,92 @@ SREまたはシステムエンジニアになりたい場合は、オプショ --- ## 目次 - -- [これは何?](#これは何?) -- [なぜこれを使うの?](#why-use-it) -- [使い方](#使い方) -- [あなたは十分にスマートではないと感じないでください](十分にスマートではありません) -- [ビデオリソースについて](#about-video-resources) -- [面接のプロセスと一般的な面接の準備](#面接プロセス--一般面接--準備) -- [面接のための1つの言語を選ぶ](面接のために1つの言語を選択する) -- [ブックリスト](#ブックリスト) -- [始める前に](始める前に#) -- あなたがカバーしていないもの(何があなたには見えません) -- [前提知識](#前提条件知識) -- [日々の計画](日々の計画) -- [アルゴリズムの複雑さ/ Big-O / Asymptotic分析](#アルゴリズム--複雑--big-o--漸近分析) -- [データ構造](#データ構造) - - [配列](#配列) - - [連結リスト](#連結リスト) - - [スタック](#スタック) - - [キュー](#キュー) - - [ハッシュテーブル](#ハッシュテーブル) -- [その他の知識](#more-knowledge) - - [二分探索](#二分探索) - - [ビット演算](#ビット演算) -- [木構造](#木) - - [木構造 - ノートと背景](#木---ノート--背景) - - [二分探索木:BST](#binary-search-trees-bsts) - - [ヒープ/優先度つきキュー/二分ヒープ](#ヒープ--優先度キュー--バイナリヒープ) - - 平衡探索木(詳細ではなく一般概念) - - 木の走査(traversal):行きがけ順(pre-order)、通りがかり順(in-order)、帰りがけ順(postorder)、深さ優先探索(BFS)、幅優先探索(DFS) -- [ソート](#ソート) - - 選択ソート - - 挿入ソート - - ヒープソート - - クイックソート - - マージソート -- [グラフ](#グラフ) - - 有向グラフ - - 無向グラフ - - 隣接行列 - - 隣接リスト - - トラバーサル:BFS、DFS -- [さらに多くの知識](#偶数知識) - - [再帰](#再帰) - - [動的プログラミング](#動的プログラミング) - - [オブジェクト指向プログラミング](#オブジェクト指向プログラミング) - - [デザインパターン](#デザインパターン) - - [組み合わせと確率](#combinatorics-n-choose-k--確率) - - [NP、NP完全/近似アルゴリズム](#np-np-complete-and-approximation-algorithms) - - [キャッシュ](#キャッシュ) - - [プロセスとスレッド](#processes-and-threads) - - [論文](#論文) - - [テスト](#テスト) - - [スケジューリング](#スケジューリング) - - [システムルーチンを実装する](#implement-system-routines) - - [文字列検索と操作](#文字列検索--操作) - - [試行](#試行) - - [浮動小数点数](浮動小数点数) - - [ユニコード](#ユニコード) - - [バイト順(エンディアン)](#エンディアン) -- [ネットワーキング](#ネットワーキング) -- [システム設計、スケーラビリティ、データ処理](#システム設計--スケーラビリティなデータ処理)(4年以上の経験がある場合) -- [最終審査](#最終審査) -- [コーディング質問練習](#コーディング質問練習) -- [コーディング練習問題/挑戦](#コーディング演習問題) -- [面接に近づいたら](面接に一度近づいて) -- [履歴書](あなたの履歴書) -- [面接が来たときに考える](面接のときに考えている) -- [面接官に質問があります](#面接のための質問があります) -- [一度あなたは仕事を得た](一度あなたが仕事をしたこと) +- [コーディング面接の大学](#コーディング面接の大学) + - [これは何?](#これは何) + - [目次](#目次) + - [なぜそれを使用するのですか?](#なぜそれを使用するのですか) + - [それの使い方](#それの使い方) + - [あなたは十分にスマートではないと感じないでください](#あなたは十分にスマートではないと感じないでください) + - [ビデオリソースについて](#ビデオリソースについて) + - [面接のプロセスと一般的な面接の準備](#面接のプロセスと一般的な面接の準備) + - [面接のための1つの言語を選ぶ](#面接のための1つの言語を選ぶ) + - [ブックリスト](#ブックリスト) + - [面接の準備](#面接の準備) + - [コンピュータアーキテクチャ](#コンピュータアーキテクチャ) + - [言語固有](#言語固有) + - [C++](#c) + - [Java](#java) + - [Python](#python) + - [オプションの書籍](#オプションの書籍) + - [始める前に](#始める前に) + - [1.あなたはそれをすべて覚えていない](#1あなたはそれをすべて覚えていない) + - [2.フラッシュカードを使用する](#2フラッシュカードを使用する) + - [3.レビュー、レビュー、評価](#3レビューレビュー評価) + - [4.フォーカス](#4フォーカス) + - [カバーされていないもの](#カバーされていないもの) + - [日々の計画](#日々の計画) + - [前提知識](#前提知識) + - [アルゴリズムの複雑さ/ Big-O / Asymptotic解析](#アルゴリズムの複雑さ-big-o--asymptotic解析) + - [データ構造](#データ構造) + - [その他の知識](#その他の知識) + - [木](#木) + - [ソート](#ソート) + - [グラフ](#グラフ) + - [さらに多くの知識](#さらに多くの知識) + - [システム設計、スケーラビリティ、データ処理](#システム設計スケーラビリティデータ処理) + - [最終レビュー](#最終レビュー) + - [コーディングの質問練習](#コーディングの質問練習) + - [コード演習/挑戦](#コード演習挑戦) + - [面接に近づいたら](#面接に近づいたら) + - [あなたの履歴書](#あなたの履歴書) + - [面接が来たときに考えてください](#面接が来たときに考えてください) + - [面接官に質問があります](#面接官に質問があります) + - [一度あなたは仕事を得た](#一度あなたは仕事を得た) + - [その他の書籍](#その他の書籍) + - [その他の学習](#その他の学習) + - [追加科目の詳細](#追加科目の詳細) + - [ビデオシリーズ](#ビデオシリーズ) + - [コンピュータサイエンスコース](#コンピュータサイエンスコース) ----------------この時点より下のものはすべてオプションです---------------- -- [追加の書籍](追加の書籍数) -- [追加の学習](追加学習) - - [コンパイラ](#コンパイラ) - - [Emacsとvi(m)](#emacs-and-vim) - - [Unixコマンドラインツール](#unix-command-line-tools) - - [情報理論](#情報理論) - - [パリティとハミング符号](#パリティ--ハミングコード) - - [情報量(エントロピー)](#エントロピー) - - [暗号化](#暗号化) - - [圧縮](#圧縮) - - [コンピュータセキュリティ](#コンピュータセキュリティ) - - [ガベージコレクション](#ガベージコレクション) - - [並列計算](#パラレルプログラミング) - - [メッセージング、シリアライゼーション・キューイングシステム](#メッセージングシリアライゼーションとキューイングシステム) - - [A *](#a) - - [高速フーリエ変換](#高速フーリエ変換) - - [ブルームフィルタ](#ブルームフィルタ) - - [HyperLogLog](#hyperloglog) - - [局所性鋭敏型ハッシュ](#ローカリティセンシティブハッシング) - - [van Emde Boas Trees(バン エンデ ボース)](ヴァン・エムード・ボア・木) - - [拡張データ構造](#拡張データ構造) - - [N-ary(k-ary、M-ary)木](#n-ary-k-ary-m-ary-trees) - - [平衡探索木](#バランス検索木) - - AVL木 - - スプレー木 - - 赤黒木 - - 2-3木 - - 2-3-4木(別名2-4木) - - 多分木(N-ary,K-ary,M-ary木) - - B木 - - [kd木](#k-d-trees) - - [スキップリスト](#スキップリスト) - - [ネットワークのフロー](#ネットワークフロー) - - [素集合データ構造とUnion-Findアルゴリズム](#disjoint-sets--union-find) - - [高速処理のための数学](#数学のための高速処理) - - [Treap](#treap) - - [線形計画法](#線形計画法) - - [ジオメトリ、凸包](#ジオメトリ--凸包) - - [離散数学](離散数学) - - [機械学習](機械学習) -- [いくつかの科目の追加の詳細](#追加の詳細--いくつかの科目) +- [その他の書籍](#その他の書籍) +- [その他の学習](#その他の学習) + - [コンパイラ](#コンパイラ) + - [Emacsとvi(m)](#Emacsとvi(m)) + - [Unixコマンドラインツール](#Unixコマンドラインツール) + - [情報理論(ビデオ)](#情報理論(ビデオ)) + - [パリティ&ハミングコード(ビデオ)](#パリティ&ハミングコード(ビデオ)) + - [エントロピー](#エントロピー) + - [暗号化](#暗号化) + - [圧縮](#圧縮) + - [コンピュータセキュリティ](#コンピュータセキュリティ) + - [ガベージコレクション](#ガベージコレクション) + - [パラレルプログラミング](#パラレルプログラミング) + - [メッセージング、シリアライゼーション、およびキューイングシステム](#メッセージング、シリアライゼーション、およびキューイングシステム) + - [A *](#A *) + - [高速フーリエ変換](#高速フーリエ変換) + - [ブルームフィルター](#ブルームフィルター) + - [HyperLogLog](#HyperLogLog) + - [局所性に敏感なハッシング](#局所性に敏感なハッシング) + - [ヴァンEmde Boasの木](#ヴァンEmde Boasの木) + - [拡張データ構造](#拡張データ構造) + - [バランスの取れた検索木](#バランスの取れた検索木) + - [kD木](#kD木) + - [リストをスキップする](#リストをスキップする) + - [ネットワークの流れ](#ネットワークの流れ) + - [分離集合と連合検索](#分離集合と連合検索) + - [高速処理のための数学](#高速処理のための数学) + - [Treap](#Treap) + - [リニアプログラミング(ビデオ)](#リニアプログラミング(ビデオ)) + - [幾何学、凸包(ビデオ)](#幾何学、凸包(ビデオ)) + - [離散数学](#離散数学) + - [機械学習](#機械学習) +- [追加科目の詳細](#追加科目の詳細) - [ビデオシリーズ](#ビデオシリーズ) - [コンピュータサイエンスコース](#コンピュータサイエンスコース) + ## なぜそれを使用するのですか? 私はこのプロジェクトを始めたとき、ヒープからスタックを知りませんでしたし、Big-Oの何か、樹木に関すること、グラフをたどる方法を知らなかったのです。 @@ -1573,7 +1543,7 @@ Skienaの本(下記の書籍の節を参照)と面接の書籍 - [エラー修正](https://www.youtube.com/watch?v=JAMLuxdHH8o) - [ ] [エラーチェック](https://www.youtube.com/watch?v=wbH2VxzmoZk) -- ## #エントロピー +- ### エントロピー - 下記の動画もご覧ください - 最初に情報理論ビデオを見てください - [情報理論、Claude Shannon、エントロピー、冗長性、データ圧縮およびビット(ビデオ)](https://youtu.be/JnJq3Py0dyM?t=176) From c75d34160f80107147179344c0e4ed8578a53342 Mon Sep 17 00:00:00 2001 From: ka_ueno Date: Fri, 2 Apr 2021 13:03:48 +0900 Subject: [PATCH 2/4] revert --- README.md | 209 ++++++++++++++++++++------------------ translations/README-ja.md | 194 ++++++++++++++++++++--------------- 2 files changed, 221 insertions(+), 182 deletions(-) diff --git a/README.md b/README.md index 39d4e6d..77adc82 100644 --- a/README.md +++ b/README.md @@ -67,111 +67,120 @@ If you want to be a reliability engineer or operations engineer, study more from ## Table of Contents -- [Coding Interview University](#coding-interview-university) - - [What is it?](#what-is-it) - - [Table of Contents](#table-of-contents) - - [Additional Resources](#additional-resources) - - [Why use it?](#why-use-it) - - [How to use it](#how-to-use-it) - - [Don't feel you aren't smart enough](#dont-feel-you-arent-smart-enough) - - [About Video Resources](#about-video-resources) - - [Interview Process & General Interview Prep](#interview-process--general-interview-prep) - - [Pick One Language for the Interview](#pick-one-language-for-the-interview) - - [Book List](#book-list) - - [Interview Prep](#interview-prep) - - [If you have tons of extra time:](#if-you-have-tons-of-extra-time) - - [Language Specific](#language-specific) - - [C++](#c) - - [Java](#java) - - [Python](#python) - - [Before you Get Started](#before-you-get-started) - - [1. You Won't Remember it All](#1-you-wont-remember-it-all) - - [2. Use Flashcards](#2-use-flashcards) - - [3. Start doing coding interview questions while you're learning data structures and algorithms](#3-start-doing-coding-interview-questions-while-youre-learning-data-structures-and-algorithms) - - [4. Review, review, review](#4-review-review-review) - - [5. Focus](#5-focus) - - [What you won't see covered](#what-you-wont-see-covered) - - [The Daily Plan](#the-daily-plan) - - [Prerequisite Knowledge](#prerequisite-knowledge) - - [Algorithmic complexity / Big-O / Asymptotic analysis](#algorithmic-complexity--big-o--asymptotic-analysis) - - [Data Structures](#data-structures) - - [More Knowledge](#more-knowledge) - - [Trees](#trees) - - [Sorting](#sorting) - - [Graphs](#graphs) - - [Even More Knowledge](#even-more-knowledge) - - [System Design, Scalability, Data Handling](#system-design-scalability-data-handling) - - [Final Review](#final-review) - - [Coding Question Practice](#coding-question-practice) - - [Coding exercises/challenges](#coding-exerciseschallenges) - - [Once you're closer to the interview](#once-youre-closer-to-the-interview) - - [Your Resume](#your-resume) - - [Be thinking of for when the interview comes](#be-thinking-of-for-when-the-interview-comes) - - [Have questions for the interviewer](#have-questions-for-the-interviewer) - - [Once You've Got The Job](#once-youve-got-the-job) - - [Additional Books](#additional-books) - - [Additional Learning](#additional-learning) - - [Additional Detail on Some Subjects](#additional-detail-on-some-subjects) - - [Video Series](#video-series) - - [Computer Science Courses](#computer-science-courses) - - [Algorithms implementation](#algorithms-implementation) - - [Papers](#papers) - - [LICENSE](#license) +- [What is it?](#what-is-it) +- [Why use it?](#why-use-it) +- [How to use it](#how-to-use-it) +- [Don't feel you aren't smart enough](#dont-feel-you-arent-smart-enough) +- [About Video Resources](#about-video-resources) +- [Interview Process & General Interview Prep](#interview-process--general-interview-prep) +- [Pick One Language for the Interview](#pick-one-language-for-the-interview) +- [Book List](#book-list) +- [Before you Get Started](#before-you-get-started) +- [What you Won't See Covered](#what-you-wont-see-covered) +- [The Daily Plan](#the-daily-plan) +- [Prerequisite Knowledge](#prerequisite-knowledge) +- [Algorithmic complexity / Big-O / Asymptotic analysis](#algorithmic-complexity--big-o--asymptotic-analysis) +- [Data Structures](#data-structures) + - [Arrays](#arrays) + - [Linked Lists](#linked-lists) + - [Stack](#stack) + - [Queue](#queue) + - [Hash table](#hash-table) +- [More Knowledge](#more-knowledge) + - [Binary search](#binary-search) + - [Bitwise operations](#bitwise-operations) +- [Trees](#trees) + - [Trees - Notes & Background](#trees---notes--background) + - [Binary search trees: BSTs](#binary-search-trees-bsts) + - [Heap / Priority Queue / Binary Heap](#heap--priority-queue--binary-heap) + - balanced search trees (general concept, not details) + - traversals: preorder, inorder, postorder, BFS, DFS +- [Sorting](#sorting) + - selection + - insertion + - heapsort + - quicksort + - merge sort +- [Graphs](#graphs) + - directed + - undirected + - adjacency matrix + - adjacency list + - traversals: BFS, DFS +- [Even More Knowledge](#even-more-knowledge) + - [Recursion](#recursion) + - [Dynamic Programming](#dynamic-programming) + - [Object-Oriented Programming](#object-oriented-programming) + - [Design Patterns](#design-patterns) + - [Combinatorics (n choose k) & Probability](#combinatorics-n-choose-k--probability) + - [NP, NP-Complete and Approximation Algorithms](#np-np-complete-and-approximation-algorithms) + - [Caches](#caches) + - [Processes and Threads](#processes-and-threads) + - [Testing](#testing) + - [Scheduling](#scheduling) + - [String searching & manipulations](#string-searching--manipulations) + - [Tries](#tries) + - [Floating Point Numbers](#floating-point-numbers) + - [Unicode](#unicode) + - [Endianness](#endianness) + - [Networking](#networking) +- [System Design, Scalability, Data Handling](#system-design-scalability-data-handling) (if you have 4+ years experience) +- [Final Review](#final-review) +- [Coding Question Practice](#coding-question-practice) +- [Coding exercises/challenges](#coding-exerciseschallenges) +- [Once you're closer to the interview](#once-youre-closer-to-the-interview) +- [Your Resume](#your-resume) +- [Be thinking of for when the interview comes](#be-thinking-of-for-when-the-interview-comes) +- [Have questions for the interviewer](#have-questions-for-the-interviewer) +- [Once You've Got The Job](#once-youve-got-the-job) ---------------- Everything below this point is optional ---------------- ## Additional Resources -- [Coding Interview University](#coding-interview-university) - - [What is it?](#what-is-it) - - [Table of Contents](#table-of-contents) - - [Additional Resources](#additional-resources) - - [Why use it?](#why-use-it) - - [How to use it](#how-to-use-it) - - [Don't feel you aren't smart enough](#dont-feel-you-arent-smart-enough) - - [About Video Resources](#about-video-resources) - - [Interview Process & General Interview Prep](#interview-process--general-interview-prep) - - [Pick One Language for the Interview](#pick-one-language-for-the-interview) - - [Book List](#book-list) - - [Interview Prep](#interview-prep) - - [If you have tons of extra time:](#if-you-have-tons-of-extra-time) - - [Language Specific](#language-specific) - - [C++](#c) - - [Java](#java) - - [Python](#python) - - [Before you Get Started](#before-you-get-started) - - [1. You Won't Remember it All](#1-you-wont-remember-it-all) - - [2. Use Flashcards](#2-use-flashcards) - - [3. Start doing coding interview questions while you're learning data structures and algorithms](#3-start-doing-coding-interview-questions-while-youre-learning-data-structures-and-algorithms) - - [4. Review, review, review](#4-review-review-review) - - [5. Focus](#5-focus) - - [What you won't see covered](#what-you-wont-see-covered) - - [The Daily Plan](#the-daily-plan) - - [Prerequisite Knowledge](#prerequisite-knowledge) - - [Algorithmic complexity / Big-O / Asymptotic analysis](#algorithmic-complexity--big-o--asymptotic-analysis) - - [Data Structures](#data-structures) - - [More Knowledge](#more-knowledge) - - [Trees](#trees) - - [Sorting](#sorting) - - [Graphs](#graphs) - - [Even More Knowledge](#even-more-knowledge) - - [System Design, Scalability, Data Handling](#system-design-scalability-data-handling) - - [Final Review](#final-review) - - [Coding Question Practice](#coding-question-practice) - - [Coding exercises/challenges](#coding-exerciseschallenges) - - [Once you're closer to the interview](#once-youre-closer-to-the-interview) - - [Your Resume](#your-resume) - - [Be thinking of for when the interview comes](#be-thinking-of-for-when-the-interview-comes) - - [Have questions for the interviewer](#have-questions-for-the-interviewer) - - [Once You've Got The Job](#once-youve-got-the-job) - - [Additional Books](#additional-books) - - [Additional Learning](#additional-learning) - - [Additional Detail on Some Subjects](#additional-detail-on-some-subjects) - - [Video Series](#video-series) - - [Computer Science Courses](#computer-science-courses) - - [Algorithms implementation](#algorithms-implementation) - - [Papers](#papers) - - [LICENSE](#license) +- [Additional Books](#additional-books) +- [Additional Learning](#additional-learning) + - [Compilers](#compilers) + - [Emacs and vi(m)](#emacs-and-vim) + - [Unix command line tools](#unix-command-line-tools) + - [Information theory](#information-theory-videos) + - [Parity & Hamming Code](#parity--hamming-code-videos) + - [Entropy](#entropy) + - [Cryptography](#cryptography) + - [Compression](#compression) + - [Computer Security](#computer-security) + - [Garbage collection](#garbage-collection) + - [Parallel Programming](#parallel-programming) + - [Messaging, Serialization, and Queueing Systems](#messaging-serialization-and-queueing-systems) + - [A*](#a) + - [Fast Fourier Transform](#fast-fourier-transform) + - [Bloom Filter](#bloom-filter) + - [HyperLogLog](#hyperloglog) + - [Locality-Sensitive Hashing](#locality-sensitive-hashing) + - [van Emde Boas Trees](#van-emde-boas-trees) + - [Augmented Data Structures](#augmented-data-structures) + - [Balanced search trees](#balanced-search-trees) + - AVL trees + - Splay trees + - Red/black trees + - 2-3 search trees + - 2-3-4 Trees (aka 2-4 trees) + - N-ary (K-ary, M-ary) trees + - B-Trees + - [k-D Trees](#k-d-trees) + - [Skip lists](#skip-lists) + - [Network Flows](#network-flows) + - [Disjoint Sets & Union Find](#disjoint-sets--union-find) + - [Math for Fast Processing](#math-for-fast-processing) + - [Treap](#treap) + - [Linear Programming](#linear-programming-videos) + - [Geometry, Convex hull](#geometry-convex-hull-videos) + - [Discrete math](#discrete-math) + - [Machine Learning](#machine-learning) +- [Additional Detail on Some Subjects](#additional-detail-on-some-subjects) +- [Video Series](#video-series) +- [Computer Science Courses](#computer-science-courses) +- [Papers](#papers) --- diff --git a/translations/README-ja.md b/translations/README-ja.md index 3f21e7c..1cfb0fa 100644 --- a/translations/README-ja.md +++ b/translations/README-ja.md @@ -36,7 +36,7 @@ ## これは何? -これは、Webエンジニア(独学で、CS学位なし)から大企業のソフトウェアエンジニアを目指すための私の数か月の学習計画です。 +これは、Webエンジニア(独学で、CS学位なし)から大企業のソフトウェアエンジニアを目指すための私の複数月の学習計画です。 ![ホワイトボードでのコーディング - HBOのシリコンバレーから](https://d3j2pkmjtin6ou.cloudfront.net/coding-at-the-whiteboard-silicon-valley.png) @@ -50,92 +50,122 @@ SREまたはシステムエンジニアになりたい場合は、オプショ --- ## 目次 -- [コーディング面接の大学](#コーディング面接の大学) - - [これは何?](#これは何) - - [目次](#目次) - - [なぜそれを使用するのですか?](#なぜそれを使用するのですか) - - [それの使い方](#それの使い方) - - [あなたは十分にスマートではないと感じないでください](#あなたは十分にスマートではないと感じないでください) - - [ビデオリソースについて](#ビデオリソースについて) - - [面接のプロセスと一般的な面接の準備](#面接のプロセスと一般的な面接の準備) - - [面接のための1つの言語を選ぶ](#面接のための1つの言語を選ぶ) - - [ブックリスト](#ブックリスト) - - [面接の準備](#面接の準備) - - [コンピュータアーキテクチャ](#コンピュータアーキテクチャ) - - [言語固有](#言語固有) - - [C++](#c) - - [Java](#java) - - [Python](#python) - - [オプションの書籍](#オプションの書籍) - - [始める前に](#始める前に) - - [1.あなたはそれをすべて覚えていない](#1あなたはそれをすべて覚えていない) - - [2.フラッシュカードを使用する](#2フラッシュカードを使用する) - - [3.レビュー、レビュー、評価](#3レビューレビュー評価) - - [4.フォーカス](#4フォーカス) - - [カバーされていないもの](#カバーされていないもの) - - [日々の計画](#日々の計画) - - [前提知識](#前提知識) - - [アルゴリズムの複雑さ/ Big-O / Asymptotic解析](#アルゴリズムの複雑さ-big-o--asymptotic解析) - - [データ構造](#データ構造) - - [その他の知識](#その他の知識) - - [木](#木) - - [ソート](#ソート) - - [グラフ](#グラフ) - - [さらに多くの知識](#さらに多くの知識) - - [システム設計、スケーラビリティ、データ処理](#システム設計スケーラビリティデータ処理) - - [最終レビュー](#最終レビュー) - - [コーディングの質問練習](#コーディングの質問練習) - - [コード演習/挑戦](#コード演習挑戦) - - [面接に近づいたら](#面接に近づいたら) - - [あなたの履歴書](#あなたの履歴書) - - [面接が来たときに考えてください](#面接が来たときに考えてください) - - [面接官に質問があります](#面接官に質問があります) - - [一度あなたは仕事を得た](#一度あなたは仕事を得た) - - [その他の書籍](#その他の書籍) - - [その他の学習](#その他の学習) - - [追加科目の詳細](#追加科目の詳細) - - [ビデオシリーズ](#ビデオシリーズ) - - [コンピュータサイエンスコース](#コンピュータサイエンスコース) + +- [これは何?](#これは何?) +- [なぜこれを使うの?](#why-use-it) +- [使い方](#使い方) +- [あなたは十分にスマートではないと感じないでください](十分にスマートではありません) +- [ビデオリソースについて](#about-video-resources) +- [面接のプロセスと一般的な面接の準備](#面接プロセス--一般面接--準備) +- [面接のための1つの言語を選ぶ](面接のために1つの言語を選択する) +- [ブックリスト](#ブックリスト) +- [始める前に](始める前に#) +- あなたがカバーしていないもの(何があなたには見えません) +- [前提知識](#前提条件知識) +- [日々の計画](日々の計画) +- [アルゴリズムの複雑さ/ Big-O / Asymptotic分析](#アルゴリズム--複雑--big-o--漸近分析) +- [データ構造](#データ構造) + - [配列](#配列) + - [連結リスト](#連結リスト) + - [スタック](#スタック) + - [キュー](#キュー) + - [ハッシュテーブル](#ハッシュテーブル) +- [その他の知識](#more-knowledge) + - [二分探索](#二分探索) + - [ビット演算](#ビット演算) +- [木構造](#木) + - [木構造 - ノートと背景](#木---ノート--背景) + - [二分探索木:BST](#binary-search-trees-bsts) + - [ヒープ/優先度つきキュー/二分ヒープ](#ヒープ--優先度キュー--バイナリヒープ) + - 平衡探索木(詳細ではなく一般概念) + - 木の走査(traversal):行きがけ順(pre-order)、通りがかり順(in-order)、帰りがけ順(postorder)、深さ優先探索(BFS)、幅優先探索(DFS) +- [ソート](#ソート) + - 選択ソート + - 挿入ソート + - ヒープソート + - クイックソート + - マージソート +- [グラフ](#グラフ) + - 有向グラフ + - 無向グラフ + - 隣接行列 + - 隣接リスト + - トラバーサル:BFS、DFS +- [さらに多くの知識](#偶数知識) + - [再帰](#再帰) + - [動的プログラミング](#動的プログラミング) + - [オブジェクト指向プログラミング](#オブジェクト指向プログラミング) + - [デザインパターン](#デザインパターン) + - [組み合わせと確率](#combinatorics-n-choose-k--確率) + - [NP、NP完全/近似アルゴリズム](#np-np-complete-and-approximation-algorithms) + - [キャッシュ](#キャッシュ) + - [プロセスとスレッド](#processes-and-threads) + - [論文](#論文) + - [テスト](#テスト) + - [スケジューリング](#スケジューリング) + - [システムルーチンを実装する](#implement-system-routines) + - [文字列検索と操作](#文字列検索--操作) + - [試行](#試行) + - [浮動小数点数](浮動小数点数) + - [ユニコード](#ユニコード) + - [バイト順(エンディアン)](#エンディアン) +- [ネットワーキング](#ネットワーキング) +- [システム設計、スケーラビリティ、データ処理](#システム設計--スケーラビリティなデータ処理)(4年以上の経験がある場合) +- [最終審査](#最終審査) +- [コーディング質問練習](#コーディング質問練習) +- [コーディング練習問題/挑戦](#コーディング演習問題) +- [面接に近づいたら](面接に一度近づいて) +- [履歴書](あなたの履歴書) +- [面接が来たときに考える](面接のときに考えている) +- [面接官に質問があります](#面接のための質問があります) +- [一度あなたは仕事を得た](一度あなたが仕事をしたこと) ----------------この時点より下のものはすべてオプションです---------------- -- [その他の書籍](#その他の書籍) -- [その他の学習](#その他の学習) - - [コンパイラ](#コンパイラ) - - [Emacsとvi(m)](#Emacsとvi(m)) - - [Unixコマンドラインツール](#Unixコマンドラインツール) - - [情報理論(ビデオ)](#情報理論(ビデオ)) - - [パリティ&ハミングコード(ビデオ)](#パリティ&ハミングコード(ビデオ)) - - [エントロピー](#エントロピー) - - [暗号化](#暗号化) - - [圧縮](#圧縮) - - [コンピュータセキュリティ](#コンピュータセキュリティ) - - [ガベージコレクション](#ガベージコレクション) - - [パラレルプログラミング](#パラレルプログラミング) - - [メッセージング、シリアライゼーション、およびキューイングシステム](#メッセージング、シリアライゼーション、およびキューイングシステム) - - [A *](#A *) - - [高速フーリエ変換](#高速フーリエ変換) - - [ブルームフィルター](#ブルームフィルター) - - [HyperLogLog](#HyperLogLog) - - [局所性に敏感なハッシング](#局所性に敏感なハッシング) - - [ヴァンEmde Boasの木](#ヴァンEmde Boasの木) - - [拡張データ構造](#拡張データ構造) - - [バランスの取れた検索木](#バランスの取れた検索木) - - [kD木](#kD木) - - [リストをスキップする](#リストをスキップする) - - [ネットワークの流れ](#ネットワークの流れ) - - [分離集合と連合検索](#分離集合と連合検索) - - [高速処理のための数学](#高速処理のための数学) - - [Treap](#Treap) - - [リニアプログラミング(ビデオ)](#リニアプログラミング(ビデオ)) - - [幾何学、凸包(ビデオ)](#幾何学、凸包(ビデオ)) - - [離散数学](#離散数学) - - [機械学習](#機械学習) -- [追加科目の詳細](#追加科目の詳細) +- [追加の書籍](追加の書籍数) +- [追加の学習](追加学習) + - [コンパイラ](#コンパイラ) + - [Emacsとvi(m)](#emacs-and-vim) + - [Unixコマンドラインツール](#unix-command-line-tools) + - [情報理論](#情報理論) + - [パリティとハミング符号](#パリティ--ハミングコード) + - [情報量(エントロピー)](#エントロピー) + - [暗号化](#暗号化) + - [圧縮](#圧縮) + - [コンピュータセキュリティ](#コンピュータセキュリティ) + - [ガベージコレクション](#ガベージコレクション) + - [並列計算](#パラレルプログラミング) + - [メッセージング、シリアライゼーション・キューイングシステム](#メッセージングシリアライゼーションとキューイングシステム) + - [A *](#a) + - [高速フーリエ変換](#高速フーリエ変換) + - [ブルームフィルタ](#ブルームフィルタ) + - [HyperLogLog](#hyperloglog) + - [局所性鋭敏型ハッシュ](#ローカリティセンシティブハッシング) + - [van Emde Boas Trees(バン エンデ ボース)](ヴァン・エムード・ボア・木) + - [拡張データ構造](#拡張データ構造) + - [N-ary(k-ary、M-ary)木](#n-ary-k-ary-m-ary-trees) + - [平衡探索木](#バランス検索木) + - AVL木 + - スプレー木 + - 赤黒木 + - 2-3木 + - 2-3-4木(別名2-4木) + - 多分木(N-ary,K-ary,M-ary木) + - B木 + - [kd木](#k-d-trees) + - [スキップリスト](#スキップリスト) + - [ネットワークのフロー](#ネットワークフロー) + - [素集合データ構造とUnion-Findアルゴリズム](#disjoint-sets--union-find) + - [高速処理のための数学](#数学のための高速処理) + - [Treap](#treap) + - [線形計画法](#線形計画法) + - [ジオメトリ、凸包](#ジオメトリ--凸包) + - [離散数学](離散数学) + - [機械学習](機械学習) +- [いくつかの科目の追加の詳細](#追加の詳細--いくつかの科目) - [ビデオシリーズ](#ビデオシリーズ) - [コンピュータサイエンスコース](#コンピュータサイエンスコース) - ## なぜそれを使用するのですか? 私はこのプロジェクトを始めたとき、ヒープからスタックを知りませんでしたし、Big-Oの何か、樹木に関すること、グラフをたどる方法を知らなかったのです。 @@ -1543,7 +1573,7 @@ Skienaの本(下記の書籍の節を参照)と面接の書籍 - [エラー修正](https://www.youtube.com/watch?v=JAMLuxdHH8o) - [ ] [エラーチェック](https://www.youtube.com/watch?v=wbH2VxzmoZk) -- ### エントロピー +- ## #エントロピー - 下記の動画もご覧ください - 最初に情報理論ビデオを見てください - [情報理論、Claude Shannon、エントロピー、冗長性、データ圧縮およびビット(ビデオ)](https://youtu.be/JnJq3Py0dyM?t=176) From 3f6212abbe42686d89130e332322e67ecf6f57da Mon Sep 17 00:00:00 2001 From: ka_ueno Date: Fri, 2 Apr 2021 13:08:16 +0900 Subject: [PATCH 3/4] modify table of content in README-ja by using lint --- translations/README-ja.md | 158 +++++++++++--------------------------- 1 file changed, 46 insertions(+), 112 deletions(-) diff --git a/translations/README-ja.md b/translations/README-ja.md index 1cfb0fa..55c45d6 100644 --- a/translations/README-ja.md +++ b/translations/README-ja.md @@ -51,120 +51,54 @@ SREまたはシステムエンジニアになりたい場合は、オプショ ## 目次 -- [これは何?](#これは何?) -- [なぜこれを使うの?](#why-use-it) -- [使い方](#使い方) -- [あなたは十分にスマートではないと感じないでください](十分にスマートではありません) -- [ビデオリソースについて](#about-video-resources) -- [面接のプロセスと一般的な面接の準備](#面接プロセス--一般面接--準備) -- [面接のための1つの言語を選ぶ](面接のために1つの言語を選択する) -- [ブックリスト](#ブックリスト) -- [始める前に](始める前に#) -- あなたがカバーしていないもの(何があなたには見えません) -- [前提知識](#前提条件知識) -- [日々の計画](日々の計画) -- [アルゴリズムの複雑さ/ Big-O / Asymptotic分析](#アルゴリズム--複雑--big-o--漸近分析) -- [データ構造](#データ構造) - - [配列](#配列) - - [連結リスト](#連結リスト) - - [スタック](#スタック) - - [キュー](#キュー) - - [ハッシュテーブル](#ハッシュテーブル) -- [その他の知識](#more-knowledge) - - [二分探索](#二分探索) - - [ビット演算](#ビット演算) -- [木構造](#木) - - [木構造 - ノートと背景](#木---ノート--背景) - - [二分探索木:BST](#binary-search-trees-bsts) - - [ヒープ/優先度つきキュー/二分ヒープ](#ヒープ--優先度キュー--バイナリヒープ) - - 平衡探索木(詳細ではなく一般概念) - - 木の走査(traversal):行きがけ順(pre-order)、通りがかり順(in-order)、帰りがけ順(postorder)、深さ優先探索(BFS)、幅優先探索(DFS) -- [ソート](#ソート) - - 選択ソート - - 挿入ソート - - ヒープソート - - クイックソート - - マージソート -- [グラフ](#グラフ) - - 有向グラフ - - 無向グラフ - - 隣接行列 - - 隣接リスト - - トラバーサル:BFS、DFS -- [さらに多くの知識](#偶数知識) - - [再帰](#再帰) - - [動的プログラミング](#動的プログラミング) - - [オブジェクト指向プログラミング](#オブジェクト指向プログラミング) - - [デザインパターン](#デザインパターン) - - [組み合わせと確率](#combinatorics-n-choose-k--確率) - - [NP、NP完全/近似アルゴリズム](#np-np-complete-and-approximation-algorithms) - - [キャッシュ](#キャッシュ) - - [プロセスとスレッド](#processes-and-threads) - - [論文](#論文) - - [テスト](#テスト) - - [スケジューリング](#スケジューリング) - - [システムルーチンを実装する](#implement-system-routines) - - [文字列検索と操作](#文字列検索--操作) - - [試行](#試行) - - [浮動小数点数](浮動小数点数) - - [ユニコード](#ユニコード) - - [バイト順(エンディアン)](#エンディアン) -- [ネットワーキング](#ネットワーキング) -- [システム設計、スケーラビリティ、データ処理](#システム設計--スケーラビリティなデータ処理)(4年以上の経験がある場合) -- [最終審査](#最終審査) -- [コーディング質問練習](#コーディング質問練習) -- [コーディング練習問題/挑戦](#コーディング演習問題) -- [面接に近づいたら](面接に一度近づいて) -- [履歴書](あなたの履歴書) -- [面接が来たときに考える](面接のときに考えている) -- [面接官に質問があります](#面接のための質問があります) -- [一度あなたは仕事を得た](一度あなたが仕事をしたこと) -----------------この時点より下のものはすべてオプションです---------------- -- [追加の書籍](追加の書籍数) -- [追加の学習](追加学習) - - [コンパイラ](#コンパイラ) - - [Emacsとvi(m)](#emacs-and-vim) - - [Unixコマンドラインツール](#unix-command-line-tools) - - [情報理論](#情報理論) - - [パリティとハミング符号](#パリティ--ハミングコード) - - [情報量(エントロピー)](#エントロピー) - - [暗号化](#暗号化) - - [圧縮](#圧縮) - - [コンピュータセキュリティ](#コンピュータセキュリティ) - - [ガベージコレクション](#ガベージコレクション) - - [並列計算](#パラレルプログラミング) - - [メッセージング、シリアライゼーション・キューイングシステム](#メッセージングシリアライゼーションとキューイングシステム) - - [A *](#a) - - [高速フーリエ変換](#高速フーリエ変換) - - [ブルームフィルタ](#ブルームフィルタ) - - [HyperLogLog](#hyperloglog) - - [局所性鋭敏型ハッシュ](#ローカリティセンシティブハッシング) - - [van Emde Boas Trees(バン エンデ ボース)](ヴァン・エムード・ボア・木) - - [拡張データ構造](#拡張データ構造) - - [N-ary(k-ary、M-ary)木](#n-ary-k-ary-m-ary-trees) - - [平衡探索木](#バランス検索木) - - AVL木 - - スプレー木 - - 赤黒木 - - 2-3木 - - 2-3-4木(別名2-4木) - - 多分木(N-ary,K-ary,M-ary木) - - B木 - - [kd木](#k-d-trees) - - [スキップリスト](#スキップリスト) - - [ネットワークのフロー](#ネットワークフロー) - - [素集合データ構造とUnion-Findアルゴリズム](#disjoint-sets--union-find) - - [高速処理のための数学](#数学のための高速処理) - - [Treap](#treap) - - [線形計画法](#線形計画法) - - [ジオメトリ、凸包](#ジオメトリ--凸包) - - [離散数学](離散数学) - - [機械学習](機械学習) -- [いくつかの科目の追加の詳細](#追加の詳細--いくつかの科目) -- [ビデオシリーズ](#ビデオシリーズ) -- [コンピュータサイエンスコース](#コンピュータサイエンスコース) +- [コーディング面接の大学](#コーディング面接の大学) + - [これは何?](#これは何) + - [目次](#目次) + - [なぜそれを使用するのですか?](#なぜそれを使用するのですか) + - [それの使い方](#それの使い方) + - [あなたは十分にスマートではないと感じないでください](#あなたは十分にスマートではないと感じないでください) + - [ビデオリソースについて](#ビデオリソースについて) + - [面接のプロセスと一般的な面接の準備](#面接のプロセスと一般的な面接の準備) + - [面接のための1つの言語を選ぶ](#面接のための1つの言語を選ぶ) + - [ブックリスト](#ブックリスト) + - [面接の準備](#面接の準備) + - [コンピュータアーキテクチャ](#コンピュータアーキテクチャ) + - [言語固有](#言語固有) + - [C++](#c) + - [Java](#java) + - [Python](#python) + - [オプションの書籍](#オプションの書籍) + - [始める前に](#始める前に) + - [1.あなたはそれをすべて覚えていない](#1あなたはそれをすべて覚えていない) + - [2.フラッシュカードを使用する](#2フラッシュカードを使用する) + - [3.レビュー、レビュー、評価](#3レビューレビュー評価) + - [4.フォーカス](#4フォーカス) + - [カバーされていないもの](#カバーされていないもの) + - [日々の計画](#日々の計画) + - [前提知識](#前提知識) + - [アルゴリズムの複雑さ/ Big-O / Asymptotic解析](#アルゴリズムの複雑さ-big-o--asymptotic解析) + - [データ構造](#データ構造) + - [その他の知識](#その他の知識) + - [木](#木) + - [ソート](#ソート) + - [グラフ](#グラフ) + - [さらに多くの知識](#さらに多くの知識) + - [システム設計、スケーラビリティ、データ処理](#システム設計スケーラビリティデータ処理) + - [最終レビュー](#最終レビュー) + - [コーディングの質問練習](#コーディングの質問練習) + - [コード演習/挑戦](#コード演習挑戦) + - [面接に近づいたら](#面接に近づいたら) + - [あなたの履歴書](#あなたの履歴書) + - [面接が来たときに考えてください](#面接が来たときに考えてください) + - [面接官に質問があります](#面接官に質問があります) + - [一度あなたは仕事を得た](#一度あなたは仕事を得た) + - [その他の書籍](#その他の書籍) + - [その他の学習](#その他の学習) + - [追加科目の詳細](#追加科目の詳細) + - [ビデオシリーズ](#ビデオシリーズ) + - [コンピュータサイエンスコース](#コンピュータサイエンスコース) ## なぜそれを使用するのですか? From 09392964c36993a259b396e172dd5275c06ca869 Mon Sep 17 00:00:00 2001 From: ka_ueno Date: Fri, 2 Apr 2021 14:48:13 +0900 Subject: [PATCH 4/4] add japanese resources --- translations/README-ja.md | 111 +++++++++++++++++++------------------- 1 file changed, 56 insertions(+), 55 deletions(-) diff --git a/translations/README-ja.md b/translations/README-ja.md index 55c45d6..dfee95f 100644 --- a/translations/README-ja.md +++ b/translations/README-ja.md @@ -56,7 +56,7 @@ SREまたはシステムエンジニアになりたい場合は、オプショ - [コーディング面接の大学](#コーディング面接の大学) - [これは何?](#これは何) - [目次](#目次) - - [なぜそれを使用するのですか?](#なぜそれを使用するのですか) + - [なぜこれを使用するのか](#なぜこれを使用するのか) - [それの使い方](#それの使い方) - [あなたは十分にスマートではないと感じないでください](#あなたは十分にスマートではないと感じないでください) - [ビデオリソースについて](#ビデオリソースについて) @@ -69,7 +69,6 @@ SREまたはシステムエンジニアになりたい場合は、オプショ - [C++](#c) - [Java](#java) - [Python](#python) - - [オプションの書籍](#オプションの書籍) - [始める前に](#始める前に) - [1.あなたはそれをすべて覚えていない](#1あなたはそれをすべて覚えていない) - [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) --- @@ -154,10 +153,10 @@ SREまたはシステムエンジニアになりたい場合は、オプショ 一部のビデオは、Coursera、EdX、またはLynda.comクラスに登録することによってのみ利用できます。 これらは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/) +- [ ] [日本語版(世界で闘うプログラミング力を鍛える本)](https://www.amazon.co.jp/dp/4839960100/ref=cm_sw_r_tw_dp_6TFC3Y2R6TQTDEFFFPKZ) - Javaでの回答 もし余分な時間があれば: @@ -223,26 +223,28 @@ Lynda.comコースは無料ではありません。 ### コンピュータアーキテクチャ -短い時間: +短期: - [ ] [グレートコードの作成:第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年に出版され、幾分古いですが、コンピュータを簡単に理解するには素晴らしいリソースです。 - 作者はHLAを発明したので、塩の穀物でHLAの言及と例を取り上げます。広く使われているわけではありませんが、どのようなアセンブリのように見えますか? - これらの章はあなたに素敵な基礎を与えるために読む価値があります: - - 第2章 - 数値表現 -        - 第3章 - 2進算術とビット演算 + - 第2章 - 数値表現 + - 第3章 - 2進算術とビット演算 - 第4章 - 浮動小数点表現 - 第5章 - キャラクター表現 - 第6章 - メモリ構成とアクセス -        - 第7章 - 複合データ型とメモリオブジェクト -        - 第9章 - CPUアーキテクチャ + - 第7章 - 複合データ型とメモリオブジェクト + - 第9章 - CPUアーキテクチャ - 第10章 - 命令セットのアーキテクチャ - 第11章 - メモリのアーキテクチャと構成 もっと時間があれば(私はこの本が欲しい): - [ ] [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/ -### オプションの書籍 - -**ソフトウェア工学の長年の経験があり、もっと面白い面接を期待しない限り、これらのことをお勧めする人もいます。** - -- [ ] [アルゴリズム設計マニュアル](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) - [ ] [Harvard CS50 - コンパイラ(ビデオ)](https://www.youtube.com/watch?v=CSZLNYF4Klo)