diff --git a/README.md b/README.md index 747e4af..8098802 100644 --- a/README.md +++ b/README.md @@ -129,62 +129,51 @@ software development/engineering roles. ### Topics of Study -- [Coding Interview University](#coding-interview-university) - - [What is it?](#what-is-it) - - [Table of Contents](#table-of-contents) - - [The Study Plan](#the-study-plan) - - [Topics of Study](#topics-of-study) - - [Getting the Job](#getting-the-job) - - [Optional Extra Topics & Resources](#optional-extra-topics--resources) - - [Why use it?](#why-use-it) - - [How to use it](#how-to-use-it) - - [If you don't want to use git](#if-you-dont-want-to-use-git) - - [If you're comfortable with git](#if-youre-comfortable-with-git) - - [Don't feel you aren't smart enough](#dont-feel-you-arent-smart-enough) - - [A Note About Video Resources](#a-note-about-video-resources) - - [Choose a Programming Language](#choose-a-programming-language) - - [For this Study Plan](#for-this-study-plan) - - [For your Coding Interview](#for-your-coding-interview) - - [Books for Data Structures and Algorithms](#books-for-data-structures-and-algorithms) - - [C](#c) - - [Python](#python) - - [Java](#java) - - [C++](#c-1) - - [Interview Prep Books](#interview-prep-books) - - [If you have tons of extra time:](#if-you-have-tons-of-extra-time) - - [Don't Make My Mistakes](#dont-make-my-mistakes) - - [1. You Won't Remember it All](#1-you-wont-remember-it-all) - - [2. Use Flashcards](#2-use-flashcards) - - [3. Do Coding Interview Questions While You're Learning](#3-do-coding-interview-questions-while-youre-learning) - - [4. Focus](#4-focus) - - [What you won't see covered](#what-you-wont-see-covered) - - [The Daily Plan](#the-daily-plan) - - [Coding Question Practice](#coding-question-practice) - - [Coding Problems](#coding-problems) - - [Let's Get Started](#lets-get-started) - - [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) - - [Final Review](#final-review) - - [Update Your Resume](#update-your-resume) - - [Find a Job](#find-a-job) - - [Interview Process & General Interview Prep](#interview-process--general-interview-prep) - - [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) - - [System Design, Scalability, Data Handling](#system-design-scalability-data-handling) - - [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) +- [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) + - [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) + - [How computers process a program](#how-computers-process-a-program) + - [Caches](#caches) + - [Processes and Threads](#processes-and-threads) + - [Testing](#testing) + - [String searching & manipulations](#string-searching--manipulations) + - [Tries](#tries) + - [Floating Point Numbers](#floating-point-numbers) + - [Unicode](#unicode) + - [Endianness](#endianness) + - [Networking](#networking) +- [Final Review](#final-review) ### Getting the Job @@ -199,63 +188,50 @@ software development/engineering roles. ### Optional Extra Topics & Resources -- [Coding Interview University](#coding-interview-university) - - [What is it?](#what-is-it) - - [Table of Contents](#table-of-contents) - - [The Study Plan](#the-study-plan) - - [Topics of Study](#topics-of-study) - - [Getting the Job](#getting-the-job) - - [Optional Extra Topics & Resources](#optional-extra-topics--resources) - - [Why use it?](#why-use-it) - - [How to use it](#how-to-use-it) - - [If you don't want to use git](#if-you-dont-want-to-use-git) - - [If you're comfortable with git](#if-youre-comfortable-with-git) - - [Don't feel you aren't smart enough](#dont-feel-you-arent-smart-enough) - - [A Note About Video Resources](#a-note-about-video-resources) - - [Choose a Programming Language](#choose-a-programming-language) - - [For this Study Plan](#for-this-study-plan) - - [For your Coding Interview](#for-your-coding-interview) - - [Books for Data Structures and Algorithms](#books-for-data-structures-and-algorithms) - - [C](#c) - - [Python](#python) - - [Java](#java) - - [C++](#c-1) - - [Interview Prep Books](#interview-prep-books) - - [If you have tons of extra time:](#if-you-have-tons-of-extra-time) - - [Don't Make My Mistakes](#dont-make-my-mistakes) - - [1. You Won't Remember it All](#1-you-wont-remember-it-all) - - [2. Use Flashcards](#2-use-flashcards) - - [3. Do Coding Interview Questions While You're Learning](#3-do-coding-interview-questions-while-youre-learning) - - [4. Focus](#4-focus) - - [What you won't see covered](#what-you-wont-see-covered) - - [The Daily Plan](#the-daily-plan) - - [Coding Question Practice](#coding-question-practice) - - [Coding Problems](#coding-problems) - - [Let's Get Started](#lets-get-started) - - [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) - - [Final Review](#final-review) - - [Update Your Resume](#update-your-resume) - - [Find a Job](#find-a-job) - - [Interview Process & General Interview Prep](#interview-process--general-interview-prep) - - [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) - - [System Design, Scalability, Data Handling](#system-design-scalability-data-handling) - - [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) +- [System Design, Scalability, Data Handling](#system-design-scalability-data-handling) (if you have 4+ years experience) +- [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) --- ## Why use it? diff --git a/translations/README-af.md b/translations/README-af.md index e9de4a2..e2e859e 100644 --- a/translations/README-af.md +++ b/translations/README-af.md @@ -129,62 +129,51 @@ sagteware ontwikkeling/ingeneur rolle. ## Onderwerpe om te Studeer -- [Kodering Onderhoud Universiteit](#kodering-onderhoud-universiteit) - - [Wat is dit?](#wat-is-dit) - - [Inhoudsopgawe](#inhoudsopgawe) - - [Die Studie Plan](#die-studie-plan) - - [Onderwerpe om te Studeer](#onderwerpe-om-te-studeer) - - [Kry die Werk](#kry-die-werk) - - [Opsionele Ekstra Onderwerpe & Hulpbronne](#opsionele-ekstra-onderwerpe--hulpbronne) - - [Hoekom gebruik dit?](#hoekom-gebruik-dit) - - [Hoe om dit te gebruik?](#hoe-om-dit-te-gebruik) - - [As jy nie git wil gebruik nie](#as-jy-nie-git-wil-gebruik-nie) - - [As jy gemaklik met git is](#as-jy-gemaklik-met-git-is) - - [Moenie voel asof jy nie slim genoeg is nie](#moenie-voel-asof-jy-nie-slim-genoeg-is-nie) - - ['n Nota Oor Video Hulpbronne](#n-nota-oor-video-hulpbronne) - - [Kies 'n Programmeeringstaal](#kies-n-programmeeringstaal) - - [Vir die Studie Plan](#vir-die-studie-plan) - - [Vir jou Kodering Onderhoud](#vir-jou-kodering-onderhoud) - - [Boeke vir Datastrukture en Algoritmes](#boeke-vir-datastrukture-en-algoritmes) - - [C](#c) - - [Python](#python) - - [Java](#java) - - [C++](#c-1) - - [Onderhoud Voorbereïngsboeke](#onderhoud-voorbereiding) - - [As jy tonne ekstra tyd het](#as-jy-tonne-ekstra-tyd-het) - - [Moenie My Foute Maak Nie](#moenie-my-foute-maak-nie) - - [1. Jy Sal Nie Alles Onthou Nie](#1-jy-sal-nie-alles-onthou-nie) - - [2. Gebruik flitskaarte](#2-gebruik-flitskaarte) - - [3. Doen Kodering Onderhoud Vrae Terwyl Jy Leer](#3-doen-kodering-onderhoud-vrae-terwyl-jy-leer) - - [4. Fokus](#4-fokus) - - [Wat Jy Nie Sal Sien Gedek Word Nie](#wat-jy-nie-sal-sien-gedek-word-nie) - - [Die Daaglikse Plan](#die-daaglikse-plan) - - [Kodering Vrae Beoefening](#kodering-vrae-beoefening) - - [Kodering Probleme](#kodering-probleme) - - [Begin Solank](#begin-solank) - - [Algoritmiese Kompleksiteit / Big-O / Asimptotiese analise](#algorithmic-complexity--big-o--asymptotic-analysis) - - [Datastrukture](#datastrukture) - - [Meer Kennis](#meer-kennis) - - [Bome](#bome) - - [Sorteer](#sorteer) - - [Grafieke](#grafieke) - - [Nog Meer Kennis](#nog-meer-kennis) - - [Finale Resensie](#finale-resensie) - - [Werk Jou CV By](#werk-jou-cv-by) - - [Kry 'n Werk](#kry-n-werk) - - [Onderhoudproses & Algemene Voorbereiding](#onderhoudproses--algemene-voorbereiding) - - [Dink aan vir wanneer die onderhoud kom](#dink-aan-vir-wanneer-die-onderhoud-kom) - - [Hê vrae vir die onderhoudvoerder](#he-vrae-vir-die-onderhoudvoerder) - - [Sodra Jy Die Werk Het](#sodra-jy-die-werk-het) - - [Bykomende Boeke](#bykomende-boeke) - - [Stelsel Onderwerp, Skaalbaarheid, Data Hantering](#stelsel-onderwerp-skaalbaarheid-data-hantering) - - [Bykomende Leer](#bykomende-leer) - - [Bykomende Detail op Sommige Vakke](#bykomende-detail-op-sommige-vakke) - - [Video Reeks](#video-reeks) - - [Rekenaar Wetenshap Kursusse](#rekenaar-wetenshap-kursusse) - - [Algoritmes implementering](#algoritmes-implementering) - - [Papiere](#papiere) - - [LISENSIE](#lisensie) +- [Algoritmiese Kompleksiteit / Big-O / Asimptotiese analise](#algorithmic-complexity--big-o--asymptotic-analysis) +- [Datastrukture](#datastrukture) + - [Skikkings](#skikkings) + - [Linked Lists](#linked-lists) + - [Stack](#stack) + - [Queue](#queue) + - [Hash table](#hash-table) +- [Meer Kennis](#meer-kennis) + - [Binary search](#binary-search) + - [Bitwise operations](#bitwise-operations) +- [Bome](#bome) + - [Bome - Notas & Agtergrond](#bome---notas--agtergrond) + - [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 +- [Grafieke](#grafieke) + - directed + - undirected + - adjacency matrix + - adjacency list + - traversals: BFS, DFS +- [Nog Meer Kennis](#nog-meer-kennis) + - [Recursion](#recursion) + - [Dinamiese Programering](#dinamiese-programering) + - [Ontwerp Patrone](#ontwerp-patrone) + - [Combinatorics (n choose k) & Probability](#combinatorics-n-choose-k--probability) + - [NP, NP-Complete en Approximation Algorithms](#np-np-complete-en-approximation-algorithms) + - [Hoe rekenare 'n program proseseer](#hoe-rekenare-n-program-proseseer) + - [Caches](#caches) + - [Prosesse en Threads](#prosesse-en-threads) + - [Toets](#toets) + - [String searching & manipulations](#string-searching--manipulations) + - [Bome](#bome) + - [Floating Point Numbers](#floating-point-numbers) + - [Unicode](#unicode) + - [Endianness](#endianness) + - [Networking](#networking) +- [Finale revisie](#finale-revisie) ### Kry die Werk @@ -199,63 +188,50 @@ sagteware ontwikkeling/ingeneur rolle. ### Opsionele Ekstra Onderwerpe & Hulpbronne -- [Kodering Onderhoud Universiteit](#kodering-onderhoud-universiteit) - - [Wat is dit?](#wat-is-dit) - - [Inhoudsopgawe](#inhoudsopgawe) - - [Die Studie Plan](#die-studie-plan) - - [Onderwerpe om te Studeer](#onderwerpe-om-te-studeer) - - [Kry die Werk](#kry-die-werk) - - [Opsionele Ekstra Onderwerpe & Hulpbronne](#opsionele-ekstra-onderwerpe--hulpbronne) - - [Hoekom gebruik dit?](#hoekom-gebruik-dit) - - [Hoe om dit te gebruik?](#hoe-om-dit-te-gebruik) - - [As jy nie git wil gebruik nie](#as-jy-nie-git-wil-gebruik-nie) - - [As jy gemaklik met git is](#as-jy-gemaklik-met-git-is) - - [Moenie voel asof jy nie slim genoeg is nie](#moenie-voel-asof-jy-nie-slim-genoeg-is-nie) - - ['n Nota Oor Video Hulpbronne](#n-nota-oor-video-hulpbronne) - - [Kies 'n Programmeeringstaal](#kies-n-programmeeringstaal) - - [Vir die Studie Plan](#vir-die-studie-plan) - - [Vir jou Kodering Onderhoud](#vir-jou-kodering-onderhoud) - - [Boeke vir Datastrukture en Algoritmes](#boeke-vir-datastrukture-en-algoritmes) - - [C](#c) - - [Python](#python) - - [Java](#java) - - [C++](#c-1) - - [Onderhoud Voorbereïngsboeke](#onderhoud-voorbereiding) - - [As jy tonne ekstra tyd het](#as-jy-tonne-ekstra-tyd-het) - - [Moenie My Foute Maak Nie](#moenie-my-foute-maak-nie) - - [1. Jy Sal Nie Alles Onthou Nie](#1-jy-sal-nie-alles-onthou-nie) - - [2. Gebruik flitskaarte](#2-gebruik-flitskaarte) - - [3. Doen Kodering Onderhoud Vrae Terwyl Jy Leer](#3-doen-kodering-onderhoud-vrae-terwyl-jy-leer) - - [4. Fokus](#4-fokus) - - [Wat Jy Nie Sal Sien Gedek Word Nie](#wat-jy-nie-sal-sien-gedek-word-nie) - - [Die Daaglikse Plan](#die-daaglikse-plan) - - [Kodering Vrae Beoefening](#kodering-vrae-beoefening) - - [Kodering Probleme](#kodering-probleme) - - [Begin Solank](#begin-solank) - - [Algoritmiese Kompleksiteit / Big-O / Asimptotiese analise](#algoritmiese-kompleksiteti--big-o--asimptotiese-analise) - - [Datastrukture](#datastrukture) - - [Meer Kennis](#meer-kennis) - - [Bome](#bome) - - [Sorteer](#sorteer) - - [Grafieke](#grafieke) - - [Nog Meer Kennis](#nog-meer-kennis) - - [Finale Resensie](#finale-resensie) - - [Werk Jou CV By](#werk-jou-cv-by) - - [Kry 'n Werk](#kry-n-werk) - - [Onderhoudproses & Algemene Voorbereiding](#onderhoudproses--algemene-voorbereiding) - - [Dink aan vir wanneer die onderhoud kom](#dink-aan-vir-wanneer-die-onderhoud-kom) - - [Hê vrae vir die onderhoudvoerder](#he-vrae-vir-die-onderhoudvoerder) - - [Sodra Jy Die Werk Het](#sodra-jy-die-werk-het) - - [Bykomende Boeke](#bykomende-boeke) - - [Stelsel Onderwerp, Skaalbaarheid, Data Hantering](#stelsel-onderwerp-skaalbaarheid-data-hantering) - - [Bykomende Leer](#bykomende-leer) - - [Bykomende Detail op Sommige Vakke](#bykomende-detail-op-sommige-vakke) - - [Video Reeks](#video-reeks) - - [Rekenaar Wetenshap Kursusse](#rekenaar-wetenshap-kursusse) - - [Algoritmes implementering](#algoritmes-implementering) - - [Papiere](#papiere) - - [LISENSIE](#lisensie) - +- [Bykomende Boeke](#bykomende-boeke) +- [System Design, Scalability, Data Handling](#system-design-scalability-data-handling) (as jy 4+ jaar ondervinding het) +- [Bykomende Leer](#bykomende-leer) + - [Compilers](#compilers) + - [Emacs en vi(m)](#emacs-en-vim) + - [Unix command line tools](#unix-command-line-tools) + - [Inligtingsteorie](#inligtingsteorie-videos) + - [Parity & Hamming Kode](#parity--hamming-kode-videos) + - [Entropy](#entropy) + - [Cryptography](#cryptography) + - [Compression](#compression) + - [Rekenaar sekuriteit](#rekenaar-sekuriteit) + - [Garbage collection](#garbage-collection) + - [Parallel Programming](#parallel-programming) + - [Messaging, Serialization, en Queueing Systems](#messaging-serialization-en-queueing-systems) + - [A*](#a) + - [Vinnige Fourier Transform](#vinnige-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 Bome](#k-d-bome) + - [Skip lists](#skip-lists) + - [Network Flows](#network-flows) + - [Disjoint Sets & Union Find](#disjoint-sets--union-find) + - [Wiskunde vir Vinnige Verwerking](#wiskunde-vir-vinnige-verwerking) + - [Treap](#treap) + - [Lineêre Programering](#lineêre-programering-videos) + - [Geometry, Convex hull](#geometry-convex-hull-videos) + - [Diskrete wiskunde](#diskrete-wiskunde) + - [Masjienleer](#masjienleer) +- [Bykomende Detail op Sommige Vakke](#bykomende-detail-op-sommige-vakke) +- [Video Reeks](#video-reeks) +- [Rekenaar Wetenshap Kursusse](#rekenaar-wetenshap-kursusse) +- [Papiere](#papiere) --- ## Hoekom gebruik dit? @@ -1093,7 +1069,7 @@ Grafieke kan gebruik word om baie problmeme in rekenaar wetenskap te verteenwoor - [Jupyter Notebook](http://nbviewer.jupyter.org/url/norvig.com/ipython/TSP.ipynb) - Bladsye 1048 - 1140 in CLRS as jy dit het. -- ### Hoe rekenare 'n program proses +- ### Hoe rekenare 'n program proseseer - [ ] [How CPU executes a program (video)](https://www.youtube.com/watch?v=XM4lGflQFvA) - [ ] [How computers calculate - ALU (video)](https://youtu.be/1I5ZMmrOfnA)