Bladeren bron

Kazakh translations

From j0pgrm's Kazakh  branch

Co-Authored-By: j0pgrm <109052480+j0pgrm@users.noreply.github.com>
abhijeetsatpute 1 jaar geleden
bovenliggende
commit
9e98396bf0
1 gewijzigde bestanden met toevoegingen van 936 en 1756 verwijderingen
  1. 936 1756
      translations/README-kk.md

+ 936 - 1756
translations/README-kk.md

@@ -1,37 +1,74 @@
-# Coding Interview University
+# Кодтау сұхбат университеті
 
-> I originally created this as a short to-do list of study topics for becoming a software engineer,
-> but it grew to the large list you see today. After going through this study plan, [I got hired
-> as a Software Development Engineer at Amazon](https://startupnextdoor.com/ive-been-acquired-by-amazon/?src=ciu)!
-> You probably won't have to study as much as I did. Anyway, everything you need is here.
+> Мен мұны бастапқыда бағдарламалық жасақтама инженері болу үшін оқу тақырыптарының қысқаша тізімі ретінде жасадым,
+> бірақ ол бүгін көріп отырған үлкен тізімге дейін өсті. Осы оқу жоспарын орындағаннан кейін [мен жұмысқа қабылдандым
+> Amazon-да бағдарламалық жасақтаманы әзірлеу инженері ретінде](https://startupnextdoor.com/ive-been-acquired-by-amazon/?src=ciu)!
+> Мен сияқты көп оқудың қажеті жоқ шығар. Қалай болғанда да, сізге қажет нәрсенің бәрі осында.
 >
-> I studied about 8-12 hours a day, for several months. This is my story: [Why I studied full-time for 8 months for a Google interview](https://medium.freecodecamp.org/why-i-studied-full-time-for-8-months-for-a-google-interview-cc662ce9bb13)
+> Мен бірнеше ай бойы күніне 8-12 сағат оқыдым. Бұл менің оқиғам: [Google сұхбаты үшін неліктен мен 8 ай бойы толық уақытты оқыдым](https://medium.freecodecamp.org/why-i-studied-full-time-for-8-months-for-a -google-interview-cc662ce9bb13)
 >
-> **Please Note:** You won't need to study as much as I did. I wasted a lot of time on things I didn't need to know. More info about that below. I'll help you get there without wasting your precious time.
+> **Назар аударыңыз:** Сізге мен сияқты көп оқудың қажеті жоқ. Мен көп уақытымды қажет емес нәрселерге жұмсадым. Бұл туралы қосымша ақпарат төменде. Мен сізге қымбат уақытыңызды жоғалтпай жетуге көмектесемін.
 >
-> The items listed here will prepare you well for a technical interview at just about any software company,
-> including the giants: Amazon, Facebook, Google, and Microsoft.
+> Мұнда келтірілген элементтер сізді кез келген бағдарламалық жасақтама компаниясында техникалық сұхбатқа жақсы дайындайды,
+> алыптарды қоса алғанда: Amazon, Facebook, Google және Microsoft.
+# Kodtaw suxbat wnïversïteti
+
+> Men munı bastapqıda bağdarlamalıq jasaqtama ïnjeneri bolw üşin oqw taqırıptarınıñ qısqaşa tizimi retinde jasadım,
+> biraq ol bügin körip otırğan ülken tizimge deyin östi. Osı oqw josparın orındağannan keyin [men jumısqa qabıldandım
+> Amazon-da bağdarlamalıq jasaqtamanı äzirlew ïnjeneri retinde](https://startupnextdoor.com/ive-been-acquired-by-amazon/?src=ciu)!
+> Men sïyaqtı köp oqwdıñ qajeti joq şığar. Qalay bolğanda da, sizge qajet närseniñ bäri osında.
 >
-> *Best of luck to you!*
+> Men birneşe ay boyı künine 8-12 sağat oqıdım. Bul meniñ oqïğam: [Google suxbatı üşin nelikten men 8 ay boyı tolıq waqıttı oqıdım](https://medium.freecodecamp.org/why-i-studied-full-time-for-8-months-for-a -google-interview-cc662ce9bb13)
+>
+> **Nazar awdarıñız:** Sizge men sïyaqtı köp oqwdıñ qajeti joq. Men köp waqıtımdı qajet emes närselerge jumsadım. Bul twralı qosımşa aqparat tömende. Men sizge qımbat waqıtıñızdı joğaltpay jetwge kömektesemin.
+>
+> Munda keltirilgen élementter sizdi kez kelgen bağdarlamalıq jasaqtama kompanïyasında texnïkalıq suxbatqa jaqsı dayındaydı,
+> alıptardı qosa alğanda: Amazon, Facebook, Google jäne Microsoft.
 
-<details>
-<summary>Translations:</summary>
-
-- [中文版本](translations/README-cn.md)
-- [Tiếng Việt - Vietnamese](translations/README-vi.md)
-- [Español](translations/README-es.md)
-- [Português Brasileiro](translations/README-ptbr.md)
-- [Polish](translations/README-pl.md)
-- [繁體中文](translations/README-tw.md)
-- [Japanese (日本語)](translations/README-ja.md)
-- [Russian](translations/README-ru.md)
-- [German](translations/README-de.md)
-- [Bahasa Indonesia](translations/README-id.md)
-- [ខ្មែរ - Khmer](translations/README-kh.md)
-- [Uzbek](translations/README-uz.md)
-- [Bulgarian](translations/README-bg.md)
+
+>
+> *Сәттілік сізге!*
+
+<толығырақ>
+<summary>Аудармалар:</summary>
+
+- [中文版本](аудармалар/README-cn.md)
+- [Tiếng Việt - вьетнамша](аудармалар/README-vi.md)
+- [Español](аудармалар/README-es.md)
+- [Português Brasileiro](аудармалар/README-ptbr.md)
+- [Польша](аудармалар/README-pl.md)
+- [繁體中文](аудармалар/README-tw.md)
+- [Жапондық (日本語)](аудармалар/README-ja.md)
+- [Орыс](аудармалар/README-ru.md)
+- [Неміс](аудармалар/README-de.md)
+- [Бахаса Индонезия](аудармалар/README-id.md)
+- [ខ្មែរ - кхмер](аудармалар/README-kh.md)
+- [Өзбек](аудармалар/README-uz.md)
+- [Болгар](аудармалар/README-bg.md)
 - [বাংলা - Bangla](translations/README-bn.md)
 
+</details>
+>
+> *Sättilik sizge!*
+
+<tolığıraq>
+<summary>Awdarmalar:</summary>
+
+- [zhōng wén bǎn běn](awdarmalar/README-cn.md)
+- [Tiếng Việt - vetnamşa](awdarmalar/README-vi.md)
+- [Español](awdarmalar/README-es.md)
+- [Português Brasileiro](awdarmalar/README-ptbr.md)
+- [Polşa](awdarmalar/README-pl.md)
+- [fán tǐ zhōng wén](awdarmalar/README-tw.md)
+- [Japondıq (rì běn yǔ)](awdarmalar/README-ja.md)
+- [Orıs](awdarmalar/README-ru.md)
+- [Nemis](awdarmalar/README-de.md)
+- [Baxasa Ïndonezïya](awdarmalar/README-id.md)
+- [ខ្មែរ - kxmer](awdarmalar/README-kh.md)
+- [Özbek](awdarmalar/README-uz.md)
+- [Bolgar](awdarmalar/README-bg.md)
+- [bānlā - Bangla](translations/README-bn.md)
+
 </details>
 
 <details>
@@ -50,6 +87,7 @@
 - [Greek](https://github.com/jwasham/coding-interview-university/issues/166)
 - [Malayalam](https://github.com/jwasham/coding-interview-university/issues/239)
 - [Persian - Farsi](https://github.com/jwasham/coding-interview-university/issues/186)
+- [Afrikaans](https://github.com/jwasham/coding-interview-university/issues/1164)
 
 </details>
 
@@ -61,17 +99,6 @@
     <p>
         <strong>Special thanks to:</strong>
     </p>
-    <p>
-        <a href="https://oss.capital/">
-            <div>
-                <img src="https://d3j2pkmjtin6ou.cloudfront.net/sponsors/oss-capital.svg" width="350" alt="OSS Capital">
-            </div>
-            <div>
-                <sup><strong>Founded in 2018, OSS Capital is the first and only venture capital platform focused<br>exclusively on supporting early-stage COSS (commercial open source) startup founders.</strong></sup>
-            </div>
-        </a>
-    </p>
-    <br />
     <p>
         <a href="https://www.gitpod.io/?utm_campaign=jwasham&utm_medium=referral&utm_content=coding-interview-university&utm_source=github">
             <div>
@@ -90,1902 +117,1055 @@
     <hr />
 </div>
 
-## What is it?
+## Бұл не?
+
+![Тақтадағы кодтау - HBO арнасының Силикон алқабынан](https://d3j2pkmjtin6ou.cloudfront.net/coding-at-the-whiteboard-silicon-valley.png)
+
+Бұл менің ірі компанияда бағдарламалық жасақтама инженері болу үшін көп айлық оқу жоспарым.
+
+**Міндетті:**
+* Кодтау бойынша аз тәжірибе (айнымалылар, циклдар, әдістер/функциялар және т.б.)
+* Сабыр
+* Уақыт
+
+Бұл веб-әзірлеуге емес, **бағдарламалық қамтамасыз ету инженериясына** арналған оқу жоспары екенін ескеріңіз. Google, Amazon сияқты ірі бағдарламалық қамтамасыз ету компаниялары,
+Facebook және Microsoft бағдарламалық жасақтаманы веб-әзірлеуден өзгеше деп санайды. Мысалы, Amazon бар
+Frontend инженерлері (FEE) және бағдарламалық жасақтаманы әзірлеу инженерлері (SDE). Бұл 2 бөлек рөл және сұхбат
+олар бірдей болмайды, өйткені әрқайсысының өз құзыреті бар. Бұл компаниялар үшін информатика білімі қажет
+бағдарламалық қамтамасыз етуді әзірлеу/инженерлік рөлдер.
 
-![Coding at the whiteboard - from HBO's Silicon Valley](https://d3j2pkmjtin6ou.cloudfront.net/coding-at-the-whiteboard-silicon-valley.png)
+---
+
+## Мазмұны
+
+### Оқу жоспары
 
-This is my multi-month study plan for becoming a software engineer for a large company. 
+- [Бұл не?](#не-ол)
+- [Неге оны пайдалану керек?](#why-use-it)
+- [Қалай пайдалану керек](#қалай-пайдалану керек)
+- [Өзіңізді жеткілікті ақылды емес деп санамаңыз](#сізді жеткілікті түрде ақылды-сезінбеңіз)
+- [Бейне ресурстары туралы ескертпе](#a-note-about-video-resources)
+- [Бағдарламалау тілін таңдау](#choose-a-programming-language)
+- [Дерек құрылымдары мен алгоритмдеріне арналған кітаптар](#деректер құрылымдары мен алгоритмдеріне арналған кітаптар)
+- [Интервьюге дайындық кітаптары](#interview-prep-books)
+- [Менің қателіктерімді жасамаңыз](#қателіктерімді-жасамаңыз)
+- [Жабықпен сіз көрмейсіз](#сіз-көрмейтін-қамтылған)
+- [Күнделікті жоспар](#күнделікті-жоспар)
+- [Сұрақтарды кодтау тәжірибесі](#coding-question-practice)
+- [Кодтау мәселелері](#coding-problems)
+## Bul ne?
 
-**Required:** 
-* A little experience with coding (variables, loops, methods/functions, etc)
-* Patience
-* Time
+![Taqtadağı kodtaw - HBO arnasınıñ Sïlïkon alqabınan](https://d3j2pkmjtin6ou.cloudfront.net/coding-at-the-whiteboard-silicon-valley.png)
 
-Note this is a study plan for **software engineering**, not web development. Large software companies like Google, Amazon, 
-Facebook and Microsoft view software engineering as different from web development. For example, Amazon has 
-Frontend Engineers (FEE) and Software Development Engineers (SDE). These are 2 separate roles and the interviews for 
-them will not be the same, as each has its own competencies. These companies require computer science knowledge for 
-software development/engineering roles.
+Bul meniñ iri kompanïyada bağdarlamalıq jasaqtama ïnjeneri bolw üşin köp aylıq oqw josparım.
+
+**Mindetti:**
+* Kodtaw boyınşa az täjirïbe (aynımalılar, cïkldar, ädister/fwnkcïyalar jäne t.b.)
+* Sabır
+* Waqıt
+
+Bul veb-äzirlewge emes, **bağdarlamalıq qamtamasız etw ïnjenerïyasına** arnalğan oqw josparı ekenin eskeriñiz. Google, Amazon sïyaqtı iri bağdarlamalıq qamtamasız etw kompanïyaları,
+Facebook jäne Microsoft bağdarlamalıq jasaqtamanı veb-äzirlewden özgeşe dep sanaydı. Mısalı, Amazon bar
+Frontend ïnjenerleri (FEE) jäne bağdarlamalıq jasaqtamanı äzirlew ïnjenerleri (SDE). Bul 2 bölek röl jäne suxbat
+olar birdey bolmaydı, öytkeni ärqaysısınıñ öz quzıreti bar. Bul kompanïyalar üşin ïnformatïka bilimi qajet
+bağdarlamalıq qamtamasız etwdi äzirlew/ïnjenerlik rölder.
 
 ---
 
-## Table of Contents
-
-### The Study Plan
-
-- [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)
-- [A Note About Video Resources](#a-note-about-video-resources)
-- [Choose a Programming Language](#choose-a-programming-language)
-- [Books for Data Structures and Algorithms](#books-for-data-structures-and-algorithms)
-- [Interview Prep Books](#interview-prep-books)
-- [Don't Make My Mistakes](#dont-make-my-mistakes)
-- [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)
-
-### Topics of Study
-
-- [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)
+## Mazmunı
+
+### Oqw josparı
+
+- [Bul ne?](#ne-ol)
+- [Nege onı paydalanw kerek?](#why-use-it)
+- [Qalay paydalanw kerek](#qalay-paydalanw kerek)
+- [Öziñizdi jetkilikti aqıldı emes dep sanamañız](#sizdi jetkilikti türde aqıldı-sezinbeñiz)
+- [Beyne reswrstarı twralı eskertpe](#a-note-about-video-resources)
+- [Bağdarlamalaw tilin tañdaw](#choose-a-programming-language)
+- [Derek qurılımdarı men algorïtmderine arnalğan kitaptar](#derekter qurılımdarı men algorïtmderine arnalğan kitaptar)
+- [Ïntervyuge dayındıq kitaptarı](#interview-prep-books)
+- [Meniñ qatelikterimdi jasamañız](#qatelikterimdi-jasamañız)
+- [Jabıqpen siz körmeysiz](#siz-körmeytin-qamtılğan)
+- [Kündelikti jospar](#kündelikti-jospar)
+- [Suraqtardı kodtaw täjirïbesi](#coding-question-practice)
+- [Kodtaw mäseleleri](#coding-problems)
+
+### Оқу тақырыптары
+
+- [Алгоритмдік күрделілік / Үлкен-О / Асимптотикалық талдау](#алгоритмдік-күрделілік--үлкен-о--ассимптотикалық-анализ)
+- [Дерек құрылымдары](#деректер құрылымдары)
+    - [Массивтер](#массив)
+    - [Байланыстырылған тізімдер](#linked-lists)
+    - [Стек](#стек)
+    - [Кезек](#кезек)
+    - [Хэш кестесі](#хэш-кесте)
+- [Қосымша білім](#көп-білім)
+    - [Екілік іздеу](#екілік іздеу)
+    - [биттік операциялар](#биттік операциялар)
+- [Ағаштар](#ағаштар)
+    - [Ағаштар - Жазбалар және фон](#ағаштар---жазбалар--фон)
+    - [Екілік іздеу ағаштары: BSTs](#binary-search-trees-bsts)
+    - [Үйме / Басымдық кезек / Екілік үйме](#үйме--басымдылық-кезегі--екілік-үйме)
+    - теңдестірілген іздеу ағаштары (детальдар емес, жалпы түсінік)
+    - өтулер: алдын ала тапсырыс, тапсырыс, кейінгі тапсырыс, BFS, DFS
+- [Сұрыптау](#сұрыптау)
+    - таңдау
+    - кірістіру
+    - үйінді сұрыптау
+    - жылдам сұрыптау
+    - біріктіру сұрыптауы
+- [Графиктер](#график)
+    - бағыттады
+    - бағытталмаған
+    - көршілестік матрицасы
+    - іргелес тізім
+    - өтулер: BFS, DFS
+- [Одан да көп білім](#ven-more-bilgi)
+    - [Рекурсия](#рекурсия)
+    - [Динамикалық бағдарламалау](#динамикалық-бағдарламалау)
+    - [Дизайн үлгілері](#design-patterns)
+    - [Комбинаторика (n таңдау k) & Ықтималдық](#комбинаторика-n-таңдау-k--ықтималдық)
+    - [NP, NP-Толық және жуықтау алгоритмдері](#np-np-толық-және жуықтау-алгоритмдері)
+    - [Компьютерлер бағдарламаны қалай өңдейді](#қалай-компьютерлер-бағдарламаны өңдейді)
+    - [Кэштер](#кэштер)
+    - [Процестер мен ағындар](#processes-and-threads)
+    - [Тестілеу](#тестілеу)
+    - [Жолды іздеу және манипуляциялар](#string-searching--манипуляциялар)
+    - [Әрекет](# тырысады)
+    - [Жылжымалы нүкте сандары](#жылжымалы нүкте сандары)
+    - [Юникод](#уникод)
     - [Endianness](#endianness)
     - [Networking](#networking)
-- [Final Review](#final-review)
-
-### Getting the Job
-
-- [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)
-
-**---------------- Everything below this point is optional ----------------**
-
-### Optional Extra Topics & Resources
-
-- [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)
+- [Қорытынды шолу](#соңғы шолу)
+
+### Жұмысқа орналасу
+
+- [Түйіндемеңізді жаңарту](#жаңарту-өз түйіндемеңіз)
+- [Жұмыс табу](#жұмыс табу)
+- [Интервью процесі және жалпы сұхбатқа дайындық](#interview-process--жалпы-интервью-дайындық)
+- [Сұхбат қашан келетінін ойлаңыз](#сұхбат келгенде-ойланыңыз)
+- [Сұхбат алушыға сұрақтарыңыз бар](#сұхбат алушыға-сұрақтарыңыз бар)
+- [Жұмысқа қол жеткізгеннен кейін](#бір рет-жұмысқа-алғаннан кейін)
+
+**---------------- Осы тармақтың астындағылардың барлығы міндетті емес ----------------**
+### Oqw taqırıptarı
+
+- [Algorïtmdik kürdelilik / Ülken-O / Asïmptotïkalıq taldaw](#algorïtmdik-kürdelilik--ülken-o--assïmptotïkalıq-analïz)
+- [Derek qurılımdarı](#derekter qurılımdarı)
+ - [Massïvter](#massïv)
+ - [Baylanıstırılğan tizimder](#linked-lists)
+ - [Stek](#stek)
+ - [Kezek](#kezek)
+ - [Xéş kestesi](#xéş-keste)
+- [Qosımşa bilim](#köp-bilim)
+ - [Ekilik izdew](#ekilik izdew)
+ - [bïttik operacïyalar](#bïttik operacïyalar)
+- [Ağaştar](#ağaştar)
+ - [Ağaştar - Jazbalar jäne fon](#ağaştar---jazbalar--fon)
+ - [Ekilik izdew ağaştarı: BSTs](#binary-search-trees-bsts)
+ - [Üyme / Basımdıq kezek / Ekilik üyme](#üyme--basımdılıq-kezegi--ekilik-üyme)
+ - teñdestirilgen izdew ağaştarı (detaldar emes, jalpı tüsinik)
+ - ötwler: aldın ala tapsırıs, tapsırıs, keyingi tapsırıs, BFS, DFS
+- [Surıptaw](#surıptaw)
+ - tañdaw
+ - kiristirw
+ - üyindi surıptaw
+ - jıldam surıptaw
+ - biriktirw surıptawı
+- [Grafïkter](#grafïk)
+ - bağıttadı
+ - bağıttalmağan
+ - körşilestik matrïcası
+ - irgeles tizim
+ - ötwler: BFS, DFS
+- [Odan da köp bilim](#ven-more-bilgi)
+ - [Rekwrsïya](#rekwrsïya)
+ - [Dïnamïkalıq bağdarlamalaw](#dïnamïkalıq-bağdarlamalaw)
+ - [Dïzayn ülgileri](#design-patterns)
+ - [Kombïnatorïka (n tañdaw k) & Iqtïmaldıq](#kombïnatorïka-n-tañdaw-k--ıqtïmaldıq)
+ - [NP, NP-Tolıq jäne jwıqtaw algorïtmderi](#np-np-tolıq-jäne jwıqtaw-algorïtmderi)
+ - [Kompyuterler bağdarlamanı qalay öñdeydi](#qalay-kompyuterler-bağdarlamanı öñdeydi)
+ - [Kéşter](#kéşter)
+ - [Procester men ağındar](#processes-and-threads)
+ - [Testilew](#testilew)
+ - [Joldı izdew jäne manïpwlyacïyalar](#string-searching--manïpwlyacïyalar)
+ - [Äreket](# tırısadı)
+ - [Jıljımalı nükte sandarı](#jıljımalı nükte sandarı)
+ - [Yunïkod](#wnïkod)
+ - [Endianness](#endianness)
+ - [Networking](#networking)
+- [Qorıtındı şolw](#soñğı şolw)
+
+### Jumısqa ornalasw
+
+- [Tüyindemeñizdi jañartw](#jañartw-öz tüyindemeñiz)
+- [Jumıs tabw](#jumıs tabw)
+- [Ïntervyu procesi jäne jalpı suxbatqa dayındıq](#interview-process--jalpı-ïntervyu-dayındıq)
+- [Suxbat qaşan keletinin oylañız](#suxbat kelgende-oylanıñız)
+- [Suxbat alwşığa suraqtarıñız bar](#suxbat alwşığa-suraqtarıñız bar)
+- [Jumısqa qol jetkizgennen keyin](#bir ret-jumısqa-alğannan keyin)
+
+**---------------- Osı tarmaqtıñ astındağılardıñ barlığı mindetti emes ----------------**
+
+### Қосымша қосымша тақырыптар мен ресурстар
+
+- [Қосымша кітаптар](#қосымша кітаптар)
+- [Жүйені жобалау, масштабтау, деректерді өңдеу](#жүйе дизайны-масштабтау-деректерді өңдеу) (4 жылдан астам тәжірибеңіз болса)
+- [Қосымша оқыту](#қосымша-оқыту)
+    - [Құрастырушылар](#компиляторлар)
+    - [Emacs және vi(m)](#emacs-and-vim)
+    - [Unix пәрмен жолы құралдары](#unix-командалық жол құралдары)
+    - [Ақпарат теориясы](#ақпарат-теория-бейнелер)
+    - [Паритет және Хамминг коды](#parity--hamming-code-videos)
+    - [Энтропия](#энтропия)
+    - [Криптография](#криптография)
+    - [Сығу](#қысу)
+    - [Компьютер қауіпсіздігі](#компьютер қауіпсіздігі)
+    - [Қоқыс жинау](#қоқыс жинау)
+    - [Параллельді бағдарламалау](#параллельді бағдарламалау)
+    - [Хабар алмасу, сериялау және кезекке қою жүйелері](#хабарлама-серияландыру-және-кезектеу-жүйелері)
     - [A*](#a)
-    - [Fast Fourier Transform](#fast-fourier-transform)
-    - [Bloom Filter](#bloom-filter)
+    - [Fast Furier Transform](#fast-fourier-transform)
+    - [Блум сүзгісі](#блум-сүзгісі)
     - [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)
+    - [Жергілікті-сезімтал хэштеу](#жергілікті-сезімтал-хэшинг)
+    - [ван Эмде Боас ағаштары](#ван-емде-боас-ағаштар)
+    - [Толықтырылған деректер құрылымдары](#augmented-data-structures)
+    - [Балансталған іздеу ағаштары](#балансталған іздеу ағаштары)
+        - AVL ағаштары
+        - Ағаштар
+        - қызыл/қара ағаштар
+        - 2-3 іздеу ағаштары
+        - 2-3-4 ағаш (2-4 ағаш)
+        - N-ары (Қ-ары, М-ары) ағаштары
+        - В-ағаштар
+    - [k-D ағаштары](#k-d-ағаштар)
+    - [Тізімдерді өткізіп жіберу](#өткізу тізімдері)
+    - [Желі ағындары](#желі ағындары)
+    - [Ажыратылған жиындар және одақтарды табу](#disjoint-жинақтар--одақ-табу)
+    - [Жылдам өңдеуге арналған математика](#жылдам өңдеуге арналған математика)
+    - [Треап](#treap)
+    - [Сызықтық бағдарламалау](#linear-бағдарламалау-бейнелер)
+    - [Геометрия, дөңес корпус](#геометрия-дөңес-корпус-бейнелері)
+    - [Дискретті математика](#дискретті-математика)
+- [Кейбір тақырыптар бойынша қосымша мәліметтер](кейбір тақырыптар бойынша #қосымша-деталь)
+- [Бейне сериясы](#бейне сериясы)
+- [Информатика курстары](#компьютер-ғылым-курстары)
+- [Қағаздар](#қағаз)
+### Qosımşa qosımşa taqırıptar men reswrstar
+
+- [Qosımşa kitaptar](#qosımşa kitaptar)
+- [Jüyeni jobalaw, masştabtaw, derekterdi öñdew](#jüye dïzaynı-masştabtaw-derekterdi öñdew) (4 jıldan astam täjirïbeñiz bolsa)
+- [Qosımşa oqıtw](#qosımşa-oqıtw)
+ - [Qurastırwşılar](#kompïlyatorlar)
+ - [Emacs jäne vi(m)](#emacs-and-vim)
+ - [Unix pärmen jolı quraldarı](#unix-komandalıq jol quraldarı)
+ - [Aqparat teorïyası](#aqparat-teorïya-beyneler)
+ - [Parïtet jäne Xammïng kodı](#parity--hamming-code-videos)
+ - [Éntropïya](#éntropïya)
+ - [Krïptografïya](#krïptografïya)
+ - [Sığw](#qısw)
+ - [Kompyuter qawipsizdigi](#kompyuter qawipsizdigi)
+ - [Qoqıs jïnaw](#qoqıs jïnaw)
+ - [Paralleldi bağdarlamalaw](#paralleldi bağdarlamalaw)
+ - [Xabar almasw, serïyalaw jäne kezekke qoyu jüyeleri](#xabarlama-serïyalandırw-jäne-kezektew-jüyeleri)
+ - [A*](#a)
+ - [Fast Furier Transform](#fast-fourier-transform)
+ - [Blwm süzgisi](#blwm-süzgisi)
+ - [HyperLogLog](#hyperloglog)
+ - [Jergilikti-sezimtal xéştew](#jergilikti-sezimtal-xéşïng)
+ - [van Émde Boas ağaştarı](#van-emde-boas-ağaştar)
+ - [Tolıqtırılğan derekter qurılımdarı](#augmented-data-structures)
+ - [Balanstalğan izdew ağaştarı](#balanstalğan izdew ağaştarı)
+ - AVL ağaştarı
+ - Ağaştar
+ - qızıl/qara ağaştar
+ - 2-3 izdew ağaştarı
+ - 2-3-4 ağaş (2-4 ağaş)
+ - N-arı (Q-arı, M-arı) ağaştarı
+ - V-ağaştar
+ - [k-D ağaştarı](#k-d-ağaştar)
+ - [Tizimderdi ötkizip jiberw](#ötkizw tizimderi)
+ - [Jeli ağındarı](#jeli ağındarı)
+ - [Ajıratılğan jïındar jäne odaqtardı tabw](#disjoint-jïnaqtar--odaq-tabw)
+ - [Jıldam öñdewge arnalğan matematïka](#jıldam öñdewge arnalğan matematïka)
+ - [Treap](#treap)
+ - [Sızıqtıq bağdarlamalaw](#linear-bağdarlamalaw-beyneler)
+ - [Geometrïya, döñes korpws](#geometrïya-döñes-korpws-beyneleri)
+ - [Dïskretti matematïka](#dïskretti-matematïka)
+- [Keybir taqırıptar boyınşa qosımşa mälimetter](keybir taqırıptar boyınşa #qosımşa-detal)
+- [Beyne serïyası](#beyne serïyası)
+- [Ïnformatïka kwrstarı](#kompyuter-ğılım-kwrstarı)
+- [Qağazdar](#qağaz)
+
+## Оны не үшін қолдану керек?
+
+Егер сіз ірі компанияда бағдарламалық жасақтама инженері болып жұмыс істегіңіз келсе, бұл сізге білу керек нәрселер.
+
+Егер сіз мен сияқты информатика бойынша ғылыми дәреже алуды жіберіп алсаңыз, бұл сізді қуып жетіп, өміріңіздің төрт жылын сақтайды.
+
+Мен бұл жобаны бастаған кезде, мен үйіндіден стекті білмедім, Big-O ештеңе білмедім, ағаштар туралы ештеңе білмедім немесе қалай істеу керектігін білмедім.
+графикті айналып өту. Егер мен сұрыптау алгоритмін кодтауым керек болса, бұл қорқынышты болар еді деп айта аламын.
+Мен пайдаланған әрбір деректер құрылымы тілге салынған және мен олардың қалай жұмыс істейтінін білмедім
+мүлде капюшонның астында. Мен іске қосып жатқан процесс «шығын» бермейінше, жадты ешқашан басқаруға тура келмеді
+жад» қатесі пайда болды, содан кейін уақытша шешім табуым керек еді. Мен өмірімде бірнеше көп өлшемді массивтерді қолдандым және
+мыңдаған ассоциативті массивтер, бірақ мен ешқашан деректер құрылымдарын нөлден жасаған емеспін.
+
+Бұл ұзақ жоспар. Бұл сізге айлар алуы мүмкін. Егер сіз мұның көп бөлігімен таныс болсаңыз, бұл сізге әлдеқайда аз уақыт алады.
+
+## Оны қалай пайдалануға болады
+
+Төмендегілердің бәрі контур, сондықтан элементтерді жоғарыдан төменге қарай ретімен шешу керек.
+
+Мен GitHub-тың арнайы белгілеу дәмін, соның ішінде орындалу барысын бақылау үшін тапсырмалар тізімдерін пайдаланамын.
+  - [GitHub-flavored markdown туралы толығырақ](https://guides.github.com/features/mastering-markdown/#GitHub-flavored-markdown)
+
+### Егер сіз git қолданбасын пайдаланғыңыз келмесе
+
+Бұл бетте жоғарғы жағындағы Код түймесін басыңыз, содан кейін «ZIP жүктеп алу» түймесін басыңыз. Файлды ашыңыз және мәтіндік файлдармен жұмыс істей аласыз.
+
+Белгілеуді түсінетін код өңдегішінде ашық болсаңыз, барлығы жақсы пішімделгенін көресіз.
+
+![Репоны zip файлы ретінде қалай жүктеп алуға болады](https://d3j2pkmjtin6ou.cloudfront.net/how-to-download-as-zip.png)
+
+### Егер сіз gitпен ыңғайлы болсаңыз
+
+Мынадай элементтерді тексеру үшін жаңа тармақ жасаңыз, жақшаға x белгісін қойыңыз: [x]
+
+1. ***GitHub репосын ашыңыз:*** `https://github.com/jwasham/coding-interview-university` Fork түймесін басу арқылы.
+## Onı ne üşin qoldanw kerek?
+
+Eger siz iri kompanïyada bağdarlamalıq jasaqtama ïnjeneri bolıp jumıs istegiñiz kelse, bul sizge bilw kerek närseler.
 
----
+Eger siz men sïyaqtı ïnformatïka boyınşa ğılımï däreje alwdı jiberip alsañız, bul sizdi qwıp jetip, ömiriñizdiñ tört jılın saqtaydı.
 
-## Why use it?
+Men bul jobanı bastağan kezde, men üyindiden stekti bilmedim, Big-O eşteñe bilmedim, ağaştar twralı eşteñe bilmedim nemese qalay istew kerektigin bilmedim.
+grafïkti aynalıp ötw. Eger men surıptaw algorïtmin kodtawım kerek bolsa, bul qorqınıştı bolar edi dep ayta alamın.
+Men paydalanğan ärbir derekter qurılımı tilge salınğan jäne men olardıñ qalay jumıs isteytinin bilmedim
+mülde kapyuşonnıñ astında. Men iske qosıp jatqan process «şığın» bermeyinşe, jadtı eşqaşan basqarwğa twra kelmedi
+jad» qatesi payda boldı, sodan keyin waqıtşa şeşim tabwım kerek edi. Men ömirimde birneşe köp ölşemdi massïvterdi qoldandım jäne
+mıñdağan assocïatïvti massïvter, biraq men eşqaşan derekter qurılımdarın nölden jasağan emespin.
 
-If you want to work as a software engineer for a large company, these are the things you have to know.
+Bul uzaq jospar. Bul sizge aylar alwı mümkin. Eger siz munıñ köp böligimen tanıs bolsañız, bul sizge äldeqayda az waqıt aladı.
 
-If you missed out on getting a degree in computer science, like I did, this will catch you up and save four years of your life.
+## Onı qalay paydalanwğa boladı
 
-When I started this project, I didn't know a stack from a heap, didn't know Big-O anything, or anything about trees, or how to
-traverse a graph. If I had to code a sorting algorithm, I can tell ya it would have been terrible.
-Every data structure I had ever used was built into the language, and I didn't know how they worked
-under the hood at all. I never had to manage memory unless a process I was running would give an "out of
-memory" error, and then I'd have to find a workaround. I used a few multidimensional arrays in my life and
-thousands of associative arrays, but I never created data structures from scratch.
+Tömendegilerdiñ bäri kontwr, sondıqtan élementterdi joğarıdan tömenge qaray retimen şeşw kerek.
 
-It's a long plan. It may take you months. If you are familiar with a lot of this already it will take you a lot less time.
+Men GitHub-tıñ arnayı belgilew dämin, sonıñ işinde orındalw barısın baqılaw üşin tapsırmalar tizimderin paydalanamın.
+ - [GitHub-flavored markdown twralı tolığıraq](https://guides.github.com/features/mastering-markdown/#GitHub-flavored-markdown)
 
-## How to use it
+### Eger siz git qoldanbasın paydalanğıñız kelmese
 
-Everything below is an outline, and you should tackle the items in order from top to bottom.
+Bul bette joğarğı jağındağı Kod tüymesin basıñız, sodan keyin «ZIP jüktep alw» tüymesin basıñız. Fayldı aşıñız jäne mätindik fayldarmen jumıs istey alasız.
 
-I'm using GitHub's special markdown flavor, including tasks lists to track progress.
+Belgilewdi tüsinetin kod öñdegişinde aşıq bolsañız, barlığı jaqsı pişimdelgenin köresiz.
 
-**Create a new branch so you can check items like this, just put an x in the brackets: [x]**
+![Reponı zip faylı retinde qalay jüktep alwğa boladı](https://d3j2pkmjtin6ou.cloudfront.net/how-to-download-as-zip.png)
 
-    Fork a branch and follow the commands below
+### Eger siz gitpen ıñğaylı bolsañız
 
-Fork the GitHub repo https://github.com/jwasham/coding-interview-university by clicking on the Fork button.
+Mınaday élementterdi tekserw üşin jaña tarmaq jasañız, jaqşağa x belgisin qoyıñız: [x]
 
-Clone to your local repo:
+1. ***GitHub reposın aşıñız:*** `https://github.com/jwasham/coding-interview-university` Fork tüymesin basw arqılı.
 
+
+![GitHub репосын ашыңыз](https://d3j2pkmjtin6ou.cloudfront.net/fork-button.png)
+
+1. Жергілікті репоға клондау:
+
+    ```
     git clone git@github.com:<your_github_username>/coding-interview-university.git
-    git checkout -b progress
-    git remote add jwasham https://github.com/jwasham/coding-interview-university
-    git fetch --all
+    CD кодтау-сұхбат-университет
+    git checkout -b прогресс
+    git қашықтан jwasham қосу https://github.com/jwasham/coding-interview-university
+    git fetch --барлығы
+    ```
 
-Mark all boxes with X after you completed your changes:
+1. Өзгерістерді аяқтағаннан кейін барлық ұяшықтарды X белгісімен белгілеңіз:
 
-    git add .
-    git commit -m "Marked x"
+    ```
+    git қосу.
+    git commit -m «X белгіленген»
     git rebase jwasham/main
-    git push --set-upstream origin progress
+    git push --set-upstream бастапқы прогресті
     git push --force
+    ```
+
+## Өзіңді жеткілікті ақылды емес деп санама
+
+- Табысты бағдарламалық жасақтама инженерлері ақылды, бірақ олардың көпшілігі жеткілікті ақылды емес деген сенімсіздікке ие.
+- Келесі бейнелер осы сенімсіздікті жеңуге көмектесуі мүмкін:
+    - [Данышпан программист туралы миф](https://www.youtube.com/watch?v=0SARbwvhupQ)
+    - [Жалғыз жүру қауіпті: технологиядағы көрінбейтін құбыжықтармен күресу](https://www.youtube.com/watch?v=1i8ylq4j_EY)
+
+## Бейне ресурстар туралы ескертпе
+
+Кейбір бейнелер Coursera немесе EdX сыныбына тіркелу арқылы ғана қолжетімді. Бұлар MOOC деп аталады.
+Кейде сабақтар сессияда болмайды, сондықтан сізге бірнеше ай күтуге тура келеді, сондықтан сізде кіру мүмкіндігі болмайды.
+
+Онлайн курс ресурстарын тегін және әрқашан қолжетімді жалпыға қолжетімді көздермен алмастыру тамаша болар еді,
+мысалы, YouTube бейнелері (жақсырақ университет лекциялары), сондықтан сіз кез келген уақытта оларды оқи аласыз,
+белгілі бір онлайн курс сессияда болғанда ғана емес.
+
+## Бағдарламалау тілін таңдаңыз
+
+Сізге кодтау сұхбаттары үшін бағдарламалау тілін таңдау керек,
+бірақ сізге информатика ұғымдарын зерттеу үшін қолдануға болатын тілді табу қажет болады.
+
+Тіл бірдей болғаны дұрыс, сондықтан сізге тек біреуін білу керек.
+
+### Осы оқу жоспары үшін
+
+Мен оқу жоспарын жасаған кезде оның көп бөлігінде 2 тілді қолдандым: C және Python
 
-[More about GitHub-flavored markdown](https://guides.github.com/features/mastering-markdown/#GitHub-flavored-markdown)
+* C: Өте төмен деңгей. Көрсеткіштермен және жадты бөлу/бөлумен жұмыс істеуге мүмкіндік береді, осылайша деректер құрылымдарын сезінесіз
+    және сүйектеріңіздегі алгоритмдер. Python немесе Java сияқты жоғары деңгейлі тілдерде олар сізден жасырылады. Күнделікті жұмыста бұл керемет,
+    бірақ сіз осы төмен деңгейлі деректер құрылымдарының қалай салынғанын үйреніп жатқанда, металға жақын сезіну өте жақсы.
+    - C барлық жерде бар. Сіз оқу кезінде мысалдарды кітаптардан, лекциялардан, бейнелерден, *барлық жерде* көресіз.
+    - [The C бағдарламалау тілі, 2-том](https://www.amazon.com/Programming-Language-Brian-W-Kernighan/dp/0131103628)
+![GitHub reposın aşıñız](https://d3j2pkmjtin6ou.cloudfront.net/fork-button.png)
 
-## Don't feel you aren't smart enough
+1. Jergilikti repoğa klondaw:
 
-- Successful software engineers are smart, but many have an insecurity that they aren't smart enough.
-- [The myth of the Genius Programmer](https://www.youtube.com/watch?v=0SARbwvhupQ)
-- [It's Dangerous to Go Alone: Battling the Invisible Monsters in Tech](https://www.youtube.com/watch?v=1i8ylq4j_EY)
+ ```
+ git clone git@github.com:<your_github_username>/coding-interview-university.git
+ CD kodtaw-suxbat-wnïversïtet
+ git checkout -b progress
+ git qaşıqtan jwasham qosw https://github.com/jwasham/coding-interview-university
+ git fetch --barlığı
+ ```
 
-## A Note About Video Resources
+1. Özgeristerdi ayaqtağannan keyin barlıq uyaşıqtardı X belgisimen belgileñiz:
 
-Some videos are available only by enrolling in a Coursera or EdX class. These are called MOOCs.
-Sometimes the classes are not in session so you have to wait a couple of months, so you have no access.
+ ```
+ git qosw.
+ git commit -m «X belgilengen»
+ git rebase jwasham/main
+ git push --set-upstream bastapqı progresti
+ git push --force
+ ```
 
-It would be great to replace the online course resources with free and always-available public sources, 
-such as YouTube videos (preferably university lectures), so that you people can study these anytime, 
-not just when a specific online course is in session.
+## Öziñdi jetkilikti aqıldı emes dep sanama
 
-## Choose a Programming Language
+- Tabıstı bağdarlamalıq jasaqtama ïnjenerleri aqıldı, biraq olardıñ köpşiligi jetkilikti aqıldı emes degen senimsizdikke ïe.
+- Kelesi beyneler osı senimsizdikti jeñwge kömekteswi mümkin:
+ - [Danışpan programmïst twralı mïf](https://www.youtube.com/watch?v=0SARbwvhupQ)
+ - [Jalğız jürw qawipti: texnologïyadağı körinbeytin qubıjıqtarmen küresw](https://www.youtube.com/watch?v=1i8ylq4j_EY)
 
-You'll need to choose a programming language for the coding interviews you do, 
-but you'll also need to find a language that you can use to study computer science concepts.
+## Beyne reswrstar twralı eskertpe
 
-Preferably the language would be the same, so that you only need to be proficient in one.
+Keybir beyneler Coursera nemese EdX sınıbına tirkelw arqılı ğana qoljetimdi. Bular MOOC dep ataladı.
+Keyde sabaqtar sessïyada bolmaydı, sondıqtan sizge birneşe ay kütwge twra keledi, sondıqtan sizde kirw mümkindigi bolmaydı.
 
-### For this Study Plan
+Onlayn kwrs reswrstarın tegin jäne ärqaşan qoljetimdi jalpığa qoljetimdi közdermen almastırw tamaşa bolar edi,
+mısalı, YouTube beyneleri (jaqsıraq wnïversïtet lekcïyaları), sondıqtan siz kez kelgen waqıtta olardı oqï alasız,
+belgili bir onlayn kwrs sessïyada bolğanda ğana emes.
 
-When I did the study plan, I used 2 languages for most of it: C and Python
+## Bağdarlamalaw tilin tañdañız
 
-* C: Very low level. Allows you to deal with pointers and memory allocation/deallocation, so you feel the data structures 
-    and algorithms in your bones. In higher level languages like Python or Java, these are hidden from you. In day to day work, that's terrific,
-    but when you're learning how these low-level data structures are built, it's great to feel close to the metal.
-    - C is everywhere. You'll see examples in books, lectures, videos, *everywhere* while you're studying.
-    - [The C Programming Language, Vol 2](https://www.amazon.com/Programming-Language-Brian-W-Kernighan/dp/0131103628)
-        - This is a short book, but it will give you a great handle on the C language and if you practice it a little
-            you'll quickly get proficient. Understanding C helps you understand how programs and memory work.
-        - You don't need to go super deep in the book (or even finish it). Just get to where you're comfortable reading and writing in C.
-        - [Answers to questions in the book](https://github.com/lekkas/c-algorithms)
-* Python: Modern and very expressive, I learned it because it's just super useful and also allows me to write less code in an interview.
+Sizge kodtaw suxbattarı üşin bağdarlamalaw tilin tañdaw kerek,
+biraq sizge ïnformatïka uğımdarın zerttew üşin qoldanwğa bolatın tildi tabw qajet boladı.
 
-This is my preference. You do what you like, of course.
+Til birdey bolğanı durıs, sondıqtan sizge tek birewin bilw kerek.
 
-You may not need it, but here are some sites for learning a new language:
-- [Exercism](https://exercism.org/tracks)
+### Osı oqw josparı üşin
+
+Men oqw josparın jasağan kezde onıñ köp böliginde 2 tildi qoldandım: C jäne Python
+
+* C: Öte tömen deñgey. Körsetkiştermen jäne jadtı bölw/bölwmen jumıs istewge mümkindik beredi, osılayşa derekter qurılımdarın sezinesiz
+ jäne süyekteriñizdegi algorïtmder. Python nemese Java sïyaqtı joğarı deñgeyli tilderde olar sizden jasırıladı. Kündelikti jumısta bul keremet,
+ biraq siz osı tömen deñgeyli derekter qurılımdarınıñ qalay salınğanın üyrenip jatqanda, metalğa jaqın sezinw öte jaqsı.
+ - C barlıq jerde bar. Siz oqw kezinde mısaldardı kitaptardan, lekcïyalardan, beynelerden, *barlıq jerde* köresiz.
+ - [The C bağdarlamalaw tili, 2-tom](https://www.amazon.com/Programming-Language-Brian-W-Kernighan/dp/0131103628)
+
+ - Бұл қысқа кітап, бірақ ол сізге Си тілін жақсы меңгеруге мүмкіндік береді және егер сіз оны аздап үйренсеңіз
+            тез шеберлікке ие боласыз. Си түсіну бағдарламалар мен жадтың қалай жұмыс істейтінін түсінуге көмектеседі.
+        - Кітаптың тереңіне барудың (тіпті оны аяқтаудың) қажеті жоқ. Си тілінде оқуға және жазуға ыңғайлы жерге жетіңіз.
+        - [Кітаптағы сұрақтарға жауаптар](https://github.com/lekkas/c-algorithms)
+* Python: Заманауи және өте мәнерлі, мен оны білдім, себебі бұл өте пайдалы және сұхбатта азырақ код жазуға мүмкіндік береді.
+
+Бұл менің басымдылығым. Сіз өзіңізге ұнайтын нәрсені жасайсыз, әрине.
+
+Бұл сізге қажет болмауы мүмкін, бірақ жаңа тілді үйренуге арналған бірнеше сайттар:
+- [Жаттығу](https://exercism.org/tracks)
 - [Codewars](http://www.codewars.com)
 - [Codility](https://codility.com/programmers/)
 - [HackerEarth](https://www.hackerearth.com/)
 - [Sphere Online Judge (spoj)](http://www.spoj.com/)
 - [Codechef](https://www.codechef.com/)
-- [Codeforces](https://codeforces.com/)
+- [Код күштері](https://codeforces.com/)
+- [Scaler тақырыптары](https://www.scaler.com/topics/)
 
-### For your Coding Interview
+### Кодтау сұхбаты үшін
 
-You can use a language you are comfortable in to do the coding part of the interview, but for large companies, these are solid choices:
+Сұхбаттың кодтау бөлігін орындау үшін өзіңізге ыңғайлы тілді пайдалануға болады, бірақ ірі компаниялар үшін бұл дұрыс таңдау:
 
 - C++
 - Java
 - Python
 
-You could also use these, but read around first. There may be caveats:
+Сіз оларды да пайдалана аласыз, бірақ алдымен оқып шығыңыз. Ескертулер болуы мүмкін:
 
 - JavaScript
-- Ruby
+- Рубин
 
-Here is an article I wrote about choosing a language for the interview: 
-[Pick One Language for the Coding Interview](https://startupnextdoor.com/important-pick-one-language-for-the-coding-interview/).
-This is the original article my post was based on: http://blog.codingforinterviews.com/best-programming-language-jobs/
+Сұхбат үшін тілді таңдау туралы жазған мақалам:
+[Кодтау сұхбаты үшін бір тілді таңдаңыз](https://startupnextdoor.com/important-pick-one-language-for-the-coding-interview/).
+Бұл менің постыма негізделген түпнұсқа мақала: [Сұхбаттар үшін бағдарламалау тілін таңдау](https://web.archive.org/web/20210516054124/http://blog.codingforinterviews.com/best-programming-language- жұмыс/)
 
-You need to be very comfortable in the language and be knowledgeable.
+Сіз тілде өте ыңғайлы және білімді болуыңыз керек.
+- Bul qısqa kitap, biraq ol sizge Sï tilin jaqsı meñgerwge mümkindik beredi jäne eger siz onı azdap üyrenseñiz
+ tez şeberlikke ïe bolasız. Sï tüsinw bağdarlamalar men jadtıñ qalay jumıs isteytinin tüsinwge kömektesedi.
+ - Kitaptıñ tereñine barwdıñ (tipti onı ayaqtawdıñ) qajeti joq. Sï tilinde oqwğa jäne jazwğa ıñğaylı jerge jetiñiz.
+ - [Kitaptağı suraqtarğa jawaptar](https://github.com/lekkas/c-algorithms)
+* Python: Zamanawï jäne öte mänerli, men onı bildim, sebebi bul öte paydalı jäne suxbatta azıraq kod jazwğa mümkindik beredi.
 
-Read more about choices: 
-- [Choose the Right Language for Your Coding Interview](http://www.byte-by-byte.com/choose-the-right-language-for-your-coding-interview/)
+Bul meniñ basımdılığım. Siz öziñizge unaytın närseni jasaysız, ärïne.
 
-[See language-specific resources here](programming-language-resources.md)
+Bul sizge qajet bolmawı mümkin, biraq jaña tildi üyrenwge arnalğan birneşe sayttar:
+- [Jattığw](https://exercism.org/tracks)
+- [Codewars](http://www.codewars.com)
+- [Codility](https://codility.com/programmers/)
+- [HackerEarth](https://www.hackerearth.com/)
+- [Sphere Online Judge (spoj)](http://www.spoj.com/)
+- [Codechef](https://www.codechef.com/)
+- [Kod küşteri](https://codeforces.com/)
+- [Scaler taqırıptarı](https://www.scaler.com/topics/)
 
-## Books for Data Structures and Algorithms
+### Kodtaw suxbatı üşin
 
-This book will form your foundation for computer science.
+Suxbattıñ kodtaw böligin orındaw üşin öziñizge ıñğaylı tildi paydalanwğa boladı, biraq iri kompanïyalar üşin bul durıs tañdaw:
 
-Just choose one, in a language that you will be comfortable with. You'll be doing a lot of reading and coding.
+- C++
+- Java
+- Python
 
-### C
+Siz olardı da paydalana alasız, biraq aldımen oqıp şığıñız. Eskertwler bolwı mümkin:
 
-- [Algorithms in C, Parts 1-5 (Bundle), 3rd Edition](https://www.amazon.com/Algorithms-Parts-1-5-Bundle-Fundamentals/dp/0201756080)
-    - Fundamentals, Data Structures, Sorting, Searching, and Graph Algorithms 
+- JavaScript
+- Rwbïn
 
-### Python
+Suxbat üşin tildi tañdaw twralı jazğan maqalam:
+[Kodtaw suxbatı üşin bir tildi tañdañız](https://startupnextdoor.com/important-pick-one-language-for-the-coding-interview/).
+Bul meniñ postıma negizdelgen tüpnusqa maqala: [Suxbattar üşin bağdarlamalaw tilin tañdaw](https://web.archive.org/web/20210516054124/http://blog.codingforinterviews.com/best-programming-language- jumıs/)
 
-- [Data Structures and Algorithms in Python](https://www.amazon.com/Structures-Algorithms-Python-Michael-Goodrich/dp/1118290275/)
-    - by Goodrich, Tamassia, Goldwasser
-    - I loved this book. It covered everything and more.
-    - Pythonic code
-    - my glowing book report: https://startupnextdoor.com/book-report-data-structures-and-algorithms-in-python/
+Siz tilde öte ıñğaylı jäne bilimdi bolwıñız kerek.
 
-### Java
 
-Your choice:
+Таңдау туралы толығырақ оқыңыз:
+- [Кодтау сұхбаты үшін дұрыс тілді таңдаңыз](http://www.byte-by-byte.com/choose-the-right-language-for-your-coding-interview/)
 
-- Goodrich, Tamassia, Goldwasser
-    - [Data Structures and Algorithms in Java](https://www.amazon.com/Data-Structures-Algorithms-Michael-Goodrich/dp/1118771338/)
-- Sedgewick and Wayne:
-    - [Algorithms](https://www.amazon.com/Algorithms-4th-Robert-Sedgewick/dp/032157351X/)
-    - Free Coursera course that covers the book (taught by the authors!):
-        - [Algorithms I](https://www.coursera.org/learn/algorithms-part1)
-        - [Algorithms II](https://www.coursera.org/learn/algorithms-part2)
+[Тілге қатысты ресурстарды осы жерден қараңыз](programming-language-resources.md)
 
-### C++
+## Деректер құрылымдары мен алгоритмдерге арналған кітаптар
 
-Your choice:
+Бұл кітап сіздің информатика ғылымының негізін қалады.
 
-- Goodrich, Tamassia, and Mount
-    - [Data Structures and Algorithms in C++, 2nd Edition](https://www.amazon.com/Data-Structures-Algorithms-Michael-Goodrich/dp/0470383275)
-- Sedgewick and Wayne
-    - [Algorithms in C++, Parts 1-4: Fundamentals, Data Structure, Sorting, Searching](https://www.amazon.com/Algorithms-Parts-1-4-Fundamentals-Structure/dp/0201350882/)
-    - [Algorithms in C++ Part 5: Graph Algorithms](https://www.amazon.com/Algorithms-Part-Graph-3rd-Pt-5/dp/0201361183/)
+Сізге ыңғайлы тілде біреуін ғана таңдаңыз. Сіз көп оқумен және кодтаумен айналысатын боласыз.
 
-## Interview Prep Books
+### C
 
-You don't need to buy a bunch of these. Honestly "Cracking the Coding Interview" is probably enough, 
-but I bought more to give myself more practice. But I always do too much.
+- [C тіліндегі алгоритмдер, 1-5 бөліктері (бума), 3-ші басылым](https://www.amazon.com/Algorithms-Parts-1-5-Bundle-Fundamentals/dp/0201756080)
+    - Негіздер, деректер құрылымдары, сұрыптау, іздеу және графикалық алгоритмдер
 
-I bought both of these. They gave me plenty of practice.
+### Python
 
-- [Programming Interviews Exposed: Coding Your Way Through the Interview, 4th Edition](https://www.amazon.com/Programming-Interviews-Exposed-Through-Interview/dp/111941847X/)
-    - Answers in C++ and Java
-    - This is a good warm-up for Cracking the Coding Interview
-    - Not too difficult. Most problems may be easier than what you'll see in an interview (from what I've read)
-- [Cracking the Coding Interview, 6th Edition](http://www.amazon.com/Cracking-Coding-Interview-6th-Programming/dp/0984782850/)
-    - answers in Java
+- [Python тіліндегі деректер құрылымдары мен алгоритмдері](https://www.amazon.com/Structures-Algorithms-Python-Michael-Goodrich/dp/1118290275/)
+    - Гудрих, Тамассия, Голдвассер
+    - Маған бұл кітап ұнады. Ол барлығын және т.б. қамтыды.
+    - Питоникалық код
+    - менің жарқыраған кітабым туралы есеп: https://startupnextdoor.com/book-report-data-structures-and-algorithms-in-python/
 
-### If you have tons of extra time:
+### Java
 
-Choose one:
+Сенің таңдауың:
 
-- [Elements of Programming Interviews (C++ version)](https://www.amazon.com/Elements-Programming-Interviews-Insiders-Guide/dp/1479274836)
-- [Elements of Programming Interviews in Python](https://www.amazon.com/Elements-Programming-Interviews-Python-Insiders/dp/1537713949/)
-- [Elements of Programming Interviews (Java version)](https://www.amazon.com/Elements-Programming-Interviews-Java-Insiders/dp/1517435803/)
-        - [Companion Project - Method Stub and Test Cases for Every Problem in the Book](https://github.com/gardncl/elements-of-programming-interviews)
+- Гудрих, Тамассия, Голдвассер
+    - [Java тіліндегі деректер құрылымдары мен алгоритмдері](https://www.amazon.com/Data-Structures-Algorithms-Michael-Goodrich/dp/1118771338/)
+- Седжвик пен Уэйн:
+    - [Алгоритмдер](https://www.amazon.com/Algorithms-4th-Robert-Sedgewick/dp/032157351X/)
+    - Кітапты қамтитын тегін Coursera курсы (авторлар үйретеді!):
+        - [Algorithms I](https://www.coursera.org/learn/algorithms-part1)
+        - [Алгоритмдер II](https://www.coursera.org/learn/algorithms-part2)
 
-## Don't Make My Mistakes
+### C++
+Tañdaw twralı tolığıraq oqıñız:
+- [Kodtaw suxbatı üşin durıs tildi tañdañız](http://www.byte-by-byte.com/choose-the-right-language-for-your-coding-interview/)
 
-This list grew over many months, and yes, it got out of hand.
+[Tilge qatıstı reswrstardı osı jerden qarañız](programming-language-resources.md)
 
-Here are some mistakes I made so you'll have a better experience. And you'll save months of time.
+## Derekter qurılımdarı men algorïtmderge arnalğan kitaptar
 
-### 1. You Won't Remember it All
+Bul kitap sizdiñ ïnformatïka ğılımınıñ negizin qaladı.
 
-I watched hours of videos and took copious notes, and months later there was much I didn't remember. I spent 3 days going
-through my notes and making flashcards, so I could review. I didn't need all of that knowledge.
+Sizge ıñğaylı tilde birewin ğana tañdañız. Siz köp oqwmen jäne kodtawmen aynalısatın bolasız.
 
-Please, read so you won't make my mistakes:
+### C
 
-[Retaining Computer Science Knowledge](https://startupnextdoor.com/retaining-computer-science-knowledge/).
+- [C tilindegi algorïtmder, 1-5 bölikteri (bwma), 3-şi basılım](https://www.amazon.com/Algorithms-Parts-1-5-Bundle-Fundamentals/dp/0201756080)
+ - Negizder, derekter qurılımdarı, surıptaw, izdew jäne grafïkalıq algorïtmder
 
-### 2. Use Flashcards
+### Python
 
-To solve the problem, I made a little flashcards site where I could add flashcards of 2 types: general and code.
-Each card has different formatting. I made a mobile-first website, so I could review on my phone or tablet, wherever I am.
+- [Python tilindegi derekter qurılımdarı men algorïtmderi](https://www.amazon.com/Structures-Algorithms-Python-Michael-Goodrich/dp/1118290275/)
+ - Gwdrïx, Tamassïya, Goldvasser
+ - Mağan bul kitap unadı. Ol barlığın jäne t.b. qamtıdı.
+ - Pïtonïkalıq kod
+ - meniñ jarqırağan kitabım twralı esep: https://startupnextdoor.com/book-report-data-structures-and-algorithms-in-python/
 
-Make your own for free:
+### Java
 
-- [Flashcards site repo](https://github.com/jwasham/computer-science-flash-cards)
+Seniñ tañdawıñ:
 
-**I DON'T RECOMMEND using my flashcards.** There are too many and many of them are trivia that you don't need.
+- Gwdrïx, Tamassïya, Goldvasser
+ - [Java tilindegi derekter qurılımdarı men algorïtmderi](https://www.amazon.com/Data-Structures-Algorithms-Michael-Goodrich/dp/1118771338/)
+- Sedjvïk pen Wéyn:
+ - [Algorïtmder](https://www.amazon.com/Algorithms-4th-Robert-Sedgewick/dp/032157351X/)
+ - Kitaptı qamtïtın tegin Coursera kwrsı (avtorlar üyretedi!):
+ - [Algorithms I](https://www.coursera.org/learn/algorithms-part1)
+ - [Algorïtmder II](https://www.coursera.org/learn/algorithms-part2)
 
-But if you don't want to listen to me, here you go:
-- [My flash cards database (1200 cards)](https://github.com/jwasham/computer-science-flash-cards/blob/main/cards-jwasham.db):
-- [My flash cards database (extreme - 1800 cards)](https://github.com/jwasham/computer-science-flash-cards/blob/main/cards-jwasham-extreme.db):
+### C++
 
-Keep in mind I went overboard and have cards covering everything from assembly language and Python trivia to machine learning and statistics. 
-It's way too much for what's required.
+Сенің таңдауың:
 
-**Note on flashcards:** The first time you recognize you know the answer, don't mark it as known. You have to see the
-same card and answer it several times correctly before you really know it. Repetition will put that knowledge deeper in
-your brain.
+- Гудрих, Тамассия және тау
+    - [C++ тіліндегі деректер құрылымдары мен алгоритмдері, 2-ші басылым](https://www.amazon.com/Data-Structures-Algorithms-Michael-Goodrich/dp/0470383275)
+- Седжвик пен Уэйн
+    - [C++ тіліндегі алгоритмдер, 1-4 бөлімдер: негіздері, деректер құрылымы, сұрыптау, іздеу](https://www.amazon.com/Algorithms-Parts-1-4-Fundamentals-Structure/dp/0201350882/)
+    - [C++ тіліндегі алгоритмдер 5-бөлім: Графикалық алгоритмдер](https://www.amazon.com/Algorithms-Part-Graph-3rd-Pt-5/dp/0201361183/)
 
-An alternative to using my flashcard site is [Anki](http://ankisrs.net/), which has been recommended to me numerous times. 
-It uses a repetition system to help you remember. It's user-friendly, available on all platforms and has a cloud sync system. 
-It costs $25 on iOS but is free on other platforms.
+## Сұхбатқа дайындық кітаптары
 
-My flashcard database in Anki format: https://ankiweb.net/shared/info/25173560 (thanks [@xiewenya](https://github.com/xiewenya)).
+Сізге бұлардың жиынтығын сатып алудың қажеті жоқ. Шынымды айтсам, «кодтау сұхбатын бұзу» жеткілікті шығар,
+бірақ мен өзіме көбірек тәжірибе беру үшін көбірек сатып алдым. Бірақ мен әрқашан тым көп істеймін.
 
-Some students have mentioned formatting issues with white space that can be fixed by doing the following: open deck, edit card, click cards, select the "styling" radio button, add the member "white-space: pre;" to the card class.
+Мен бұл екеуін де сатып алдым. Олар маған көп тәжірибе берді.
 
-### 3. Do Coding Interview Questions While You're Learning
+- [Ашық болған сұхбаттарды бағдарламалау: сұхбат арқылы жолыңызды кодтау, 4-ші басылым](https://www.amazon.com/Programming-Interviews-Exposed-Through-Interview/dp/111941847X/)
+    - C++ және Java тілінде жауаптар
+    - Бұл кодтау сұхбатын бұзу үшін жақсы қыздыру
+    - Өте қиын емес. Көптеген мәселелер сұхбатта көретіннен оңай болуы мүмкін (мен оқығанымнан)
+- [Кодтау сұхбатын бұзу, 6-шы басылым](http://www.amazon.com/Cracking-Coding-Interview-6th-Programming/dp/0984782850/)
+    - Java тілінде жауаптар
 
-THIS IS VERY IMPORTANT.
+### Егер сізде қосымша уақыт болса:
 
-Start doing coding interview questions while you're learning data structures and algorithms.
+Біреуін таңдаңыз:
 
-You need to apply what you're learning to solving problems, or you'll forget. I made this mistake. 
+- [Бағдарламалау сұхбаттарының элементтері (C++ нұсқасы)](https://www.amazon.com/Elements-Programming-Interviews-Insiders-Guide/dp/1479274836)
+- [Python тіліндегі сұхбаттарды бағдарламалау элементтері](https://www.amazon.com/Elements-Programming-Interviews-Python-Insiders/dp/1537713949/)
+- [Бағдарламалау сұхбаттарының элементтері (Java нұсқасы)](https://www.amazon.com/Elements-Programming-Interviews-Java-Insiders/dp/1517435803/)
+Seniñ tañdawıñ:
 
-Once you've learned a topic, and feel somewhat comfortable with it, for example, **linked lists**:
-1. Open one of the [coding interview books](#interview-prep-books) (or coding problem websites, listed below) 
-1. Do 2 or 3 questions regarding linked lists. 
-1. Move on to the next learning topic.
-1. Later, go back and do another 2 or 3 linked list problems.
-1. Do this with each new topic you learn. 
+- Gwdrïx, Tamassïya jäne taw
+ - [C++ tilindegi derekter qurılımdarı men algorïtmderi, 2-şi basılım](https://www.amazon.com/Data-Structures-Algorithms-Michael-Goodrich/dp/0470383275)
+- Sedjvïk pen Wéyn
+ - [C++ tilindegi algorïtmder, 1-4 bölimder: negizderi, derekter qurılımı, surıptaw, izdew](https://www.amazon.com/Algorithms-Parts-1-4-Fundamentals-Structure/dp/0201350882/)
+ - [C++ tilindegi algorïtmder 5-bölim: Grafïkalıq algorïtmder](https://www.amazon.com/Algorithms-Part-Graph-3rd-Pt-5/dp/0201361183/)
 
-**Keep doing problems while you're learning all this stuff, not after.**
+## Suxbatqa dayındıq kitaptarı
 
-You're not being hired for knowledge, but how you apply the knowledge.
+Sizge bulardıñ jïıntığın satıp alwdıñ qajeti joq. Şınımdı aytsam, «kodtaw suxbatın buzw» jetkilikti şığar,
+biraq men özime köbirek täjirïbe berw üşin köbirek satıp aldım. Biraq men ärqaşan tım köp isteymin.
 
-There are many resources for this, listed below. Keep going.
+Men bul ekewin de satıp aldım. Olar mağan köp täjirïbe berdi.
 
-### 4. Focus
+- [Aşıq bolğan suxbattardı bağdarlamalaw: suxbat arqılı jolıñızdı kodtaw, 4-şi basılım](https://www.amazon.com/Programming-Interviews-Exposed-Through-Interview/dp/111941847X/)
+ - C++ jäne Java tilinde jawaptar
+ - Bul kodtaw suxbatın buzw üşin jaqsı qızdırw
+ - Öte qïın emes. Köptegen mäseleler suxbatta köretinnen oñay bolwı mümkin (men oqığanımnan)
+- [Kodtaw suxbatın buzw, 6-şı basılım](http://www.amazon.com/Cracking-Coding-Interview-6th-Programming/dp/0984782850/)
+ - Java tilinde jawaptar
 
-There are a lot of distractions that can take up valuable time. Focus and concentration are hard. Turn on some music
-without lyrics and you'll be able to focus pretty well.
+### Eger sizde qosımşa waqıt bolsa:
 
-## What you won't see covered
+Birewin tañdañız:
 
-These are prevalent technologies but not part of this study plan:
+- [Bağdarlamalaw suxbattarınıñ élementteri (C++ nusqası)](https://www.amazon.com/Elements-Programming-Interviews-Insiders-Guide/dp/1479274836)
+- [Python tilindegi suxbattardı bağdarlamalaw élementteri](https://www.amazon.com/Elements-Programming-Interviews-Python-Insiders/dp/1537713949/)
+- [Bağdarlamalaw suxbattarınıñ élementteri (Java nusqası)](https://www.amazon.com/Elements-Programming-Interviews-Java-Insiders/dp/1517435803/)
 
-- SQL
-- Javascript
-- HTML, CSS, and other front-end technologies
+- [Компаньон жобасы - Кітаптағы әрбір мәселеге арналған әдістемелер мен сынақ жағдайлары](https://github.com/gardncl/elements-of-programming-interviews)
 
-## The Daily Plan
+## Менің қателіктерімді жасама
 
-This course goes over a lot of subjects. Each will probably take you a few days, or maybe even a week or more. It depends on your schedule.
+Бұл тізім бірнеше ай бойы өсті және иә, ол бақылаудан шықты.
 
-Each day, take the next subject in the list, watch some videos about that subject, and then write an implementation 
-of that data structure or algorithm in the language you chose for this course.
+Сізге жақсырақ тәжірибе алу үшін мен бірнеше қателіктер жібердім. Ал сіз айлар уақытыңызды үнемдейсіз.
 
-You can see my code here:
- - [C](https://github.com/jwasham/practice-c)
- - [C++](https://github.com/jwasham/practice-cpp)
- - [Python](https://github.com/jwasham/practice-python)
+### 1. Сіз мұның бәрін есте сақтамайсыз
 
-You don't need to memorize every algorithm. You just need to be able to understand it enough to be able to write your own implementation.
-
-## Coding Question Practice
-
-    Why is this here? I'm not ready to interview.
-
-[Then go back and read this.](#3-do-coding-interview-questions-while-youre-learning)
-
-Why you need to practice doing programming problems:
-- Problem recognition, and where the right data structures and algorithms fit in
-- Gathering requirements for the problem
-- Talking your way through the problem like you will in the interview
-- Coding on a whiteboard or paper, not a computer
-- Coming up with time and space complexity for your solutions (see Big-O below)
-- Testing your solutions
-
-There is a great intro for methodical, communicative problem solving in an interview. You'll get this from the programming
-interview books, too, but I found this outstanding:
-[Algorithm design canvas](http://www.hiredintech.com/algorithm-design/)
-
-Write code on a whiteboard or paper, not a computer. Test with some sample inputs. Then type it and test it out on a computer.
-
-If you don't have a whiteboard at home, pick up a large drawing pad from an art store. You can sit on the couch and practice. 
-This is my "sofa whiteboard". I added the pen in the photo just for scale. If you use a pen, you'll wish you could erase. 
-Gets messy quick. **I use a pencil and eraser.**
-
-![my sofa whiteboard](https://d3j2pkmjtin6ou.cloudfront.net/art_board_sm_2.jpg)
-
-**Coding question practice is not about memorizing answers to programming problems.**
-
-## Coding Problems
-
-Don't forget your key coding interview books [here](#interview-prep-books).
-
-Solving Problems:
-- [How to Find a Solution](https://www.topcoder.com/community/competitive-programming/tutorials/how-to-find-a-solution/)
-- [How to Dissect a Topcoder Problem Statement](https://www.topcoder.com/community/competitive-programming/tutorials/how-to-dissect-a-topcoder-problem-statement/)
-
-Coding Interview Question Videos:
-- [IDeserve (88 videos)](https://www.youtube.com/playlist?list=PLamzFoFxwoNjPfxzaWqs7cZGsPYy0x_gI)
-- [Tushar Roy (5 playlists)](https://www.youtube.com/user/tusharroy2525/playlists?shelf_id=2&view=50&sort=dd)
-    - Super for walkthroughs of problem solutions
-- [Nick White - LeetCode Solutions (187 Videos)](https://www.youtube.com/playlist?list=PLU_sdQYzUj2keVENTP0a5rdykRSgg9Wp-)
-    - Good explanations of solution and the code
-    - You can watch several in a short time
-- [FisherCoder - LeetCode Solutions](https://youtube.com/FisherCoder)
-
-Challenge sites:
-- [LeetCode](https://leetcode.com/)
-    - My favorite coding problem site. It's worth the subscription money for the 1-2 months you'll likely be preparing.
-    - See Nick White and FisherCoder Videos above for code walk-throughs.
-- [HackerRank](https://www.hackerrank.com/)
-- [TopCoder](https://www.topcoder.com/)
-- [Geeks for Geeks](https://practice.geeksforgeeks.org/explore/?page=1)
-- [InterviewBit](https://www.interviewbit.com/)
-- [Project Euler](https://projecteuler.net/)
-
-## Let's Get Started
-
-Alright, enough talk, let's learn!
-
-But don't forget to do coding problems from above while you learn!
-
-## Algorithmic complexity / Big-O / Asymptotic analysis
-
-- Nothing to implement here, you're just watching videos and taking notes! Yay!
-- There are a lot of videos here. Just watch enough until you understand it. You can always come back and review.
-- Don't worry if you don't understand all the math behind it.
-- You just need to understand how to express the complexity of an algorithm in terms of Big-O.
-- [ ] [Harvard CS50 - Asymptotic Notation (video)](https://www.youtube.com/watch?v=iOq5kSKqeR4)
-- [ ] [Big O Notations (general quick tutorial) (video)](https://www.youtube.com/watch?v=V6mKVRU1evU)
-- [ ] [Big O Notation (and Omega and Theta) - best mathematical explanation (video)](https://www.youtube.com/watch?v=ei-A_wy5Yxw&index=2&list=PL1BaGV1cIH4UhkL8a9bJGG356covJ76qN)
-- [ ] Skiena:
-    - [video](https://www.youtube.com/watch?v=gSyDMtdPNpU&index=2&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b)
-    - [slides](https://archive.org/details/lecture2_202008)
-- [ ] [UC Berkeley Big O (video)](https://archive.org/details/ucberkeley_webcast_VIS4YDpuP98)
-- [ ] [Amortized Analysis (video)](https://www.youtube.com/watch?v=B3SpQZaAZP4&index=10&list=PL1BaGV1cIH4UhkL8a9bJGG356covJ76qN)
-- [ ] TopCoder (includes recurrence relations and master theorem):
-    - [Computational Complexity: Section 1](https://www.topcoder.com/community/competitive-programming/tutorials/computational-complexity-section-1/)
-    - [Computational Complexity: Section 2](https://www.topcoder.com/community/competitive-programming/tutorials/computational-complexity-section-2/)
-- [ ] [Cheat sheet](http://bigocheatsheet.com/)
-
-Well, that's about enough of that. 
-
-When you go through "Cracking the Coding Interview", there is a chapter on this, and at the end there is a quiz to see 
-if you can identify the runtime complexity of different algorithms. It's a super review and test.
-
-## Data Structures
-
-- ### Arrays
-    - [ ] About Arrays:
-        - [Arrays (video)](https://www.coursera.org/lecture/data-structures/arrays-OsBSF)
-        - [UC Berkeley CS61B - Linear and Multi-Dim Arrays (video)](https://archive.org/details/ucberkeley_webcast_Wp8oiO_CZZE) (Start watching from 15m 32s)
-        - [Dynamic Arrays (video)](https://www.coursera.org/lecture/data-structures/dynamic-arrays-EwbnV)
-        - [Jagged Arrays (video)](https://www.youtube.com/watch?v=1jtrQqYpt7g)
-    - [ ] Implement a vector (mutable array with automatic resizing):
-        - [ ] Practice coding using arrays and pointers, and pointer math to jump to an index instead of using indexing.
-        - [ ] New raw data array with allocated memory
-            - can allocate int array under the hood, just not use its features
-            - start with 16, or if starting number is greater, use power of 2 - 16, 32, 64, 128
-        - [ ] size() - number of items
-        - [ ] capacity() - number of items it can hold
-        - [ ] is_empty()
-        - [ ] at(index) - returns item at given index, blows up if index out of bounds
-        - [ ] push(item)
-        - [ ] insert(index, item) - inserts item at index, shifts that index's value and trailing elements to the right
-        - [ ] prepend(item) - can use insert above at index 0
-        - [ ] pop() - remove from end, return value
-        - [ ] delete(index) - delete item at index, shifting all trailing elements left
-        - [ ] remove(item) - looks for value and removes index holding it (even if in multiple places)
-        - [ ] find(item) - looks for value and returns first index with that value, -1 if not found
-        - [ ] resize(new_capacity) // private function
-            - when you reach capacity, resize to double the size
-            - when popping an item, if size is 1/4 of capacity, resize to half
-    - [ ] Time
-        - O(1) to add/remove at end (amortized for allocations for more space), index, or update
-        - O(n) to insert/remove elsewhere
-    - [ ] Space
-        - contiguous in memory, so proximity helps performance
-        - space needed = (array capacity, which is >= n) * size of item, but even if 2n, still O(n)
-
-- ### Linked Lists
-    - [ ] Description:
-        - [ ] [Singly Linked Lists (video)](https://www.coursera.org/lecture/data-structures/singly-linked-lists-kHhgK)
-        - [ ] [CS 61B - Linked Lists 1 (video)](https://archive.org/details/ucberkeley_webcast_htzJdKoEmO0)
-        - [ ] [CS 61B - Linked Lists 2 (video)](https://archive.org/details/ucberkeley_webcast_-c4I3gFYe3w)
-    - [ ] [C Code (video)](https://www.youtube.com/watch?v=QN6FPiD0Gzo)
-            - not the whole video, just portions about Node struct and memory allocation
-    - [ ] Linked List vs Arrays:
-        - [Core Linked Lists Vs Arrays (video)](https://www.coursera.org/lecture/data-structures-optimizing-performance/core-linked-lists-vs-arrays-rjBs9)
-        - [In The Real World Linked Lists Vs Arrays (video)](https://www.coursera.org/lecture/data-structures-optimizing-performance/in-the-real-world-lists-vs-arrays-QUaUd)
-    - [ ] [why you should avoid linked lists (video)](https://www.youtube.com/watch?v=YQs6IC-vgmo)
-    - [ ] Gotcha: you need pointer to pointer knowledge:
-        (for when you pass a pointer to a function that may change the address where that pointer points)
-        This page is just to get a grasp on ptr to ptr. I don't recommend this list traversal style. Readability and maintainability suffer due to cleverness.
-        - [Pointers to Pointers](https://www.eskimo.com/~scs/cclass/int/sx8.html)
-    - [ ] Implement (I did with tail pointer & without):
-        - [ ] size() - returns number of data elements in list
-        - [ ] empty() - bool returns true if empty
-        - [ ] value_at(index) - returns the value of the nth item (starting at 0 for first)
-        - [ ] push_front(value) - adds an item to the front of the list
-        - [ ] pop_front() - remove front item and return its value
-        - [ ] push_back(value) - adds an item at the end
-        - [ ] pop_back() - removes end item and returns its value
-        - [ ] front() - get value of front item
-        - [ ] back() - get value of end item
-        - [ ] insert(index, value) - insert value at index, so current item at that index is pointed to by new item at index
-        - [ ] erase(index) - removes node at given index
-        - [ ] value_n_from_end(n) - returns the value of the node at nth position from the end of the list
-        - [ ] reverse() - reverses the list
-        - [ ] remove_value(value) - removes the first item in the list with this value
-    - [ ] Doubly-linked List
-        - [Description (video)](https://www.coursera.org/lecture/data-structures/doubly-linked-lists-jpGKD)
-        - No need to implement
-
-- ### Stack
-    - [ ] [Stacks (video)](https://www.coursera.org/lecture/data-structures/stacks-UdKzQ)
-    - [ ] Will not implement. Implementing with array is trivial
-
-- ### Queue
-    - [ ] [Queue (video)](https://www.coursera.org/lecture/data-structures/queues-EShpq)
-    - [ ] [Circular buffer/FIFO](https://en.wikipedia.org/wiki/Circular_buffer)
-    - [ ] Implement using linked-list, with tail pointer:
-        - enqueue(value) - adds value at position at tail
-        - dequeue() - returns value and removes least recently added element (front)
-        - empty()
-    - [ ] Implement using fixed-sized array:
-        - enqueue(value) - adds item at end of available storage
-        - dequeue() - returns value and removes least recently added element
-        - empty()
-        - full()
-    - [ ] Cost:
-        - a bad implementation using linked list where you enqueue at head and dequeue at tail would be O(n)
-            because you'd need the next to last element, causing a full traversal each dequeue
-        - enqueue: O(1) (amortized, linked list and array [probing])
-        - dequeue: O(1) (linked list and array)
-        - empty: O(1) (linked list and array)
-
-- ### Hash table
-    - [ ] Videos:
-        - [ ] [Hashing with Chaining (video)](https://www.youtube.com/watch?v=0M_kIqhwbFo&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=8)
-        - [ ] [Table Doubling, Karp-Rabin (video)](https://www.youtube.com/watch?v=BRO7mVIFt08&index=9&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb)
-        - [ ] [Open Addressing, Cryptographic Hashing (video)](https://www.youtube.com/watch?v=rvdJDijO2Ro&index=10&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb)
-        - [ ] [PyCon 2010: The Mighty Dictionary (video)](https://www.youtube.com/watch?v=C4Kc8xzcA68)
-        - [ ] [PyCon 2017: The Dictionary Even Mightier (video)](https://www.youtube.com/watch?v=66P5FMkWoVU)
-        - [ ] [(Advanced) Randomization: Universal & Perfect Hashing (video)](https://www.youtube.com/watch?v=z0lJ2k0sl1g&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=11)
-        - [ ] [(Advanced) Perfect hashing (video)](https://www.youtube.com/watch?v=N0COwN14gt0&list=PL2B4EEwhKD-NbwZ4ezj7gyc_3yNrojKM9&index=4)
-
-    - [ ] Online Courses:
-        - [ ] [Core Hash Tables (video)](https://www.coursera.org/lecture/data-structures-optimizing-performance/core-hash-tables-m7UuP)
-        - [ ] [Data Structures (video)](https://www.coursera.org/learn/data-structures/home/week/4)
-        - [ ] [Phone Book Problem (video)](https://www.coursera.org/lecture/data-structures/phone-book-problem-NYZZP)
-        - [ ] distributed hash tables:
-            - [Instant Uploads And Storage Optimization In Dropbox (video)](https://www.coursera.org/lecture/data-structures/instant-uploads-and-storage-optimization-in-dropbox-DvaIb)
-            - [Distributed Hash Tables (video)](https://www.coursera.org/lecture/data-structures/distributed-hash-tables-tvH8H)
-
-    - [ ] Implement with array using linear probing
-        - hash(k, m) - m is size of hash table
-        - add(key, value) - if key already exists, update value
-        - exists(key)
-        - get(key)
-        - remove(key)
-
-## More Knowledge
-
-- ### Binary search
-    - [ ] [Binary Search (video)](https://www.youtube.com/watch?v=D5SrAga1pno)
-    - [ ] [Binary Search (video)](https://www.khanacademy.org/computing/computer-science/algorithms/binary-search/a/binary-search)
-    - [ ] [detail](https://www.topcoder.com/community/competitive-programming/tutorials/binary-search/)
-    - [ ] [blueprint](https://leetcode.com/discuss/general-discussion/786126/python-powerful-ultimate-binary-search-template-solved-many-problems)
-    - [ ] Implement:
-        - binary search (on sorted array of integers)
-        - binary search using recursion
-
-- ### Bitwise operations
-    - [ ] [Bits cheat sheet](https://github.com/jwasham/coding-interview-university/blob/main/extras/cheat%20sheets/bits-cheat-sheet.pdf) - you should know many of the powers of 2 from (2^1 to 2^16 and 2^32)
-    - [ ] Get a really good understanding of manipulating bits with: &, |, ^, ~, >>, <<
-        - [ ] [words](https://en.wikipedia.org/wiki/Word_(computer_architecture))
-        - [ ] Good intro:
-            [Bit Manipulation (video)](https://www.youtube.com/watch?v=7jkIUgLC29I)
-        - [ ] [C Programming Tutorial 2-10: Bitwise Operators (video)](https://www.youtube.com/watch?v=d0AwjSpNXR0)
-        - [ ] [Bit Manipulation](https://en.wikipedia.org/wiki/Bit_manipulation)
-        - [ ] [Bitwise Operation](https://en.wikipedia.org/wiki/Bitwise_operation)
-        - [ ] [Bithacks](https://graphics.stanford.edu/~seander/bithacks.html)
-        - [ ] [The Bit Twiddler](https://bits.stephan-brumme.com/)
-        - [ ] [The Bit Twiddler Interactive](https://bits.stephan-brumme.com/interactive.html)
-        - [ ] [Bit Hacks (video)](https://www.youtube.com/watch?v=ZusiKXcz_ac)
-		- [ ] [Practice Operations](https://pconrad.github.io/old_pconrad_cs16/topics/bitOps/)
-    - [ ] 2s and 1s complement
-        - [Binary: Plusses & Minuses (Why We Use Two's Complement) (video)](https://www.youtube.com/watch?v=lKTsv6iVxV4)
-        - [1s Complement](https://en.wikipedia.org/wiki/Ones%27_complement)
-        - [2s Complement](https://en.wikipedia.org/wiki/Two%27s_complement)
-    - [ ] Count set bits
-        - [4 ways to count bits in a byte (video)](https://youtu.be/Hzuzo9NJrlc)
-        - [Count Bits](https://graphics.stanford.edu/~seander/bithacks.html#CountBitsSetKernighan)
-        - [How To Count The Number Of Set Bits In a 32 Bit Integer](http://stackoverflow.com/questions/109023/how-to-count-the-number-of-set-bits-in-a-32-bit-integer)
-    - [ ] Swap values:
-        - [Swap](https://bits.stephan-brumme.com/swap.html)
-    - [ ] Absolute value:
-        - [Absolute Integer](https://bits.stephan-brumme.com/absInteger.html)
-
-## Trees
-
-- ### Trees - Notes & Background
-    - [ ] [Series: Trees (video)](https://www.coursera.org/lecture/data-structures/trees-95qda)
-    - basic tree construction
-    - traversal
-    - manipulation algorithms
-    - [ ] [BFS(breadth-first search) and DFS(depth-first search) (video)](https://www.youtube.com/watch?v=uWL6FJhq5fM)
-        - BFS notes:
-           - level order (BFS, using queue)
-           - time complexity: O(n)
-           - space complexity: best: O(1), worst: O(n/2)=O(n)
-        - DFS notes:
-            - time complexity: O(n)
-            - space complexity:
-                best: O(log n) - avg. height of tree
-                worst: O(n)
-            - inorder (DFS: left, self, right)
-            - postorder (DFS: left, right, self)
-            - preorder (DFS: self, left, right)
-
-- ### Binary search trees: BSTs
-    - [ ] [Binary Search Tree Review (video)](https://www.youtube.com/watch?v=x6At0nzX92o&index=1&list=PLA5Lqm4uh9Bbq-E0ZnqTIa8LRaL77ica6)    
-    - [ ] [Introduction (video)](https://www.coursera.org/learn/data-structures/lecture/E7cXP/introduction)
-    - [ ] [MIT (video)](https://www.youtube.com/watch?v=9Jry5-82I68)
-    - C/C++:
-        - [ ] [Binary search tree - Implementation in C/C++ (video)](https://www.youtube.com/watch?v=COZK7NATh4k&list=PL2_aWCzGMAwI3W_JlcBbtYTwiQSsOTa6P&index=28)
-        - [ ] [BST implementation - memory allocation in stack and heap (video)](https://www.youtube.com/watch?v=hWokyBoo0aI&list=PL2_aWCzGMAwI3W_JlcBbtYTwiQSsOTa6P&index=29)
-        - [ ] [Find min and max element in a binary search tree (video)](https://www.youtube.com/watch?v=Ut90klNN264&index=30&list=PL2_aWCzGMAwI3W_JlcBbtYTwiQSsOTa6P)
-        - [ ] [Find height of a binary tree (video)](https://www.youtube.com/watch?v=_pnqMz5nrRs&list=PL2_aWCzGMAwI3W_JlcBbtYTwiQSsOTa6P&index=31)
-        - [ ] [Binary tree traversal - breadth-first and depth-first strategies (video)](https://www.youtube.com/watch?v=9RHO6jU--GU&list=PL2_aWCzGMAwI3W_JlcBbtYTwiQSsOTa6P&index=32)
-        - [ ] [Binary tree: Level Order Traversal (video)](https://www.youtube.com/watch?v=86g8jAQug04&index=33&list=PL2_aWCzGMAwI3W_JlcBbtYTwiQSsOTa6P)
-        - [ ] [Binary tree traversal: Preorder, Inorder, Postorder (video)](https://www.youtube.com/watch?v=gm8DUJJhmY4&index=34&list=PL2_aWCzGMAwI3W_JlcBbtYTwiQSsOTa6P)
-        - [ ] [Check if a binary tree is binary search tree or not (video)](https://www.youtube.com/watch?v=yEwSGhSsT0U&index=35&list=PL2_aWCzGMAwI3W_JlcBbtYTwiQSsOTa6P)
-        - [ ] [Delete a node from Binary Search Tree (video)](https://www.youtube.com/watch?v=gcULXE7ViZw&list=PL2_aWCzGMAwI3W_JlcBbtYTwiQSsOTa6P&index=36)
-        - [ ] [Inorder Successor in a binary search tree (video)](https://www.youtube.com/watch?v=5cPbNCrdotA&index=37&list=PL2_aWCzGMAwI3W_JlcBbtYTwiQSsOTa6P)
-    - [ ] Implement:
-        - [ ] insert    // insert value into tree
-        - [ ] get_node_count // get count of values stored
-        - [ ] print_values // prints the values in the tree, from min to max
-        - [ ] delete_tree
-        - [ ] is_in_tree // returns true if given value exists in the tree
-        - [ ] get_height // returns the height in nodes (single node's height is 1)
-        - [ ] get_min   // returns the minimum value stored in the tree
-        - [ ] get_max   // returns the maximum value stored in the tree
-        - [ ] is_binary_search_tree
-        - [ ] delete_value
-        - [ ] get_successor // returns next-highest value in tree after given value, -1 if none
-
-- ### Heap / Priority Queue / Binary Heap
-    - visualized as a tree, but is usually linear in storage (array, linked list)
-    - [ ] [Heap](https://en.wikipedia.org/wiki/Heap_(data_structure))
-    - [ ] [Introduction (video)](https://www.coursera.org/learn/data-structures/lecture/2OpTs/introduction)
-    - [ ] [Naive Implementations (video)](https://www.coursera.org/learn/data-structures/lecture/z3l9N/naive-implementations)
-    - [ ] [Binary Trees (video)](https://www.coursera.org/learn/data-structures/lecture/GRV2q/binary-trees)
-    - [ ] [Tree Height Remark (video)](https://www.coursera.org/learn/data-structures/supplement/S5xxz/tree-height-remark)
-    - [ ] [Basic Operations (video)](https://www.coursera.org/learn/data-structures/lecture/0g1dl/basic-operations)
-    - [ ] [Complete Binary Trees (video)](https://www.coursera.org/learn/data-structures/lecture/gl5Ni/complete-binary-trees)
-    - [ ] [Pseudocode (video)](https://www.coursera.org/learn/data-structures/lecture/HxQo9/pseudocode)
-    - [ ] [Heap Sort - jumps to start (video)](https://youtu.be/odNJmw5TOEE?list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&t=3291)
-    - [ ] [Heap Sort (video)](https://www.coursera.org/learn/data-structures/lecture/hSzMO/heap-sort)
-    - [ ] [Building a heap (video)](https://www.coursera.org/learn/data-structures/lecture/dwrOS/building-a-heap)
-    - [ ] [MIT: Heaps and Heap Sort (video)](https://www.youtube.com/watch?v=B7hVxCmfPtM&index=4&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb)
-    - [ ] [CS 61B Lecture 24: Priority Queues (video)](https://archive.org/details/ucberkeley_webcast_yIUFT6AKBGE)
-    - [ ] [Linear Time BuildHeap (max-heap)](https://www.youtube.com/watch?v=MiyLo8adrWw)
-    - [ ] Implement a max-heap:
-        - [ ] insert
-        - [ ] sift_up - needed for insert
-        - [ ] get_max - returns the max item, without removing it
-        - [ ] get_size() - return number of elements stored
-        - [ ] is_empty() - returns true if heap contains no elements
-        - [ ] extract_max - returns the max item, removing it
-        - [ ] sift_down - needed for extract_max
-        - [ ] remove(x) - removes item at index x
-        - [ ] heapify - create a heap from an array of elements, needed for heap_sort
-        - [ ] heap_sort() - take an unsorted array and turn it into a sorted array in-place using a max heap or min heap
-
-## Sorting
-
-- [ ] Notes:
-    - Implement sorts & know best case/worst case, average complexity of each:
-        - no bubble sort - it's terrible - O(n^2), except when n <= 16
-    - [ ] Stability in sorting algorithms ("Is Quicksort stable?")
-        - [Sorting Algorithm Stability](https://en.wikipedia.org/wiki/Sorting_algorithm#Stability)
-        - [Stability In Sorting Algorithms](http://stackoverflow.com/questions/1517793/stability-in-sorting-algorithms)
-        - [Stability In Sorting Algorithms](http://www.geeksforgeeks.org/stability-in-sorting-algorithms/)
-        - [Sorting Algorithms - Stability](http://homepages.math.uic.edu/~leon/cs-mcs401-s08/handouts/stability.pdf)
-    - [ ] Which algorithms can be used on linked lists? Which on arrays? Which on both?
-        - I wouldn't recommend sorting a linked list, but merge sort is doable.
-        - [Merge Sort For Linked List](http://www.geeksforgeeks.org/merge-sort-for-linked-list/)
-
-- For heapsort, see Heap data structure above. Heap sort is great, but not stable
-
-- [ ] [Sedgewick - Mergesort (5 videos)](https://www.coursera.org/learn/algorithms-part1/home/week/3)
-    - [ ] [1. Mergesort](https://www.coursera.org/learn/algorithms-part1/lecture/ARWDq/mergesort)
-    - [ ] [2. Bottom up Mergesort](https://www.coursera.org/learn/algorithms-part1/lecture/PWNEl/bottom-up-mergesort)
-    - [ ] [3. Sorting Complexity](https://www.coursera.org/learn/algorithms-part1/lecture/xAltF/sorting-complexity)
-    - [ ] [4. Comparators](https://www.coursera.org/learn/algorithms-part1/lecture/9FYhS/comparators)
-    - [ ] [5. Stability](https://www.coursera.org/learn/algorithms-part1/lecture/pvvLZ/stability)
-
-- [ ] [Sedgewick - Quicksort (4 videos)](https://www.coursera.org/learn/algorithms-part1/home/week/3)
-    - [ ] [1. Quicksort](https://www.coursera.org/learn/algorithms-part1/lecture/vjvnC/quicksort)
-    - [ ] [2. Selection](https://www.coursera.org/learn/algorithms-part1/lecture/UQxFT/selection)
-    - [ ] [3. Duplicate Keys](https://www.coursera.org/learn/algorithms-part1/lecture/XvjPd/duplicate-keys)
-    - [ ] [4. System Sorts](https://www.coursera.org/learn/algorithms-part1/lecture/QBNZ7/system-sorts)
-
-- [ ] UC Berkeley:
-    - [ ] [CS 61B Lecture 29: Sorting I (video)](https://archive.org/details/ucberkeley_webcast_EiUvYS2DT6I)
-    - [ ] [CS 61B Lecture 30: Sorting II (video)](https://archive.org/details/ucberkeley_webcast_2hTY3t80Qsk)
-    - [ ] [CS 61B Lecture 32: Sorting III (video)](https://archive.org/details/ucberkeley_webcast_Y6LOLpxg6Dc)
-    - [ ] [CS 61B Lecture 33: Sorting V (video)](https://archive.org/details/ucberkeley_webcast_qNMQ4ly43p4)
-
-- [ ] [Bubble Sort (video)](https://www.youtube.com/watch?v=P00xJgWzz2c&index=1&list=PL89B61F78B552C1AB)
-- [ ] [Analyzing Bubble Sort (video)](https://www.youtube.com/watch?v=ni_zk257Nqo&index=7&list=PL89B61F78B552C1AB)
-- [ ] [Insertion Sort, Merge Sort (video)](https://www.youtube.com/watch?v=Kg4bqzAqRBM&index=3&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb)
-- [ ] [Insertion Sort (video)](https://www.youtube.com/watch?v=c4BRHC7kTaQ&index=2&list=PL89B61F78B552C1AB)
-- [ ] [Merge Sort (video)](https://www.youtube.com/watch?v=GCae1WNvnZM&index=3&list=PL89B61F78B552C1AB)
-- [ ] [Quicksort (video)](https://www.youtube.com/watch?v=y_G9BkAm6B8&index=4&list=PL89B61F78B552C1AB)
-- [ ] [Selection Sort (video)](https://www.youtube.com/watch?v=6nDMgr0-Yyo&index=8&list=PL89B61F78B552C1AB)
-
-- [ ] Merge sort code:
-    - [ ] [Using output array (C)](http://www.cs.yale.edu/homes/aspnes/classes/223/examples/sorting/mergesort.c)
-    - [ ] [Using output array (Python)](https://github.com/jwasham/practice-python/blob/master/merge_sort/merge_sort.py)
-    - [ ] [In-place (C++)](https://github.com/jwasham/practice-cpp/blob/master/merge_sort/merge_sort.cc)
-- [ ] Quick sort code:
-    - [ ] [Implementation (C)](http://www.cs.yale.edu/homes/aspnes/classes/223/examples/randomization/quick.c)
-    - [ ] [Implementation (C)](https://github.com/jwasham/practice-c/blob/master/quick_sort/quick_sort.c)
-    - [ ] [Implementation (Python)](https://github.com/jwasham/practice-python/blob/master/quick_sort/quick_sort.py)
-
-- [ ] Implement:
-    - [ ] Mergesort: O(n log n) average and worst case
-    - [ ] Quicksort O(n log n) average case
-    - Selection sort and insertion sort are both O(n^2) average and worst case
-    - For heapsort, see Heap data structure above
-
-- [ ] Not required, but I recommended them:
-    - [ ] [Sedgewick - Radix Sorts (6 videos)](https://www.coursera.org/learn/algorithms-part2/home/week/3)
-        - [ ] [1. Strings in Java](https://www.coursera.org/learn/algorithms-part2/lecture/vGHvb/strings-in-java)
-        - [ ] [2. Key Indexed Counting](https://www.coursera.org/learn/algorithms-part2/lecture/2pi1Z/key-indexed-counting)
-        - [ ] [3. Least Significant Digit First String Radix Sort](https://www.coursera.org/learn/algorithms-part2/lecture/c1U7L/lsd-radix-sort)
-        - [ ] [4. Most Significant Digit First String Radix Sort](https://www.coursera.org/learn/algorithms-part2/lecture/gFxwG/msd-radix-sort)
-        - [ ] [5. 3 Way Radix Quicksort](https://www.coursera.org/learn/algorithms-part2/lecture/crkd5/3-way-radix-quicksort)
-        - [ ] [6. Suffix Arrays](https://www.coursera.org/learn/algorithms-part2/lecture/TH18W/suffix-arrays)
-    - [ ] [Radix Sort](http://www.cs.yale.edu/homes/aspnes/classes/223/notes.html#radixSort)
-    - [ ] [Radix Sort (video)](https://www.youtube.com/watch?v=xhr26ia4k38)
-    - [ ] [Radix Sort, Counting Sort (linear time given constraints) (video)](https://www.youtube.com/watch?v=Nz1KZXbghj8&index=7&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb)
-    - [ ] [Randomization: Matrix Multiply, Quicksort, Freivalds' algorithm (video)](https://www.youtube.com/watch?v=cNB2lADK3_s&index=8&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp)
-    - [ ] [Sorting in Linear Time (video)](https://www.youtube.com/watch?v=pOKy3RZbSws&list=PLUl4u3cNGP61hsJNdULdudlRL493b-XZf&index=14)
-
-As a summary, here is a visual representation of [15 sorting algorithms](https://www.youtube.com/watch?v=kPRA0W1kECg).
-If you need more detail on this subject, see "Sorting" section in [Additional Detail on Some Subjects](#additional-detail-on-some-subjects)
-
-## Graphs
-
-Graphs can be used to represent many problems in computer science, so this section is long, like trees and sorting were.
-
-- Notes:
-    - There are 4 basic ways to represent a graph in memory:
-        - objects and pointers
-        - adjacency matrix
-        - adjacency list
-        - adjacency map
-    - Familiarize yourself with each representation and its pros & cons
-    - BFS and DFS - know their computational complexity, their trade offs, and how to implement them in real code
-    - When asked a question, look for a graph-based solution first, then move on if none
-
-- [ ] MIT(videos):
-    - [ ] [Breadth-First Search](https://www.youtube.com/watch?v=s-CYnVz-uh4&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=13)
-    - [ ] [Depth-First Search](https://www.youtube.com/watch?v=AfSk24UTFS8&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=14)
-
-- [ ] Skiena Lectures - great intro:
-    - [ ] [CSE373 2012 - Lecture 11 - Graph Data Structures (video)](https://www.youtube.com/watch?v=OiXxhDrFruw&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b&index=11)
-    - [ ] [CSE373 2012 - Lecture 12 - Breadth-First Search (video)](https://www.youtube.com/watch?v=g5vF8jscteo&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b&index=12)
-    - [ ] [CSE373 2012 - Lecture 13 - Graph Algorithms (video)](https://www.youtube.com/watch?v=S23W6eTcqdY&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b&index=13)
-    - [ ] [CSE373 2012 - Lecture 14 - Graph Algorithms (con't) (video)](https://www.youtube.com/watch?v=WitPBKGV0HY&index=14&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b)
-    - [ ] [CSE373 2012 - Lecture 15 - Graph Algorithms (con't 2) (video)](https://www.youtube.com/watch?v=ia1L30l7OIg&index=15&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b)
-    - [ ] [CSE373 2012 - Lecture 16 - Graph Algorithms (con't 3) (video)](https://www.youtube.com/watch?v=jgDOQq6iWy8&index=16&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b)
-
-- [ ] Graphs (review and more):
-
-    - [ ] [6.006 Single-Source Shortest Paths Problem (video)](https://www.youtube.com/watch?v=Aa2sqUhIn-E&index=15&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb)
-    - [ ] [6.006 Dijkstra (video)](https://www.youtube.com/watch?v=2E7MmKv0Y24&index=16&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb)
-    - [ ] [6.006 Bellman-Ford (video)](https://www.youtube.com/watch?v=ozsuci5pIso&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=17)
-    - [ ] [6.006 Speeding Up Dijkstra (video)](https://www.youtube.com/watch?v=CHvQ3q_gJ7E&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=18)
-    - [ ] [Aduni: Graph Algorithms I - Topological Sorting, Minimum Spanning Trees, Prim's Algorithm -  Lecture 6 (video)]( https://www.youtube.com/watch?v=i_AQT_XfvD8&index=6&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm)
-    - [ ] [Aduni: Graph Algorithms II - DFS, BFS, Kruskal's Algorithm, Union Find Data Structure - Lecture 7 (video)]( https://www.youtube.com/watch?v=ufj5_bppBsA&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=7)
-    - [ ] [Aduni: Graph Algorithms III: Shortest Path - Lecture 8 (video)](https://www.youtube.com/watch?v=DiedsPsMKXc&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=8)
-    - [ ] [Aduni: Graph Alg. IV: Intro to geometric algorithms - Lecture 9 (video)](https://www.youtube.com/watch?v=XIAQRlNkJAw&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=9)
-    - [ ] ~~[CS 61B 2014 (starting at 58:09) (video)](https://youtu.be/dgjX4HdMI-Q?list=PL-XXv-cvA_iAlnI-BQr9hjqADPBtujFJd&t=3489)~~
-    - [ ] [CS 61B 2014: Weighted graphs (video)](https://archive.org/details/ucberkeley_webcast_zFbq8vOZ_0k)
-    - [ ] [Greedy Algorithms: Minimum Spanning Tree (video)](https://www.youtube.com/watch?v=tKwnms5iRBU&index=16&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp)
-    - [ ] [Strongly Connected Components Kosaraju's Algorithm Graph Algorithm (video)](https://www.youtube.com/watch?v=RpgcYiky7uw)
-
-- Full Coursera Course:
-    - [ ] [Algorithms on Graphs (video)](https://www.coursera.org/learn/algorithms-on-graphs/home/welcome)
-
-- I'll implement:
-    - [ ] DFS with adjacency list (recursive)
-    - [ ] DFS with adjacency list (iterative with stack)
-    - [ ] DFS with adjacency matrix (recursive)
-    - [ ] DFS with adjacency matrix (iterative with stack)
-    - [ ] BFS with adjacency list
-    - [ ] BFS with adjacency matrix
-    - [ ] single-source shortest path (Dijkstra)
-    - [ ] minimum spanning tree
-    - DFS-based algorithms (see Aduni videos above):
-        - [ ] check for cycle (needed for topological sort, since we'll check for cycle before starting)
-        - [ ] topological sort
-        - [ ] count connected components in a graph
-        - [ ] list strongly connected components
-        - [ ] check for bipartite graph
-
-## Even More Knowledge
-
-- ### Recursion
-    - [ ] Stanford lectures on recursion & backtracking:
-        - [ ] [Lecture 8 | Programming Abstractions (video)](https://www.youtube.com/watch?v=gl3emqCuueQ&list=PLFE6E58F856038C69&index=8)
-        - [ ] [Lecture 9 | Programming Abstractions (video)](https://www.youtube.com/watch?v=uFJhEPrbycQ&list=PLFE6E58F856038C69&index=9)
-        - [ ] [Lecture 10 | Programming Abstractions (video)](https://www.youtube.com/watch?v=NdF1QDTRkck&index=10&list=PLFE6E58F856038C69)
-        - [ ] [Lecture 11 | Programming Abstractions (video)](https://www.youtube.com/watch?v=p-gpaIGRCQI&list=PLFE6E58F856038C69&index=11)
-    - When it is appropriate to use it?
-    - How is tail recursion better than not?
-        - [ ] [What Is Tail Recursion Why Is It So Bad?](https://www.quora.com/What-is-tail-recursion-Why-is-it-so-bad)
-        - [ ] [Tail Recursion (video)](https://www.coursera.org/lecture/programming-languages/tail-recursion-YZic1)
-
-- ### Dynamic Programming
-    - You probably won't see any dynamic programming problems in your interview, but it's worth being able to recognize a 
-    problem as being a candidate for dynamic programming.
-    - This subject can be pretty difficult, as each DP soluble problem must be defined as a recursion relation, and coming up with it can be tricky.
-    - I suggest looking at many examples of DP problems until you have a solid understanding of the pattern involved.
-    - [ ] Videos:
-        - the Skiena videos can be hard to follow since he sometimes uses the whiteboard, which is too small to see
-        - [ ] [Skiena: CSE373 2012 - Lecture 19 - Introduction to Dynamic Programming (video)](https://youtu.be/Qc2ieXRgR0k?list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b&t=1718)
-        - [ ] [Skiena: CSE373 2012 - Lecture 20 - Edit Distance (video)](https://youtu.be/IsmMhMdyeGY?list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b&t=2749)
-        - [ ] [Skiena: CSE373 2012 - Lecture 21 - Dynamic Programming Examples (video)](https://youtu.be/o0V9eYF4UI8?list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b&t=406)
-        - [ ] [Skiena: CSE373 2012 - Lecture 22 - Applications of Dynamic Programming (video)](https://www.youtube.com/watch?v=dRbMC1Ltl3A&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b&index=22)
-        - [ ] [Simonson: Dynamic Programming 0 (starts at 59:18) (video)](https://youtu.be/J5aJEcOr6Eo?list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&t=3558)
-        - [ ] [Simonson: Dynamic Programming I - Lecture 11 (video)](https://www.youtube.com/watch?v=0EzHjQ_SOeU&index=11&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm)
-        - [ ] [Simonson: Dynamic programming II - Lecture 12 (video)](https://www.youtube.com/watch?v=v1qiRwuJU7g&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=12)
-        - [ ] List of individual DP problems (each is short):
-            [Dynamic Programming (video)](https://www.youtube.com/playlist?list=PLrmLmBdmIlpsHaNTPP_jHHDx_os9ItYXr)
-    - [ ] Yale Lecture notes:
-        - [ ] [Dynamic Programming](http://www.cs.yale.edu/homes/aspnes/classes/223/notes.html#dynamicProgramming)
-    - [ ] Coursera:
-        - [ ] [The RNA secondary structure problem (video)](https://www.coursera.org/learn/algorithmic-thinking-2/lecture/80RrW/the-rna-secondary-structure-problem)
-        - [ ] [A dynamic programming algorithm (video)](https://www.coursera.org/learn/algorithmic-thinking-2/lecture/PSonq/a-dynamic-programming-algorithm)
-        - [ ] [Illustrating the DP algorithm (video)](https://www.coursera.org/learn/algorithmic-thinking-2/lecture/oUEK2/illustrating-the-dp-algorithm)
-        - [ ] [Running time of the DP algorithm (video)](https://www.coursera.org/learn/algorithmic-thinking-2/lecture/nfK2r/running-time-of-the-dp-algorithm)
-        - [ ] [DP vs. recursive implementation (video)](https://www.coursera.org/learn/algorithmic-thinking-2/lecture/M999a/dp-vs-recursive-implementation)
-        - [ ] [Global pairwise sequence alignment (video)](https://www.coursera.org/learn/algorithmic-thinking-2/lecture/UZ7o6/global-pairwise-sequence-alignment)
-        - [ ] [Local pairwise sequence alignment (video)](https://www.coursera.org/learn/algorithmic-thinking-2/lecture/WnNau/local-pairwise-sequence-alignment)
-
-- ### Design patterns
-    - [ ] [Quick UML review (video)](https://www.youtube.com/watch?v=3cmzqZzwNDM&list=PLGLfVvz_LVvQ5G-LdJ8RLqe-ndo7QITYc&index=3)
-    - [ ] Learn these patterns:
-        - [ ] strategy
-        - [ ] singleton
-        - [ ] adapter
-        - [ ] prototype
-        - [ ] decorator
-        - [ ] visitor
-        - [ ] factory, abstract factory
-        - [ ] facade
-        - [ ] observer
-        - [ ] proxy
-        - [ ] delegate
-        - [ ] command
-        - [ ] state
-        - [ ] memento
-        - [ ] iterator
-        - [ ] composite
-        - [ ] flyweight
-    - [ ] [Series of videos (27 videos)](https://www.youtube.com/playlist?list=PLF206E906175C7E07)
-    - [ ] [Book: Head First Design Patterns](https://www.amazon.com/Head-First-Design-Patterns-Freeman/dp/0596007124)
-        - I know the canonical book is "Design Patterns: Elements of Reusable Object-Oriented Software", but Head First is great for beginners to OO.
-    - [Handy reference: 101 Design Patterns & Tips for Developers](https://sourcemaking.com/design-patterns-and-tips)
-
-- ### Combinatorics (n choose k) & Probability
-    - [ ] [Math Skills: How to find Factorial, Permutation and Combination (Choose) (video)](https://www.youtube.com/watch?v=8RRo6Ti9d0U)
-    - [ ] [Make School: Probability (video)](https://www.youtube.com/watch?v=sZkAAk9Wwa4)
-    - [ ] [Make School: More Probability and Markov Chains (video)](https://www.youtube.com/watch?v=dNaJg-mLobQ)
-    - [ ] Khan Academy:
-        - Course layout:
-            - [ ] [Basic Theoretical Probability](https://www.khanacademy.org/math/probability/probability-and-combinatorics-topic)
-        - Just the videos - 41 (each are simple and each are short):
-            - [ ] [Probability Explained (video)](https://www.youtube.com/watch?v=uzkc-qNVoOk&list=PLC58778F28211FA19)
-
-- ### NP, NP-Complete and Approximation Algorithms
-    - Know about the most famous classes of NP-complete problems, such as traveling salesman and the knapsack problem,
-        and be able to recognize them when an interviewer asks you them in disguise.
-    - Know what NP-complete means.
-    - [ ] [Computational Complexity (video)](https://www.youtube.com/watch?v=moPtwq_cVH8&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=23)
-    - [ ] Simonson:
-        - [ ] [Greedy Algs. II & Intro to NP Completeness (video)](https://youtu.be/qcGnJ47Smlo?list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&t=2939)
-        - [ ] [NP Completeness II & Reductions (video)](https://www.youtube.com/watch?v=e0tGC6ZQdQE&index=16&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm)
-        - [ ] [NP Completeness III (Video)](https://www.youtube.com/watch?v=fCX1BGT3wjE&index=17&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm)
-        - [ ] [NP Completeness IV (video)](https://www.youtube.com/watch?v=NKLDp3Rch3M&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=18)
-    - [ ] Skiena:
-        - [ ] [CSE373 2012 - Lecture 23 - Introduction to NP-Completeness (video)](https://youtu.be/KiK5TVgXbFg?list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b&t=1508)
-        - [ ] [CSE373 2012 - Lecture 24 - NP-Completeness Proofs (video)](https://www.youtube.com/watch?v=27Al52X3hd4&index=24&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b)
-        - [ ] [CSE373 2012 - Lecture 25 - NP-Completeness Challenge (video)](https://www.youtube.com/watch?v=xCPH4gwIIXM&index=25&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b)
-    - [ ] [Complexity: P, NP, NP-completeness, Reductions (video)](https://www.youtube.com/watch?v=eHZifpgyH_4&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=22)
-    - [ ] [Complexity: Approximation Algorithms (video)](https://www.youtube.com/watch?v=MEz1J9wY2iM&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=24)
-    - [ ] [Complexity: Fixed-Parameter Algorithms (video)](https://www.youtube.com/watch?v=4q-jmGrmxKs&index=25&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp)
-    - Peter Norvig discusses near-optimal solutions to traveling salesman problem:
-        - [Jupyter Notebook](http://nbviewer.jupyter.org/url/norvig.com/ipython/TSP.ipynb)
-    - Pages 1048 - 1140 in CLRS if you have it.
-
-- ### How computers process a program
-
-    - [ ] [How CPU executes a program (video)](https://www.youtube.com/watch?v=XM4lGflQFvA)
-    - [ ] [How computers calculate - ALU (video)](https://youtu.be/1I5ZMmrOfnA)
-    - [ ] [Registers and RAM (video)](https://youtu.be/fpnE6UAfbtU)
-    - [ ] [The Central Processing Unit (CPU) (video)](https://youtu.be/FZGugFqdr60)
-    - [ ] [Instructions and Programs (video)](https://youtu.be/zltgXvg6r3k)
-
-- ### Caches
-    - [ ] LRU cache:
-        - [ ] [The Magic of LRU Cache (100 Days of Google Dev) (video)](https://www.youtube.com/watch?v=R5ON3iwx78M)
-        - [ ] [Implementing LRU (video)](https://www.youtube.com/watch?v=bq6N7Ym81iI)
-        - [ ] [LeetCode - 146 LRU Cache (C++) (video)](https://www.youtube.com/watch?v=8-FZRAjR7qU)
-    - [ ] CPU cache:
-        - [ ] [MIT 6.004 L15: The Memory Hierarchy (video)](https://www.youtube.com/watch?v=vjYF_fAZI5E&list=PLrRW1w6CGAcXbMtDFj205vALOGmiRc82-&index=24)
-        - [ ] [MIT 6.004 L16: Cache Issues (video)](https://www.youtube.com/watch?v=ajgC3-pyGlk&index=25&list=PLrRW1w6CGAcXbMtDFj205vALOGmiRc82-)
-
-- ### Processes and Threads
-    - [ ] Computer Science 162 - Operating Systems (25 videos):
-        - for processes and threads see videos 1-11
-        - [Operating Systems and System Programming (video)](https://archive.org/details/ucberkeley-webcast-PL-XXv-cvA_iBDyz-ba4yDskqMDY6A1w_c)
-    - [What Is The Difference Between A Process And A Thread?](https://www.quora.com/What-is-the-difference-between-a-process-and-a-thread)
-    - Covers:
-        - Processes, Threads, Concurrency issues
-            - Difference between processes and threads
-            - Processes
-            - Threads
-            - Locks
-            - Mutexes
-            - Semaphores
-            - Monitors
-            - How they work?
-            - Deadlock
-            - Livelock
-        - CPU activity, interrupts, context switching
-        - Modern concurrency constructs with multicore processors
-        - [Paging, segmentation and virtual memory (video)](https://www.youtube.com/watch?v=LKe7xK0bF7o&list=PLCiOXwirraUCBE9i_ukL8_Kfg6XNv7Se8&index=2)
-        - [Interrupts (video)](https://www.youtube.com/watch?v=uFKi2-J-6II&list=PLCiOXwirraUCBE9i_ukL8_Kfg6XNv7Se8&index=3)
-        - Process resource needs (memory: code, static storage, stack, heap, and also file descriptors, i/o)
-        - Thread resource needs (shares above (minus stack) with other threads in the same process but each has its own pc, stack counter, registers, and stack)
-        - Forking is really copy on write (read-only) until the new process writes to memory, then it does a full copy.
-        - Context switching
-            - How context switching is initiated by the operating system and underlying hardware?
-    - [ ] [threads in C++ (series - 10 videos)](https://www.youtube.com/playlist?list=PL5jc9xFGsL8E12so1wlMS0r0hTQoJL74M)
-    - [ ] [CS 377 Spring '14: Operating Systems from University of Massachusetts](https://www.youtube.com/playlist?list=PLacuG5pysFbDQU8kKxbUh4K5c1iL5_k7k)
-    - [ ] concurrency in Python (videos):
-        - [ ] [Short series on threads](https://www.youtube.com/playlist?list=PL1H1sBF1VAKVMONJWJkmUh6_p8g4F2oy1)
-        - [ ] [Python Threads](https://www.youtube.com/watch?v=Bs7vPNbB9JM)
-        - [ ] [Understanding the Python GIL (2010)](https://www.youtube.com/watch?v=Obt-vMVdM8s)
-            - [reference](http://www.dabeaz.com/GIL)
-        - [ ] [David Beazley - Python Concurrency From the Ground Up: LIVE! - PyCon 2015](https://www.youtube.com/watch?v=MCs5OvhV9S4)
-        - [ ] [Keynote David Beazley - Topics of Interest (Python Asyncio)](https://www.youtube.com/watch?v=ZzfHjytDceU)
-        - [ ] [Mutex in Python](https://www.youtube.com/watch?v=0zaPs8OtyKY)
-
-- ### Testing
-    - To cover:
-        - how unit testing works
-        - what are mock objects
-        - what is integration testing
-        - what is dependency injection
-    - [ ] [Agile Software Testing with James Bach (video)](https://www.youtube.com/watch?v=SAhJf36_u5U)
-    - [ ] [Open Lecture by James Bach on Software Testing (video)](https://www.youtube.com/watch?v=ILkT_HV9DVU)
-    - [ ] [Steve Freeman - Test-Driven Development (that’s not what we meant) (video)](https://vimeo.com/83960706)
-        - [slides](http://gotocon.com/dl/goto-berlin-2013/slides/SteveFreeman_TestDrivenDevelopmentThatsNotWhatWeMeant.pdf)
-    - [ ] Dependency injection:
-        - [ ] [video](https://www.youtube.com/watch?v=IKD2-MAkXyQ)
-        - [ ] [Tao Of Testing](http://jasonpolites.github.io/tao-of-testing/ch3-1.1.html)
-    - [ ] [How to write tests](http://jasonpolites.github.io/tao-of-testing/ch4-1.1.html)
-
-- ### String searching & manipulations
-    - [ ] [Sedgewick - Suffix Arrays (video)](https://www.coursera.org/learn/algorithms-part2/lecture/TH18W/suffix-arrays)
-    - [ ] [Sedgewick - Substring Search (videos)](https://www.coursera.org/learn/algorithms-part2/home/week/4)
-        - [ ] [1. Introduction to Substring Search](https://www.coursera.org/learn/algorithms-part2/lecture/n3ZpG/introduction-to-substring-search)
-        - [ ] [2. Brute-Force Substring Search](https://www.coursera.org/learn/algorithms-part2/lecture/2Kn5i/brute-force-substring-search)
-        - [ ] [3. Knuth-Morris Pratt](https://www.coursera.org/learn/algorithms-part2/lecture/TAtDr/knuth-morris-pratt)
-        - [ ] [4. Boyer-Moore](https://www.coursera.org/learn/algorithms-part2/lecture/CYxOT/boyer-moore)
-        - [ ] [5. Rabin-Karp](https://www.coursera.org/learn/algorithms-part2/lecture/3KiqT/rabin-karp)
-    - [ ] [Search pattern in text (video)](https://www.coursera.org/learn/data-structures/lecture/tAfHI/search-pattern-in-text)
-
-    If you need more detail on this subject, see "String Matching" section in [Additional Detail on Some Subjects](#additional-detail-on-some-subjects).
-
-- ### Tries
-    - Note there are different kinds of tries. Some have prefixes, some don't, and some use string instead of bits
-        to track the path
-    - I read through code, but will not implement
-    - [ ] [Sedgewick - Tries (3 videos)](https://www.coursera.org/learn/algorithms-part2/home/week/4)
-        - [ ] [1. R Way Tries](https://www.coursera.org/learn/algorithms-part2/lecture/CPVdr/r-way-tries)
-        - [ ] [2. Ternary Search Tries](https://www.coursera.org/learn/algorithms-part2/lecture/yQM8K/ternary-search-tries)
-        - [ ] [3. Character Based Operations](https://www.coursera.org/learn/algorithms-part2/lecture/jwNmV/character-based-operations)
-    - [ ] [Notes on Data Structures and Programming Techniques](http://www.cs.yale.edu/homes/aspnes/classes/223/notes.html#Tries)
-    - [ ] Short course videos:
-        - [ ] [Introduction To Tries (video)](https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/08Xyf/core-introduction-to-tries)
-        - [ ] [Performance Of Tries (video)](https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/PvlZW/core-performance-of-tries)
-        - [ ] [Implementing A Trie (video)](https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/DFvd3/core-implementing-a-trie)
-    - [ ] [The Trie: A Neglected Data Structure](https://www.toptal.com/java/the-trie-a-neglected-data-structure)
-    - [ ] [TopCoder - Using Tries](https://www.topcoder.com/community/competitive-programming/tutorials/using-tries/)
-    - [ ] [Stanford Lecture (real world use case) (video)](https://www.youtube.com/watch?v=TJ8SkcUSdbU)
-    - [ ] [MIT, Advanced Data Structures, Strings (can get pretty obscure about halfway through) (video)](https://www.youtube.com/watch?v=NinWEPPrkDQ&index=16&list=PLUl4u3cNGP61hsJNdULdudlRL493b-XZf)
-
-- ### Floating Point Numbers
-    - [ ] simple 8-bit: [Representation of Floating Point Numbers - 1 (video - there is an error in calculations - see video description)](https://www.youtube.com/watch?v=ji3SfClm8TU)
-    - [ ] 32 bit: [IEEE754 32-bit floating point binary (video)](https://www.youtube.com/watch?v=50ZYcZebIec)
-
-- ### Unicode
-    - [ ] [The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets]( http://www.joelonsoftware.com/articles/Unicode.html)
-    - [ ] [What Every Programmer Absolutely, Positively Needs To Know About Encodings And Character Sets To Work With Text](http://kunststube.net/encoding/)
-
-- ### Endianness
-    - [ ] [Big And Little Endian](https://web.archive.org/web/20180107141940/http://www.cs.umd.edu:80/class/sum2003/cmsc311/Notes/Data/endian.html)
-    - [ ] [Big Endian Vs Little Endian (video)](https://www.youtube.com/watch?v=JrNF0KRAlyo)
-    - [ ] [Big And Little Endian Inside/Out (video)](https://www.youtube.com/watch?v=oBSuXP-1Tc0)
-        - Very technical talk for kernel devs. Don't worry if most is over your head.
-        - The first half is enough.
-
-- ### Networking
-    - **if you have networking experience or want to be a reliability engineer or operations engineer, expect questions**
-    - Otherwise, this is just good to know
-    - [ ] [Khan Academy](https://www.khanacademy.org/computing/code-org/computers-and-the-internet)
-    - [ ] [UDP and TCP: Comparison of Transport Protocols (video)](https://www.youtube.com/watch?v=Vdc8TCESIg8)
-    - [ ] [TCP/IP and the OSI Model Explained! (video)](https://www.youtube.com/watch?v=e5DEVa9eSN0)
-    - [ ] [Packet Transmission across the Internet. Networking & TCP/IP tutorial. (video)](https://www.youtube.com/watch?v=nomyRJehhnM)
-    - [ ] [HTTP (video)](https://www.youtube.com/watch?v=WGJrLqtX7As)
-    - [ ] [SSL and HTTPS (video)](https://www.youtube.com/watch?v=S2iBR2ZlZf0)
-    - [ ] [SSL/TLS (video)](https://www.youtube.com/watch?v=Rp3iZUvXWlM)
-    - [ ] [HTTP 2.0 (video)](https://www.youtube.com/watch?v=E9FxNzv1Tr8)
-    - [ ] [Video Series (21 videos) (video)](https://www.youtube.com/playlist?list=PLEbnTDJUr_IegfoqO4iPnPYQui46QqT0j)
-    - [ ] [Subnetting Demystified - Part 5 CIDR Notation (video)](https://www.youtube.com/watch?v=t5xYI0jzOf4)
-    - [ ] Sockets:
-        - [ ] [Java - Sockets - Introduction (video)](https://www.youtube.com/watch?v=6G_W54zuadg&t=6s)
-        - [ ] [Socket Programming (video)](https://www.youtube.com/watch?v=G75vN2mnJeQ)
+Мен бірнеше сағат бейнелерді көрдім және көптеген жазбалар алдым, ал бірнеше ай өткен соң есімде жоқ көп нәрсе болды. Мен 3 күн жүрдім
+Жазбаларым арқылы және флешкарталар жасау арқылы, мен қарап шығу үшін. Маған бұл білімнің бәрі қажет емес еді.
 
----
+Менің қателіктерімді жібермеу үшін оқыңыз:
 
-## Final Review
+[Информатика білімін сақтау](https://startupnextdoor.com/retaining-computer-science-knowledge/).
 
-    This section will have shorter videos that you can watch pretty quickly to review most of the important concepts.
-    It's nice if you want a refresher often.
+### 2. Flashcards пайдаланыңыз
 
-- [ ] Series of 2-3 minutes short subject videos (23 videos)
-    - [Videos](https://www.youtube.com/watch?v=r4r1DZcx1cM&list=PLmVb1OknmNJuC5POdcDv5oCS7_OUkDgpj&index=22)
-- [ ] Series of 2-5 minutes short subject videos - Michael Sambol (18 videos):
-    - [Videos](https://www.youtube.com/channel/UCzDJwLWoYCUQowF_nG3m5OQ)
-- [ ] [Sedgewick Videos - Algorithms I](https://www.coursera.org/learn/algorithms-part1)
-- [ ] [Sedgewick Videos - Algorithms II](https://www.coursera.org/learn/algorithms-part2)
+Мәселені шешу үшін мен шағын флэшкарталар сайтын жасадым, онда мен 2 түрдегі флэшкарталарды қоса аламын: жалпы және код.
+Әр картаның пішімі әртүрлі. Мен қай жерде болсам да, телефонда немесе планшетте қарап шығу үшін мобильді веб-сайт жасадым.
 
----
+Өзіңізді тегін жасаңыз:
 
-## Update Your Resume
-
-- See Resume prep information in the books: "Cracking The Coding Interview" and "Programming Interviews Exposed"
-- I don't know how important this is (you can do your own research) but here is an article on making your resume ATS Compliant:
-    - [How to Create or Check if your Resume is ATS Compliant](https://ayedot.com/97/MiniBlog/Meaning-of-ATS-compliant-resume-and-How-to-create-ATS-Resume-for-Free)
-- ["This Is What A GOOD Resume Should Look Like" by Gayle McDowell (author of Cracking the Coding Interview)](https://www.careercup.com/resume), 
-    - Note by the author: "This is for a US-focused resume. CVs for India and other countries have different expectations, although many of the points will be the same."
-
-
-## Find a Job
-
-- [Sites for Finding Jobs](https://ayedot.com/151/MiniBlog/Top-10-Best-Websites-for-Careers--Jobs)
-
-## Interview Process & General Interview Prep
-
-- [ ] [How to Pass the Engineering Interview in 2021](https://davidbyttow.medium.com/how-to-pass-the-engineering-interview-in-2021-45f1b389a1)
-- [ ] [Demystifying Tech Recruiting](https://www.youtube.com/watch?v=N233T0epWTs)
-- [ ] How to Get a Job at the Big 4:
-    - [ ] [How to Get a Job at the Big 4 - Amazon, Facebook, Google & Microsoft (video)](https://www.youtube.com/watch?v=YJZCUhxNCv8)
-    - [ ] [How to Get a Job at the Big 4.1 (Follow-up video)](https://www.youtube.com/watch?v=6790FVXWBw8&feature=youtu.be)
-- [ ] Cracking The Coding Interview Set 1:
-    - [ ] [Gayle L McDowell - Cracking The Coding Interview (video)](https://www.youtube.com/watch?v=rEJzOhC5ZtQ)
-    - [ ] [Cracking the Coding Interview with Author Gayle Laakmann McDowell (video)](https://www.youtube.com/watch?v=aClxtDcdpsQ)
-- [ ] Cracking the Facebook Coding Interview:
-    - [ ] [The Approach](https://www.youtube.com/watch?v=wCl9kvQGHPI)
-    - [ ] [Problem Walkthrough](https://www.youtube.com/watch?v=4UWDyJq8jZg)
-- Prep Courses:
-    - [Software Engineer Interview Unleashed (paid course)](https://www.udemy.com/software-engineer-interview-unleashed):
-        - Learn how to make yourself ready for software engineer interviews from a former Google interviewer.
-    - [Python for Data Structures, Algorithms, and Interviews (paid course)](https://www.udemy.com/python-for-data-structures-algorithms-and-interviews/):
-        - A Python centric interview prep course which covers data structures, algorithms, mock interviews and much more.
-    - [Intro to Data Structures and Algorithms using Python (Udacity free course)](https://www.udacity.com/course/data-structures-and-algorithms-in-python--ud513):
-        - A free Python centric data structures and algorithms course.
-    - [Data Structures and Algorithms Nanodegree! (Udacity paid Nanodegree)](https://www.udacity.com/course/data-structures-and-algorithms-nanodegree--nd256):
-        - Get hands-on practice with over 100 data structures and algorithm exercises and guidance from a dedicated mentor to help prepare you for interviews and on-the-job scenarios.
-    - [Grokking the Behavioral Interview (Educative free course)](https://www.educative.io/courses/grokking-the-behavioral-interview):
-        - Many times, it’s not your technical competency that holds you back from landing your dream job, it’s how you perform on the behavioral interview.
-
-Mock Interviews:
-- [Gainlo.co: Mock interviewers from big companies](http://www.gainlo.co/#!/) - I used this and it helped me relax for the phone screen and on-site interview
-- [Pramp: Mock interviews from/with peers](https://www.pramp.com/) - peer-to-peer model of practice interviews
-- [interviewing.io: Practice mock interview with senior engineers](https://interviewing.io) - anonymous algorithmic/systems design interviews with senior engineers from FAANG anonymously
-
-## Be thinking of for when the interview comes
-
-Think of about 20 interview questions you'll get, along with the lines of the items below. Have at least one answer for each.
-Have a story, not just data, about something you accomplished.
-
-- Why do you want this job?
-- What's a tough problem you've solved?
-- Biggest challenges faced?
-- Best/worst designs seen?
-- Ideas for improving an existing product
-- How do you work best, as an individual and as part of a team?
-- Which of your skills or experiences would be assets in the role and why?
-- What did you most enjoy at [job x / project y]?
-- What was the biggest challenge you faced at [job x / project y]?
-- What was the hardest bug you faced at [job x / project y]?
-- What did you learn at [job x / project y]?
-- What would you have done better at [job x / project y]?
-
-- If you find it hard to come up with good answers of these types of interview questions, here are some ideas: 
-    - [General Interview Questions and their Answers](https://ayedot.com/119/MiniBlog/General-Interview-Questions-and-their-Answers-for-Tech-Jobs)
-
-## Have questions for the interviewer
-
-Some of mine (I already may know the answers, but want their opinion or team perspective):
-
-- How large is your team?
-- What does your dev cycle look like? Do you do waterfall/sprints/agile?
-- Are rushes to deadlines common? Or is there flexibility?
-- How are decisions made in your team?
-- How many meetings do you have per week?
-- Do you feel your work environment helps you concentrate?
-- What are you working on?
-- What do you like about it?
-- What is the work life like?
-- How is the work/life balance?
-
-## Once You've Got The Job
-
-Congratulations!
-
-Keep learning.
-
-You're never really done.
+- [Flashcards сайтының репосы](https://github.com/jwasham/computer-science-flash-cards)
 
----
+**Флешкарталарымды пайдалануды ұсынбаймын.** Олардың саны тым көп және олардың көпшілігі сізге қажет емес ұсақ-түйектер.
 
-    *****************************************************************************************************
-    *****************************************************************************************************
+Бірақ мені тыңдағың келмесе, мынаны айтасың:
+- [Менің флэш карталарымның дерекқорым (1200 карта)](https://github.com/jwasham/computer-science-flash-cards/blob/main/cards-jwasham.db):
+- [Менің флэш карталарымның дерекқорым (экстремалды - 1800 карта)](https://github.com/jwasham/computer-science-flash-cards/blob/main/cards-jwasham-extreme.db):
+- [Kompanon jobası - Kitaptağı ärbir mäselege arnalğan ädistemeler men sınaq jağdayları](https://github.com/gardncl/elements-of-programming-interviews)
 
-    Everything below this point is optional. It is NOT needed for an entry-level interview.
-    However, by studying these, you'll get greater exposure to more CS concepts, and will be better prepared for
-    any software engineering job. You'll be a much more well-rounded software engineer.
-    
-    *****************************************************************************************************
-    *****************************************************************************************************
+## Meniñ qatelikterimdi jasama
 
----
+Bul tizim birneşe ay boyı östi jäne ïä, ol baqılawdan şıqtı.
 
-## Additional Books
-
-    These are here so you can dive into a topic you find interesting.
-
-- [The Unix Programming Environment](https://www.amazon.com/dp/013937681X)
-    - An oldie but a goodie
-- [The Linux Command Line: A Complete Introduction](https://www.amazon.com/dp/1593273894/)
-    - A modern option
-- [TCP/IP Illustrated Series](https://en.wikipedia.org/wiki/TCP/IP_Illustrated)
-- [Head First Design Patterns](https://www.amazon.com/gp/product/0596007124/)
-    - A gentle introduction to design patterns
-- [Design Patterns: Elements of Reusable Object-Oriente​d Software](https://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612)
-    - AKA the "Gang Of Four" book, or GOF
-    - The canonical design patterns book
-- [Algorithm Design Manual](http://www.amazon.com/Algorithm-Design-Manual-Steven-Skiena/dp/1849967202) (Skiena)
-    - As a review and problem recognition
-    - The algorithm catalog portion is well beyond the scope of difficulty you'll get in an interview
-    - This book has 2 parts:
-        - Class textbook on data structures and algorithms
-            - Pros:
-                - Is a good review as any algorithms textbook would be
-                - Nice stories from his experiences solving problems in industry and academia
-                - Code examples in C
-            - Cons:
-                - Can be as dense or impenetrable as CLRS, and in some cases, CLRS may be a better alternative for some subjects
-                - Chapters 7, 8, 9 can be painful to try to follow, as some items are not explained well or require more brain than I have
-                - Don't get me wrong: I like Skiena, his teaching style, and mannerisms, but I may not be Stony Brook material
-        - Algorithm catalog:
-            - This is the real reason you buy this book.
-            - This book is better as an algorithm reference, and not something you read cover to cover.
-    - Can rent it on Kindle
-    - Answers:
-        - [Solutions](http://www.algorithm.cs.sunysb.edu/algowiki/index.php/The_Algorithms_Design_Manual_(Second_Edition))
-        - [Solutions](http://blog.panictank.net/category/algorithmndesignmanualsolutions/page/2/)
-    - [Errata](http://www3.cs.stonybrook.edu/~skiena/algorist/book/errata)
-- [Write Great Code: Volume 1: Understanding the Machine](https://www.amazon.com/Write-Great-Code-Understanding-Machine/dp/1593270038)
-    - The book was published in 2004, and is somewhat outdated, but it's a terrific resource for understanding a computer in brief
-    - The author invented [HLA](https://en.wikipedia.org/wiki/High_Level_Assembly), so take mentions and examples in HLA with a grain of salt. Not widely used, but decent examples of what assembly looks like
-    - These chapters are worth the read to give you a nice foundation:
-        - Chapter 2 - Numeric Representation
-        - Chapter 3 - Binary Arithmetic and Bit Operations
-        - Chapter 4 - Floating-Point Representation
-        - Chapter 5 - Character Representation
-        - Chapter 6 - Memory Organization and Access
-        - Chapter 7 - Composite Data Types and Memory Objects
-        - Chapter 9 - CPU Architecture
-        - Chapter 10 - Instruction Set Architecture
-        - Chapter 11 - Memory Architecture and Organization
-- [Introduction to Algorithms](https://www.amazon.com/Introduction-Algorithms-3rd-MIT-Press/dp/0262033844)
-    - **Important:** Reading this book will only have limited value. This book is a great review of algorithms and data structures, but won't teach you how to write good code. You have to be able to code a decent solution efficiently
-    - AKA CLR, sometimes CLRS, because Stein was late to the game
-- [Computer Architecture, Sixth Edition: A Quantitative Approach](https://www.amazon.com/dp/0128119055)
-    - For a richer, more up-to-date (2017), but longer treatment
-
-## System Design, Scalability, Data Handling
-
-**You can expect system design questions if you have 4+ years of experience.**
-
-- Scalability and System Design are very large topics with many topics and resources, since
-      there is a lot to consider when designing a software/hardware system that can scale.
-      Expect to spend quite a bit of time on this
-- Considerations:
-    - Scalability
-        - Distill large data sets to single values
-        - Transform one data set to another
-        - Handling obscenely large amounts of data
-    - System design
-        - features sets
-        - interfaces
-        - class hierarchies
-        - designing a system under certain constraints
-        - simplicity and robustness
-        - tradeoffs
-        - performance analysis and optimization
-- [ ] **START HERE**: [The System Design Primer](https://github.com/donnemartin/system-design-primer)
-- [ ] [System Design from HiredInTech](http://www.hiredintech.com/system-design/)
-- [ ] [How Do I Prepare To Answer Design Questions In A Technical Interview?](https://www.quora.com/How-do-I-prepare-to-answer-design-questions-in-a-technical-interview?redirected_qid=1500023)
-- [ ] [8 Things You Need to Know Before a System Design Interview](http://blog.gainlo.co/index.php/2015/10/22/8-things-you-need-to-know-before-system-design-interviews/)
-- [ ] [Database Normalization - 1NF, 2NF, 3NF and 4NF (video)](https://www.youtube.com/watch?v=UrYLYV7WSHM)
-- [ ] [System Design Interview](https://github.com/checkcheckzz/system-design-interview) - There are a lot of resources in this one. Look through the articles and examples. I put some of them below
-- [ ] [How to ace a systems design interview](http://www.palantir.com/2011/10/how-to-rock-a-systems-design-interview/)
-- [ ] [Numbers Everyone Should Know](http://everythingisdata.wordpress.com/2009/10/17/numbers-everyone-should-know/)
-- [ ] [How long does it take to make a context switch?](http://blog.tsunanet.net/2010/11/how-long-does-it-take-to-make-context.html)
-- [ ] [Transactions Across Datacenters (video)](https://www.youtube.com/watch?v=srOgpXECblk)
-- [ ] [A plain English introduction to CAP Theorem](http://ksat.me/a-plain-english-introduction-to-cap-theorem)
-- [ ] [MIT 6.824: Distributed Systems, Spring 2020 (20 videos)](https://www.youtube.com/watch?v=cQP8WApzIQQ&list=PLrw6a1wE39_tb2fErI4-WkMbsvGQk9_UB)
-- [ ] Consensus Algorithms:
-    - [ ] Paxos - [Paxos Agreement - Computerphile (video)](https://www.youtube.com/watch?v=s8JqcZtvnsM)
-    - [ ] Raft - [An Introduction to the Raft Distributed Consensus Algorithm (video)](https://www.youtube.com/watch?v=P9Ydif5_qvE)
-        - [ ] [Easy-to-read paper](https://raft.github.io/)
-        - [ ] [Infographic](http://thesecretlivesofdata.com/raft/)
-- [ ] [Consistent Hashing](http://www.tom-e-white.com/2007/11/consistent-hashing.html)
-- [ ] [NoSQL Patterns](http://horicky.blogspot.com/2009/11/nosql-patterns.html)
-- [ ] Scalability:
-    - You don't need all of these. Just pick a few that interest you.
-    - [ ] [Great overview (video)](https://www.youtube.com/watch?v=-W9F__D3oY4)
-    - [ ] Short series:
-        - [Clones](http://www.lecloud.net/post/7295452622/scalability-for-dummies-part-1-clones)
-        - [Database](http://www.lecloud.net/post/7994751381/scalability-for-dummies-part-2-database)
-        - [Cache](http://www.lecloud.net/post/9246290032/scalability-for-dummies-part-3-cache)
-        - [Asynchronism](http://www.lecloud.net/post/9699762917/scalability-for-dummies-part-4-asynchronism)
-    - [ ] [Scalable Web Architecture and Distributed Systems](http://www.aosabook.org/en/distsys.html)
-    - [ ] [Fallacies of Distributed Computing Explained](https://pages.cs.wisc.edu/~zuyu/files/fallacies.pdf)
-    - [ ] [Jeff Dean - Building Software Systems At Google and Lessons Learned (video)](https://www.youtube.com/watch?v=modXC5IWTJI)
-    - [ ] [Introduction to Architecting Systems for Scale](http://lethain.com/introduction-to-architecting-systems-for-scale/)
-    - [ ] [Scaling mobile games to a global audience using App Engine and Cloud Datastore (video)](https://www.youtube.com/watch?v=9nWyWwY2Onc)
-    - [ ] [How Google Does Planet-Scale Engineering for Planet-Scale Infra (video)](https://www.youtube.com/watch?v=H4vMcD7zKM0)
-    - [ ] [The Importance of Algorithms](https://www.topcoder.com/community/competitive-programming/tutorials/the-importance-of-algorithms/)
-    - [ ] [Sharding](http://highscalability.com/blog/2009/8/6/an-unorthodox-approach-to-database-design-the-coming-of-the.html)
-    - [ ] [Engineering for the Long Game - Astrid Atkinson Keynote(video)](https://www.youtube.com/watch?v=p0jGmgIrf_M&list=PLRXxvay_m8gqVlExPC5DG3TGWJTaBgqSA&index=4)
-    - [ ] [7 Years Of YouTube Scalability Lessons In 30 Minutes](http://highscalability.com/blog/2012/3/26/7-years-of-youtube-scalability-lessons-in-30-minutes.html)
-        - [video](https://www.youtube.com/watch?v=G-lGCC4KKok)
-    - [ ] [How PayPal Scaled To Billions Of Transactions Daily Using Just 8VMs](http://highscalability.com/blog/2016/8/15/how-paypal-scaled-to-billions-of-transactions-daily-using-ju.html)
-    - [ ] [How to Remove Duplicates in Large Datasets](https://blog.clevertap.com/how-to-remove-duplicates-in-large-datasets/)
-    - [ ] [A look inside Etsy's scale and engineering culture with Jon Cowie (video)](https://www.youtube.com/watch?v=3vV4YiqKm1o)
-    - [ ] [What Led Amazon to its Own Microservices Architecture](http://thenewstack.io/led-amazon-microservices-architecture/)
-    - [ ] [To Compress Or Not To Compress, That Was Uber's Question](https://eng.uber.com/trip-data-squeeze/)
-    - [ ] [When Should Approximate Query Processing Be Used?](http://highscalability.com/blog/2016/2/25/when-should-approximate-query-processing-be-used.html)
-    - [ ] [Google's Transition From Single Datacenter, To Failover, To A Native Multihomed Architecture]( http://highscalability.com/blog/2016/2/23/googles-transition-from-single-datacenter-to-failover-to-a-n.html)
-    - [ ] [The Image Optimization Technology That Serves Millions Of Requests Per Day](http://highscalability.com/blog/2016/6/15/the-image-optimization-technology-that-serves-millions-of-re.html)
-    - [ ] [A Patreon Architecture Short](http://highscalability.com/blog/2016/2/1/a-patreon-architecture-short.html)
-    - [ ] [Tinder: How Does One Of The Largest Recommendation Engines Decide Who You'll See Next?](http://highscalability.com/blog/2016/1/27/tinder-how-does-one-of-the-largest-recommendation-engines-de.html)
-    - [ ] [Design Of A Modern Cache](http://highscalability.com/blog/2016/1/25/design-of-a-modern-cache.html)
-    - [ ] [Live Video Streaming At Facebook Scale](http://highscalability.com/blog/2016/1/13/live-video-streaming-at-facebook-scale.html)
-    - [ ] [A Beginner's Guide To Scaling To 11 Million+ Users On Amazon's AWS](http://highscalability.com/blog/2016/1/11/a-beginners-guide-to-scaling-to-11-million-users-on-amazons.html)
-    - [ ] [A 360 Degree View Of The Entire Netflix Stack](http://highscalability.com/blog/2015/11/9/a-360-degree-view-of-the-entire-netflix-stack.html)
-    - [ ] [Latency Is Everywhere And It Costs You Sales - How To Crush It](http://highscalability.com/latency-everywhere-and-it-costs-you-sales-how-crush-it)
-    - [ ] [What Powers Instagram: Hundreds of Instances, Dozens of Technologies](http://instagram-engineering.tumblr.com/post/13649370142/what-powers-instagram-hundreds-of-instances)
-    - [ ] [Salesforce Architecture - How They Handle 1.3 Billion Transactions A Day](http://highscalability.com/blog/2013/9/23/salesforce-architecture-how-they-handle-13-billion-transacti.html)
-    - [ ] [ESPN's Architecture At Scale - Operating At 100,000 Duh Nuh Nuhs Per Second](http://highscalability.com/blog/2013/11/4/espns-architecture-at-scale-operating-at-100000-duh-nuh-nuhs.html)
-    - [ ] See "Messaging, Serialization, and Queueing Systems" way below for info on some of the technologies that can glue services together
-    - [ ] Twitter:
-        - [O'Reilly MySQL CE 2011: Jeremy Cole, "Big and Small Data at @Twitter" (video)](https://www.youtube.com/watch?v=5cKTP36HVgI)
-        - [Timelines at Scale](https://www.infoq.com/presentations/Twitter-Timeline-Scalability)
-    - For even more, see "Mining Massive Datasets" video series in the [Video Series](#video-series) section
-- [ ] Practicing the system design process: Here are some ideas to try working through on paper, each with some documentation on how it was handled in the real world:
-    - review: [The System Design Primer](https://github.com/donnemartin/system-design-primer)
-    - [System Design from HiredInTech](http://www.hiredintech.com/system-design/)
-    - [cheat sheet](https://github.com/jwasham/coding-interview-university/blob/main/extras/cheat%20sheets/system-design.pdf)
-    - flow:
-        1. Understand the problem and scope:
-            - Define the use cases, with interviewer's help
-            - Suggest additional features
-            - Remove items that interviewer deems out of scope
-            - Assume high availability is required, add as a use case
-        2. Think about constraints:
-            - Ask how many requests per month
-            - Ask how many requests per second (they may volunteer it or make you do the math)
-            - Estimate reads vs. writes percentage
-            - Keep 80/20 rule in mind when estimating
-            - How much data written per second
-            - Total storage required over 5 years
-            - How much data read per second
-        3. Abstract design:
-            - Layers (service, data, caching)
-            - Infrastructure: load balancing, messaging
-            - Rough overview of any key algorithm that drives the service
-            - Consider bottlenecks and determine solutions
-    - Exercises:
-        - [Design a random unique ID generation system](https://blog.twitter.com/2010/announcing-snowflake)
-        - [Design a key-value database](http://www.slideshare.net/dvirsky/introduction-to-redis)
-        - [Design a picture sharing system](http://highscalability.com/blog/2011/12/6/instagram-architecture-14-million-users-terabytes-of-photos.html)
-        - [Design a recommendation system](http://ijcai13.org/files/tutorial_slides/td3.pdf)
-        - [Design a URL-shortener system: copied from above](http://www.hiredintech.com/system-design/the-system-design-process/)
-        - [Design a cache system](https://www.adayinthelifeof.nl/2011/02/06/memcache-internals/)
-
-## Additional Learning
-
-    I added them to help you become a well-rounded software engineer, and to be aware of certain
-    technologies and algorithms, so you'll have a bigger toolbox.
-
-- ### Compilers
-    - [How a Compiler Works in ~1 minute (video)](https://www.youtube.com/watch?v=IhC7sdYe-Jg)
-    - [Harvard CS50 - Compilers (video)](https://www.youtube.com/watch?v=CSZLNYF4Klo)
-    - [C++ (video)](https://www.youtube.com/watch?v=twodd1KFfGk)
-    - [Understanding Compiler Optimization (C++) (video)](https://www.youtube.com/watch?v=FnGCDLhaxKU)
-
-- ### Emacs and vi(m)
-    - Familiarize yourself with a unix-based code editor
-    - vi(m):
-        - [Editing With vim 01 - Installation, Setup, and The Modes (video)](https://www.youtube.com/watch?v=5givLEMcINQ&index=1&list=PL13bz4SHGmRxlZVmWQ9DvXo1fEg4UdGkr)
-        - [VIM Adventures](http://vim-adventures.com/)
-        - set of 4 videos:
-            - [The vi/vim editor - Lesson 1](https://www.youtube.com/watch?v=SI8TeVMX8pk)
-            - [The vi/vim editor - Lesson 2](https://www.youtube.com/watch?v=F3OO7ZIOaJE)
-            - [The vi/vim editor - Lesson 3](https://www.youtube.com/watch?v=ZYEccA_nMaI)
-            - [The vi/vim editor - Lesson 4](https://www.youtube.com/watch?v=1lYD5gwgZIA)
-        - [Using Vi Instead of Emacs](http://www.cs.yale.edu/homes/aspnes/classes/223/notes.html#Using_Vi_instead_of_Emacs)
-    - emacs:
-        - [Basics Emacs Tutorial (video)](https://www.youtube.com/watch?v=hbmV1bnQ-i0)
-        - set of 3 (videos):
-            - [Emacs Tutorial (Beginners) -Part 1- File commands, cut/copy/paste, cursor commands](https://www.youtube.com/watch?v=ujODL7MD04Q)
-            - [Emacs Tutorial (Beginners) -Part 2- Buffer management, search, M-x grep and rgrep modes](https://www.youtube.com/watch?v=XWpsRupJ4II)
-            - [Emacs Tutorial (Beginners) -Part 3- Expressions, Statements, ~/.emacs file and packages](https://www.youtube.com/watch?v=paSgzPso-yc)
-        - [Evil Mode: Or, How I Learned to Stop Worrying and Love Emacs (video)](https://www.youtube.com/watch?v=JWD1Fpdd4Pc)
-        - [Writing C Programs With Emacs](http://www.cs.yale.edu/homes/aspnes/classes/223/notes.html#Writing_C_programs_with_Emacs)
-	- [The Absolute Beginner's Guide to Emacs (video by David Wilson)](https://www.youtube.com/watch?v=48JlgiBpw_I&t=0s)
-	- [The Absolute Beginner's Guide to Emacs (notes by David Wilson)](https://systemcrafters.net/emacs-essentials/absolute-beginners-guide-to-emacs/)
-
-- ### Unix command line tools
-    - I filled in the list below from good tools.
-    - bash
-    - cat
-    - grep
-    - sed
-    - awk
-    - curl or wget
-    - sort
-    - tr
-    - uniq
-    - [strace](https://en.wikipedia.org/wiki/Strace)
-    - [tcpdump](https://danielmiessler.com/study/tcpdump/)
-
-- ### Information theory (videos)
-    - [Khan Academy](https://www.khanacademy.org/computing/computer-science/informationtheory)
-    - More about Markov processes:
-        - [Core Markov Text Generation](https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/waxgx/core-markov-text-generation)
-        - [Core Implementing Markov Text Generation](https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/gZhiC/core-implementing-markov-text-generation)
-        - [Project = Markov Text Generation Walk Through](https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/EUjrq/project-markov-text-generation-walk-through)
-    - See more in MIT 6.050J Information and Entropy series below
-
-- ### Parity & Hamming Code (videos)
-    - [Intro](https://www.youtube.com/watch?v=q-3BctoUpHE)
-    - [Parity](https://www.youtube.com/watch?v=DdMcAUlxh1M)
-    - Hamming Code:
-        - [Error detection](https://www.youtube.com/watch?v=1A_NcXxdoCc)
-        - [Error correction](https://www.youtube.com/watch?v=JAMLuxdHH8o)
-    - [Error Checking](https://www.youtube.com/watch?v=wbH2VxzmoZk)
-
-- ### Entropy
-    - Also see videos below
-    - Make sure to watch information theory videos first
-    - [Information Theory, Claude Shannon, Entropy, Redundancy, Data Compression & Bits (video)](https://youtu.be/JnJq3Py0dyM?t=176)
-
-- ### Cryptography
-    - Also see videos below
-    - Make sure to watch information theory videos first
-    - [Khan Academy Series](https://www.khanacademy.org/computing/computer-science/cryptography)
-    - [Cryptography: Hash Functions](https://www.youtube.com/watch?v=KqqOXndnvic&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=30)
-    - [Cryptography: Encryption](https://www.youtube.com/watch?v=9TNI2wHmaeI&index=31&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp)
-
-- ### Compression
-    - Make sure to watch information theory videos first
-    - Computerphile (videos):
-        - [Compression](https://www.youtube.com/watch?v=Lto-ajuqW3w)
-        - [Entropy in Compression](https://www.youtube.com/watch?v=M5c_RFKVkko)
-        - [Upside Down Trees (Huffman Trees)](https://www.youtube.com/watch?v=umTbivyJoiI)
-        - [EXTRA BITS/TRITS - Huffman Trees](https://www.youtube.com/watch?v=DV8efuB3h2g)
-        - [Elegant Compression in Text (The LZ 77 Method)](https://www.youtube.com/watch?v=goOa3DGezUA)
-        - [Text Compression Meets Probabilities](https://www.youtube.com/watch?v=cCDCfoHTsaU)
-    - [Compressor Head videos](https://www.youtube.com/playlist?list=PLOU2XLYxmsIJGErt5rrCqaSGTMyyqNt2H)
-    - [(optional) Google Developers Live: GZIP is not enough!](https://www.youtube.com/watch?v=whGwm0Lky2s)
-
-- ### Computer Security
-    - [MIT (23 videos)](https://www.youtube.com/playlist?list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh)
-        - [Introduction, Threat Models](https://www.youtube.com/watch?v=GqmQg-cszw4&index=1&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh)
-        - [Control Hijacking Attacks](https://www.youtube.com/watch?v=6bwzNg5qQ0o&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh&index=2)
-        - [Buffer Overflow Exploits and Defenses](https://www.youtube.com/watch?v=drQyrzRoRiA&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh&index=3)
-        - [Privilege Separation](https://www.youtube.com/watch?v=6SIJmoE9L9g&index=4&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh)
-        - [Capabilities](https://www.youtube.com/watch?v=8VqTSY-11F4&index=5&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh)
-        - [Sandboxing Native Code](https://www.youtube.com/watch?v=VEV74hwASeU&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh&index=6)
-        - [Web Security Model](https://www.youtube.com/watch?v=chkFBigodIw&index=7&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh)
-        - [Securing Web Applications](https://www.youtube.com/watch?v=EBQIGy1ROLY&index=8&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh)
-        - [Symbolic Execution](https://www.youtube.com/watch?v=yRVZPvHYHzw&index=9&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh)
-        - [Network Security](https://www.youtube.com/watch?v=SIEVvk3NVuk&index=11&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh)
-        - [Network Protocols](https://www.youtube.com/watch?v=QOtA76ga_fY&index=12&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh)
-        - [Side-Channel Attacks](https://www.youtube.com/watch?v=PuVMkSEcPiI&index=15&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh)
-
-- ### Garbage collection
-    - [GC in Python (video)](https://www.youtube.com/watch?v=iHVs_HkjdmI)
-    - [Deep Dive Java: Garbage Collection is Good!](https://www.infoq.com/presentations/garbage-collection-benefits)
-    - [Deep Dive Python: Garbage Collection in CPython (video)](https://www.youtube.com/watch?v=P-8Z0-MhdQs&list=PLdzf4Clw0VbOEWOS_sLhT_9zaiQDrS5AR&index=3)
-
-- ### Parallel Programming
-    - [Coursera (Scala)](https://www.coursera.org/learn/parprog1/home/week/1)
-    - [Efficient Python for High Performance Parallel Computing (video)](https://www.youtube.com/watch?v=uY85GkaYzBk)
-
-- ### Messaging, Serialization, and Queueing Systems
-    - [Thrift](https://thrift.apache.org/)
-        - [Tutorial](http://thrift-tutorial.readthedocs.io/en/latest/intro.html)
-    - [Protocol Buffers](https://developers.google.com/protocol-buffers/)
-        - [Tutorials](https://developers.google.com/protocol-buffers/docs/tutorials)
-    - [gRPC](http://www.grpc.io/)
-        - [gRPC 101 for Java Developers (video)](https://www.youtube.com/watch?v=5tmPvSe7xXQ&list=PLcTqM9n_dieN0k1nSeN36Z_ppKnvMJoly&index=1)
-    - [Redis](http://redis.io/)
-        - [Tutorial](http://try.redis.io/)
-    - [Amazon SQS (queue)](https://aws.amazon.com/sqs/)
-    - [Amazon SNS (pub-sub)](https://aws.amazon.com/sns/)
-    - [RabbitMQ](https://www.rabbitmq.com/)
-        - [Get Started](https://www.rabbitmq.com/getstarted.html)
-    - [Celery](http://www.celeryproject.org/)
-        - [First Steps With Celery](http://docs.celeryproject.org/en/latest/getting-started/first-steps-with-celery.html)
-    - [ZeroMQ](http://zeromq.org/)
-        - [Intro - Read The Manual](http://zeromq.org/intro:read-the-manual)
-    - [ActiveMQ](http://activemq.apache.org/)
-    - [Kafka](http://kafka.apache.org/documentation.html#introduction)
-    - [MessagePack](http://msgpack.org/index.html)
-    - [Avro](https://avro.apache.org/)
+Sizge jaqsıraq täjirïbe alw üşin men birneşe qatelikter jiberdim. Al siz aylar waqıtıñızdı ünemdeysiz.
 
-- ### A*
-    - [A Search Algorithm](https://en.wikipedia.org/wiki/A*_search_algorithm)
-    - [A* Pathfinding Tutorial (video)](https://www.youtube.com/watch?v=KNXfSOx4eEE)
-    - [A* Pathfinding (E01: algorithm explanation) (video)](https://www.youtube.com/watch?v=-L-WgKMFuhE)
-
-- ### Fast Fourier Transform
-    - [An Interactive Guide To The Fourier Transform](https://betterexplained.com/articles/an-interactive-guide-to-the-fourier-transform/)
-    - [What is a Fourier transform? What is it used for?](http://www.askamathematician.com/2012/09/q-what-is-a-fourier-transform-what-is-it-used-for/)
-    - [What is the Fourier Transform? (video)](https://www.youtube.com/watch?v=Xxut2PN-V8Q)
-    - [Divide & Conquer: FFT (video)](https://www.youtube.com/watch?v=iTMn0Kt18tg&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=4)
-    - [Understanding The FFT](http://jakevdp.github.io/blog/2013/08/28/understanding-the-fft/)
-
-- ### Bloom Filter
-    - Given a Bloom filter with m bits and k hashing functions, both insertion and membership testing are O(k)
-    - [Bloom Filters (video)](https://www.youtube.com/watch?v=-SuTGoFYjZs)
-    - [Bloom Filters | Mining of Massive Datasets | Stanford University (video)](https://www.youtube.com/watch?v=qBTdukbzc78)
-    - [Tutorial](http://billmill.org/bloomfilter-tutorial/)
-    - [How To Write A Bloom Filter App](http://blog.michaelschmatz.com/2016/04/11/how-to-write-a-bloom-filter-cpp/)
-
-- ### HyperLogLog
-    - [How To Count A Billion Distinct Objects Using Only 1.5KB Of Memory](http://highscalability.com/blog/2012/4/5/big-data-counting-how-to-count-a-billion-distinct-objects-us.html)
-
-- ### Locality-Sensitive Hashing
-    - Used to determine the similarity of documents
-    - The opposite of MD5 or SHA which are used to determine if 2 documents/strings are exactly the same
-    - [Simhashing (hopefully) made simple](http://ferd.ca/simhashing-hopefully-made-simple.html)
-
-- ### van Emde Boas Trees
-    - [Divide & Conquer: van Emde Boas Trees (video)](https://www.youtube.com/watch?v=hmReJCupbNU&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=6)
-    - [MIT Lecture Notes](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-design-and-analysis-of-algorithms-spring-2012/lecture-notes/MIT6_046JS12_lec15.pdf)
-
-- ### Augmented Data Structures
-    - [CS 61B Lecture 39: Augmenting Data Structures](https://archive.org/details/ucberkeley_webcast_zksIj9O8_jc)
-
-- ### Balanced search trees
-    - Know at least one type of balanced binary tree (and know how it's implemented):
-    - "Among balanced search trees, AVL and 2/3 trees are now passé, and red-black trees seem to be more popular.
-        A particularly interesting self-organizing data structure is the splay tree, which uses rotations
-        to move any accessed key to the root." - Skiena
-    - Of these, I chose to implement a splay tree. From what I've read, you won't implement a
-        balanced search tree in your interview. But I wanted exposure to coding one up
-        and let's face it, splay trees are the bee's knees. I did read a lot of red-black tree code
-        - Splay tree: insert, search, delete functions
-        If you end up implementing red/black tree try just these:
-        - Search and insertion functions, skipping delete
-    - I want to learn more about B-Tree since it's used so widely with very large data sets
-    - [Self-balancing binary search tree](https://en.wikipedia.org/wiki/Self-balancing_binary_search_tree)
-
-    - **AVL trees**
-        - In practice:
-            From what I can tell, these aren't used much in practice, but I could see where they would be:
-            The AVL tree is another structure supporting O(log n) search, insertion, and removal. It is more rigidly
-            balanced than red–black trees, leading to slower insertion and removal but faster retrieval. This makes it
-            attractive for data structures that may be built once and loaded without reconstruction, such as language
-            dictionaries (or program dictionaries, such as the opcodes of an assembler or interpreter)
-        - [MIT AVL Trees / AVL Sort (video)](https://www.youtube.com/watch?v=FNeL18KsWPc&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=6)
-        - [AVL Trees (video)](https://www.coursera.org/learn/data-structures/lecture/Qq5E0/avl-trees)
-        - [AVL Tree Implementation (video)](https://www.coursera.org/learn/data-structures/lecture/PKEBC/avl-tree-implementation)
-        - [Split And Merge](https://www.coursera.org/learn/data-structures/lecture/22BgE/split-and-merge)
-
-    - **Splay trees**
-        - In practice:
-            Splay trees are typically used in the implementation of caches, memory allocators, routers, garbage collectors,
-            data compression, ropes (replacement of string used for long text strings), in Windows NT (in the virtual memory,
-            networking and file system code) etc
-        - [CS 61B: Splay Trees (video)](https://archive.org/details/ucberkeley_webcast_G5QIXywcJlY)
-        - MIT Lecture: Splay Trees:
-            - Gets very mathy, but watch the last 10 minutes for sure.
-            - [Video](https://www.youtube.com/watch?v=QnPl_Y6EqMo)
-
-    - **Red/black trees**
-        - These are a translation of a 2-3 tree (see below).
-        - In practice:
-            Red–black trees offer worst-case guarantees for insertion time, deletion time, and search time.
-            Not only does this make them valuable in time-sensitive applications such as real-time applications,
-            but it makes them valuable building blocks in other data structures which provide worst-case guarantees;
-            for example, many data structures used in computational geometry can be based on red–black trees, and
-            the Completely Fair Scheduler used in current Linux kernels uses red–black trees. In the version 8 of Java,
-            the Collection HashMap has been modified such that instead of using a LinkedList to store identical elements with poor
-            hashcodes, a Red-Black tree is used
-        - [Aduni - Algorithms - Lecture 4 (link jumps to starting point) (video)](https://youtu.be/1W3x0f_RmUo?list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&t=3871)
-        - [Aduni - Algorithms - Lecture 5 (video)](https://www.youtube.com/watch?v=hm2GHwyKF1o&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=5)
-        - [Red-Black Tree](https://en.wikipedia.org/wiki/Red%E2%80%93black_tree)
-        - [An Introduction To Binary Search And Red Black Tree](https://www.topcoder.com/thrive/articles/An%20Introduction%20to%20Binary%20Search%20and%20Red-Black%20Trees)
-
-    - **2-3 search trees**
-        - In practice:
-            2-3 trees have faster inserts at the expense of slower searches (since height is more compared to AVL trees).
-        - You would use 2-3 tree very rarely because its implementation involves different types of nodes. Instead, people use Red Black trees.
-        - [23-Tree Intuition and Definition (video)](https://www.youtube.com/watch?v=C3SsdUqasD4&list=PLA5Lqm4uh9Bbq-E0ZnqTIa8LRaL77ica6&index=2)
-        - [Binary View of 23-Tree](https://www.youtube.com/watch?v=iYvBtGKsqSg&index=3&list=PLA5Lqm4uh9Bbq-E0ZnqTIa8LRaL77ica6)
-        - [2-3 Trees (student recitation) (video)](https://www.youtube.com/watch?v=TOb1tuEZ2X4&index=5&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp)
-
-    - **2-3-4 Trees (aka 2-4 trees)**
-        - In practice:
-            For every 2-4 tree, there are corresponding red–black trees with data elements in the same order. The insertion and deletion
-            operations on 2-4 trees are also equivalent to color-flipping and rotations in red–black trees. This makes 2-4 trees an
-            important tool for understanding the logic behind red–black trees, and this is why many introductory algorithm texts introduce
-            2-4 trees just before red–black trees, even though **2-4 trees are not often used in practice**.
-        - [CS 61B Lecture 26: Balanced Search Trees (video)](https://archive.org/details/ucberkeley_webcast_zqrqYXkth6Q)
-        - [Bottom Up 234-Trees (video)](https://www.youtube.com/watch?v=DQdMYevEyE4&index=4&list=PLA5Lqm4uh9Bbq-E0ZnqTIa8LRaL77ica6)
-        - [Top Down 234-Trees (video)](https://www.youtube.com/watch?v=2679VQ26Fp4&list=PLA5Lqm4uh9Bbq-E0ZnqTIa8LRaL77ica6&index=5)
-
-    - **N-ary (K-ary, M-ary) trees**
-        - note: the N or K is the branching factor (max branches)
-        - binary trees are a 2-ary tree, with branching factor = 2
-        - 2-3 trees are 3-ary
-        - [K-Ary Tree](https://en.wikipedia.org/wiki/K-ary_tree)
-
-    - **B-Trees**
-        - Fun fact: it's a mystery, but the B could stand for Boeing, Balanced, or Bayer (co-inventor).
-        - In Practice:
-            B-Trees are widely used in databases. Most modern filesystems use B-trees (or Variants). In addition to
-            its use in databases, the B-tree is also used in filesystems to allow quick random access to an arbitrary
-            block in a particular file. The basic problem is turning the file block i address into a disk block
-            (or perhaps to a cylinder-head-sector) address
-        - [B-Tree](https://en.wikipedia.org/wiki/B-tree)
-        - [B-Tree Datastructure](http://btechsmartclass.com/data_structures/b-trees.html)
-        - [Introduction to B-Trees (video)](https://www.youtube.com/watch?v=I22wEC1tTGo&list=PLA5Lqm4uh9Bbq-E0ZnqTIa8LRaL77ica6&index=6)
-        - [B-Tree Definition and Insertion (video)](https://www.youtube.com/watch?v=s3bCdZGrgpA&index=7&list=PLA5Lqm4uh9Bbq-E0ZnqTIa8LRaL77ica6)
-        - [B-Tree Deletion (video)](https://www.youtube.com/watch?v=svfnVhJOfMc&index=8&list=PLA5Lqm4uh9Bbq-E0ZnqTIa8LRaL77ica6)
-        - [MIT 6.851 - Memory Hierarchy Models (video)](https://www.youtube.com/watch?v=V3omVLzI0WE&index=7&list=PLUl4u3cNGP61hsJNdULdudlRL493b-XZf)
-                - covers cache-oblivious B-Trees, very interesting data structures
-                - the first 37 minutes are very technical, may be skipped (B is block size, cache line size)
-
-
-- ### k-D Trees
-    - Great for finding number of points in a rectangle or higher dimension object
-    - A good fit for k-nearest neighbors
-    - [Kd Trees (video)](https://www.youtube.com/watch?v=W94M9D_yXKk)
-    - [kNN K-d tree algorithm (video)](https://www.youtube.com/watch?v=Y4ZgLlDfKDg)
-
-- ### Skip lists
-    - "These are somewhat of a cult data structure" - Skiena
-    - [Randomization: Skip Lists (video)](https://www.youtube.com/watch?v=2g9OSRKJuzM&index=10&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp)
-    - [For animations and a little more detail](https://en.wikipedia.org/wiki/Skip_list)
-
-- ### Network Flows
-    - [Ford-Fulkerson in 5 minutes — Step by step example (video)](https://www.youtube.com/watch?v=Tl90tNtKvxs)
-    - [Ford-Fulkerson Algorithm (video)](https://www.youtube.com/watch?v=v1VgJmkEJW0)
-    - [Network Flows (video)](https://www.youtube.com/watch?v=2vhN4Ice5jI)
-
-- ### Disjoint Sets & Union Find
-    - [UCB 61B - Disjoint Sets; Sorting & selection (video)](https://archive.org/details/ucberkeley_webcast_MAEGXTwmUsI)
-    - [Sedgewick Algorithms - Union-Find (6 videos)](https://www.coursera.org/learn/algorithms-part1/home/week/1)
-
-- ### Math for Fast Processing
-    - [Integer Arithmetic, Karatsuba Multiplication (video)](https://www.youtube.com/watch?v=eCaXlAaN2uE&index=11&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb)
-    - [The Chinese Remainder Theorem (used in cryptography) (video)](https://www.youtube.com/watch?v=ru7mWZJlRQg)
-
-- ### Treap
-    - Combination of a binary search tree and a heap
-    - [Treap](https://en.wikipedia.org/wiki/Treap)
-    - [Data Structures: Treaps explained (video)](https://www.youtube.com/watch?v=6podLUYinH8)
-    - [Applications in set operations](https://www.cs.cmu.edu/~scandal/papers/treaps-spaa98.pdf)
-
-- ### Linear Programming (videos)
-    - [Linear Programming](https://www.youtube.com/watch?v=M4K6HYLHREQ)
-    - [Finding minimum cost](https://www.youtube.com/watch?v=2ACJ9ewUC6U)
-    - [Finding maximum value](https://www.youtube.com/watch?v=8AA_81xI3ik)
-    - [Solve Linear Equations with Python - Simplex Algorithm](https://www.youtube.com/watch?v=44pAWI7v5Zk)
-
-- ### Geometry, Convex hull (videos)
-    - [Graph Alg. IV: Intro to geometric algorithms - Lecture 9](https://youtu.be/XIAQRlNkJAw?list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&t=3164)
-    - [Geometric Algorithms: Graham & Jarvis - Lecture 10](https://www.youtube.com/watch?v=J5aJEcOr6Eo&index=10&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm)
-    - [Divide & Conquer: Convex Hull, Median Finding](https://www.youtube.com/watch?v=EzeYI7p9MjU&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=2)
-
-- ### Discrete math
-    - [Computer Science 70, 001 - Spring 2015 - Discrete Mathematics and Probability Theory](http://www.infocobuild.com/education/audio-video-courses/computer-science/cs70-spring2015-berkeley.html)
-    - [Discrete Mathematics by Shai Simonson (19 videos)](https://www.youtube.com/playlist?list=PLWX710qNZo_sNlSWRMVIh6kfTjolNaZ8t)
-    - [Discrete Mathematics By IIT Ropar NPTEL](https://nptel.ac.in/courses/106/106/106106183/)
-
-- ### Machine Learning
-    - Why ML?
-        - [How Google Is Remaking Itself As A Machine Learning First Company](https://backchannel.com/how-google-is-remaking-itself-as-a-machine-learning-first-company-ada63defcb70)
-        - [Large-Scale Deep Learning for Intelligent Computer Systems (video)](https://www.youtube.com/watch?v=QSaZGT4-6EY)
-        - [Deep Learning and Understandability versus Software Engineering and Verification by Peter Norvig](https://www.youtube.com/watch?v=X769cyzBNVw)
-    - [Google's Cloud Machine learning tools (video)](https://www.youtube.com/watch?v=Ja2hxBAwG_0)
-    - [Google Developers' Machine Learning Recipes (Scikit Learn & Tensorflow) (video)](https://www.youtube.com/playlist?list=PLOU2XLYxmsIIuiBfYad6rFYQU_jL2ryal)
-    - [Tensorflow (video)](https://www.youtube.com/watch?v=oZikw5k_2FM)
-    - [Tensorflow Tutorials](https://www.tensorflow.org/versions/r0.11/tutorials/index.html)
-    - [Practical Guide to implementing Neural Networks in Python (using Theano)](http://www.analyticsvidhya.com/blog/2016/04/neural-networks-python-theano/)
-    - Courses:
-        - [Great starter course: Machine Learning](https://www.coursera.org/learn/machine-learning)
-              - [videos only](https://www.youtube.com/playlist?list=PLZ9qNFMHZ-A4rycgrgOYma6zxF4BZGGPW)
-              - see videos 12-18 for a review of linear algebra (14 and 15 are duplicates)
-        - [Neural Networks for Machine Learning](https://www.coursera.org/learn/neural-networks)
-        - [Google's Deep Learning Nanodegree](https://www.udacity.com/course/deep-learning--ud730)
-        - [Google/Kaggle Machine Learning Engineer Nanodegree](https://www.udacity.com/course/machine-learning-engineer-nanodegree-by-google--nd009)
-        - [Self-Driving Car Engineer Nanodegree](https://www.udacity.com/drive)
-        - [Metis Online Course ($99 for 2 months)](http://www.thisismetis.com/explore-data-science)
-    - Resources:
-        - Books:
-            - [Python Machine Learning](https://www.amazon.com/Python-Machine-Learning-Sebastian-Raschka/dp/1783555130/)
-            - [Data Science from Scratch: First Principles with Python](https://www.amazon.com/Data-Science-Scratch-Principles-Python/dp/149190142X)
-            - [Introduction to Machine Learning with Python](https://www.amazon.com/Introduction-Machine-Learning-Python-Scientists/dp/1449369413/)
-        - [Machine Learning for Software Engineers](https://github.com/ZuzooVn/machine-learning-for-software-engineers)
-        - Data School: http://www.dataschool.io/
+### 1. Siz munıñ bärin este saqtamaysız
 
----
+Men birneşe sağat beynelerdi kördim jäne köptegen jazbalar aldım, al birneşe ay ötken soñ esimde joq köp närse boldı. Men 3 kün jürdim
+Jazbalarım arqılı jäne fleşkartalar jasaw arqılı, men qarap şığw üşin. Mağan bul bilimniñ bäri qajet emes edi.
+
+Meniñ qatelikterimdi jibermew üşin oqıñız:
+
+[Ïnformatïka bilimin saqtaw](https://startupnextdoor.com/retaining-computer-science-knowledge/).
 
-## Additional Detail on Some Subjects
-
-    I added these to reinforce some ideas already presented above, but didn't want to include them
-    above because it's just too much. It's easy to overdo it on a subject.
-    You want to get hired in this century, right?
-
-- **SOLID**   
-    - [ ] [Bob Martin SOLID Principles of Object Oriented and Agile Design (video)](https://www.youtube.com/watch?v=TMuno5RZNeE)
-    - [ ] S - [Single Responsibility Principle](http://www.oodesign.com/single-responsibility-principle.html) | [Single responsibility to each Object](http://www.javacodegeeks.com/2011/11/solid-single-responsibility-principle.html)
-        - [more flavor](https://docs.google.com/open?id=0ByOwmqah_nuGNHEtcU5OekdDMkk)
-    - [ ] O - [Open/Closed Principle](http://www.oodesign.com/open-close-principle.html)  | [On production level Objects are ready for extension but not for modification](https://en.wikipedia.org/wiki/Open/closed_principle)
-        - [more flavor](http://docs.google.com/a/cleancoder.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BwhCYaYDn8EgN2M5MTkwM2EtNWFkZC00ZTI3LWFjZTUtNTFhZGZiYmUzODc1&hl=en)
-    - [ ] L - [Liskov Substitution Principle](http://www.oodesign.com/liskov-s-substitution-principle.html) | [Base Class and Derived class follow ‘IS A’ Principle](http://stackoverflow.com/questions/56860/what-is-the-liskov-substitution-principle)
-        - [more flavor](http://docs.google.com/a/cleancoder.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BwhCYaYDn8EgNzAzZjA5ZmItNjU3NS00MzQ5LTkwYjMtMDJhNDU5ZTM0MTlh&hl=en)
-    - [ ] I - [Interface segregation principle](http://www.oodesign.com/interface-segregation-principle.html) | clients should not be forced to implement interfaces they don't use
-        - [Interface Segregation Principle in 5 minutes (video)](https://www.youtube.com/watch?v=3CtAfl7aXAQ)
-        - [more flavor](http://docs.google.com/a/cleancoder.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BwhCYaYDn8EgOTViYjJhYzMtMzYxMC00MzFjLWJjMzYtOGJiMDc5N2JkYmJi&hl=en)
-    - [ ] D -[Dependency Inversion principle](http://www.oodesign.com/dependency-inversion-principle.html) | Reduce the dependency In composition of objects.
-        - [Why Is The Dependency Inversion Principle And Why Is It Important](http://stackoverflow.com/questions/62539/what-is-the-dependency-inversion-principle-and-why-is-it-important)
-        - [more flavor](http://docs.google.com/a/cleancoder.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BwhCYaYDn8EgMjdlMWIzNGUtZTQ0NC00ZjQ5LTkwYzQtZjRhMDRlNTQ3ZGMz&hl=en)
+### 2. Flashcards paydalanıñız
 
+Mäseleni şeşw üşin men şağın fléşkartalar saytın jasadım, onda men 2 türdegi fléşkartalardı qosa alamın: jalpı jäne kod.
+Är kartanıñ pişimi ärtürli. Men qay jerde bolsam da, telefonda nemese planşette qarap şığw üşin mobïldi veb-sayt jasadım.
 
-- **Union-Find**
-    - [Overview](https://www.coursera.org/learn/data-structures/lecture/JssSY/overview)
-    - [Naive Implementation](https://www.coursera.org/learn/data-structures/lecture/EM5D0/naive-implementations)
-    - [Trees](https://www.coursera.org/learn/data-structures/lecture/Mxu0w/trees)
-    - [Union By Rank](https://www.coursera.org/learn/data-structures/lecture/qb4c2/union-by-rank)
-    - [Path Compression](https://www.coursera.org/learn/data-structures/lecture/Q9CVI/path-compression)
-    - [Analysis Options](https://www.coursera.org/learn/data-structures/lecture/GQQLN/analysis-optional)
+Öziñizdi tegin jasañız:
 
-- **More Dynamic Programming** (videos)
-    - [6.006: Dynamic Programming I: Fibonacci, Shortest Paths](https://www.youtube.com/watch?v=OQ5jsbhAv_M&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=19)
-    - [6.006: Dynamic Programming II: Text Justification, Blackjack](https://www.youtube.com/watch?v=ENyox7kNKeY&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=20)
-    - [6.006: DP III: Parenthesization, Edit Distance, Knapsack](https://www.youtube.com/watch?v=ocZMDMZwhCY&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=21)
-    - [6.006: DP IV: Guitar Fingering, Tetris, Super Mario Bros.](https://www.youtube.com/watch?v=tp4_UXaVyx8&index=22&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb)
-    - [6.046: Dynamic Programming & Advanced DP](https://www.youtube.com/watch?v=Tw1k46ywN6E&index=14&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp)
-    - [6.046: Dynamic Programming: All-Pairs Shortest Paths](https://www.youtube.com/watch?v=NzgFUwOaoIw&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=15)
-    - [6.046: Dynamic Programming (student recitation)](https://www.youtube.com/watch?v=krZI60lKPek&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=12)
+- [Flashcards saytınıñ reposı](https://github.com/jwasham/computer-science-flash-cards)
 
-- **Advanced Graph Processing** (videos)
-    - [Synchronous Distributed Algorithms: Symmetry-Breaking. Shortest-Paths Spanning Trees](https://www.youtube.com/watch?v=mUBmcbbJNf4&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=27)
-    - [Asynchronous Distributed Algorithms: Shortest-Paths Spanning Trees](https://www.youtube.com/watch?v=kQ-UQAzcnzA&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=28)
+**Fleşkartalarımdı paydalanwdı usınbaymın.** Olardıñ sanı tım köp jäne olardıñ köpşiligi sizge qajet emes usaq-tüyekter.
 
-- MIT **Probability** (mathy, and go slowly, which is good for mathy things) (videos):
-    - [MIT 6.042J - Probability Introduction](https://www.youtube.com/watch?v=SmFwFdESMHI&index=18&list=PLB7540DEDD482705B)
-    - [MIT 6.042J - Conditional Probability](https://www.youtube.com/watch?v=E6FbvM-FGZ8&index=19&list=PLB7540DEDD482705B)
-    - [MIT 6.042J - Independence](https://www.youtube.com/watch?v=l1BCv3qqW4A&index=20&list=PLB7540DEDD482705B)
-    - [MIT 6.042J - Random Variables](https://www.youtube.com/watch?v=MOfhhFaQdjw&list=PLB7540DEDD482705B&index=21)
-    - [MIT 6.042J - Expectation I](https://www.youtube.com/watch?v=gGlMSe7uEkA&index=22&list=PLB7540DEDD482705B)
-    - [MIT 6.042J - Expectation II](https://www.youtube.com/watch?v=oI9fMUqgfxY&index=23&list=PLB7540DEDD482705B)
-    - [MIT 6.042J - Large Deviations](https://www.youtube.com/watch?v=q4mwO2qS2z4&index=24&list=PLB7540DEDD482705B)
-    - [MIT 6.042J - Random Walks](https://www.youtube.com/watch?v=56iFMY8QW2k&list=PLB7540DEDD482705B&index=25)
+Biraq meni tıñdağıñ kelmese, mınanı aytasıñ:
+- [Meniñ fléş kartalarımnıñ derekqorım (1200 karta)](https://github.com/jwasham/computer-science-flash-cards/blob/main/cards-jwasham.db):
+- [Meniñ fléş kartalarımnıñ derekqorım (ékstremaldı - 1800 karta)](https://github.com/jwasham/computer-science-flash-cards/blob/main/cards-jwasham-extreme.db):
 
-- [Simonson: Approximation Algorithms (video)](https://www.youtube.com/watch?v=oDniZCmNmNw&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=19)
+Есіңізде болсын, мен шектен шығып кеттім және ассемблер тілі мен Python тривиасынан бастап машиналық оқыту мен статистикаға дейін барлығын қамтитын карталарым бар.
+Бұл талап етілетін нәрсе үшін тым көп.
 
-- **String Matching**
-    - Rabin-Karp (videos):
-        - [Rabin Karps Algorithm](https://www.coursera.org/learn/data-structures/lecture/c0Qkw/rabin-karps-algorithm)
-        - [Precomputing](https://www.coursera.org/learn/data-structures/lecture/nYrc8/optimization-precomputation)
-        - [Optimization: Implementation and Analysis](https://www.coursera.org/learn/data-structures/lecture/h4ZLc/optimization-implementation-and-analysis)
-        - [Table Doubling, Karp-Rabin](https://www.youtube.com/watch?v=BRO7mVIFt08&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=9)
-        - [Rolling Hashes, Amortized Analysis](https://www.youtube.com/watch?v=w6nuXg0BISo&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=32)
-    - Knuth-Morris-Pratt (KMP):
-        - [TThe Knuth-Morris-Pratt (KMP) String Matching Algorithm](https://www.youtube.com/watch?v=5i7oKodCRJo)
-    - Boyer–Moore string search algorithm
-        - [Boyer-Moore String Search Algorithm](https://en.wikipedia.org/wiki/Boyer%E2%80%93Moore_string_search_algorithm)
-        - [Advanced String Searching Boyer-Moore-Horspool Algorithms (video)](https://www.youtube.com/watch?v=QDZpzctPf10)
-    - [Coursera: Algorithms on Strings](https://www.coursera.org/learn/algorithms-on-strings/home/week/1)
-        - starts off great, but by the time it gets past KMP it gets more complicated than it needs to be
-        - nice explanation of tries
-        - can be skipped
+**Флешкарталар туралы ескертпе:** Жауапты білетіндігіңізді бірінші рет танысаңыз, оны белгілі деп белгілемеңіз. Сіз көруіңіз керек
+сол картаны және оны шынымен білмей тұрып, оған бірнеше рет дұрыс жауап беріңіз. Қайталау бұл білімді тереңдетеді
+сіздің миыңыз.
 
-- **Sorting**
+Менің флэшкарта сайтымды пайдаланудың баламасы [Anki](http://ankisrs.net/), ол маған бірнеше рет ұсынылды.
+Ол есте сақтауға көмектесу үшін қайталау жүйесін пайдаланады. Бұл пайдаланушыға ыңғайлы, барлық платформаларда қол жетімді және бұлтты синхрондау жүйесі бар.
+Оның құны iOS жүйесінде $25, бірақ басқа платформаларда тегін.
 
-    - Stanford lectures on sorting:
-        - [Lecture 15 | Programming Abstractions (video)](https://www.youtube.com/watch?v=ENp00xylP7c&index=15&list=PLFE6E58F856038C69)
-        - [Lecture 16 | Programming Abstractions (video)](https://www.youtube.com/watch?v=y4M9IVgrVKo&index=16&list=PLFE6E58F856038C69)
-    - Shai Simonson, [Aduni.org](http://www.aduni.org/):
-        - [Algorithms - Sorting - Lecture 2 (video)](https://www.youtube.com/watch?v=odNJmw5TOEE&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=2)
-        - [Algorithms - Sorting II - Lecture 3 (video)](https://www.youtube.com/watch?v=hj8YKFTFKEE&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=3)
-    - Steven Skiena lectures on sorting:
-        - [lecture begins at 26:46 (video)](https://youtu.be/ute-pmMkyuk?list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b&t=1600)
-        - [lecture begins at 27:40 (video)](https://www.youtube.com/watch?v=yLvp-pB8mak&index=8&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b)
-        - [lecture begins at 35:00 (video)](https://www.youtube.com/watch?v=q7K9otnzlfE&index=9&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b)
-        - [lecture begins at 23:50 (video)](https://www.youtube.com/watch?v=TvqIGu9Iupw&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b&index=10)
+Anki пішіміндегі флэшкарта дерекқорым: https://ankiweb.net/shared/info/25173560 (рахмет [@xiewenya](https://github.com/xiewenya)).
 
-## Video Series
+Кейбір студенттер бос орынмен пішімдеу мәселелерін атап өтті, оларды келесі әрекеттерді орындау арқылы шешуге болады: палубаны ашу, картаны өңдеу, карталарды басу, «стильдеу» радио түймешігін таңдау, «ақ кеңістік: pre;» мүшесін қосу. карта класына.
 
-Sit back and enjoy.
+### 3. Оқу барысында сұхбат сұрақтарын кодтаңыз
 
-- [List of individual Dynamic Programming problems (each is short)](https://www.youtube.com/playlist?list=PLrmLmBdmIlpsHaNTPP_jHHDx_os9ItYXr)
+БҰЛ ӨТЕ МАҢЫЗДЫ.
 
-- [x86 Architecture, Assembly, Applications (11 videos)](https://www.youtube.com/playlist?list=PL038BE01D3BAEFDB0)
+Деректер құрылымдары мен алгоритмдерін үйрену кезінде сұхбат сұрақтарын кодтауды бастаңыз.
 
-- [MIT 18.06 Linear Algebra, Spring 2005 (35 videos)](https://www.youtube.com/playlist?list=PLE7DDD91010BC51F8)
+Сіз үйреніп жатқан нәрсені мәселелерді шешуге қолдануыңыз керек, әйтпесе ұмытып кетесіз. Мен бұл қателік жасадым.
 
-- [Excellent - MIT Calculus Revisited: Single Variable Calculus](https://www.youtube.com/playlist?list=PL3B08AE665AB9002A)
+Тақырыпты біліп болғаннан кейін және онымен өзіңізді біршама ыңғайлы сезінесіз, мысалы, **байланысты тізімдер**:
+1. [кодтау сұхбат кітаптарының] (#interview-prep-books) бірін ашыңыз (немесе төменде берілген кодтау мәселесіне арналған веб-сайттар)
+1. Байланыстырылған тізімдерге қатысты 2 немесе 3 сұрақ қойыңыз.
+1. Келесі оқу тақырыбына көшу.
+1. Кейінірек кері оралып, басқа 2 немесе 3 байланыстырылған тізім мәселесін орындаңыз.
+1. Мұны әрбір жаңа тақырыпты үйренген сайын орындаңыз.
 
-- CSE373 - Analysis of Algorithms (25 videos)
-    - [Skiena lectures from Algorithm Design Manual](https://www.youtube.com/watch?v=ZFjhkohHdAA&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b&index=1)
+**Мәселелерді кейін емес, осының бәрін үйреніп жатқанда жасай беріңіз.**
 
-- [UC Berkeley 61B (Spring 2014): Data Structures (25 videos)](https://archive.org/details/ucberkeley-webcast-PL-XXv-cvA_iAlnI-BQr9hjqADPBtujFJd)
+Сіз білім үшін емес, білімді қалай қолданасыз.
 
-- [UC Berkeley 61B (Fall 2006): Data Structures (39 videos)](https://archive.org/details/ucberkeley-webcast-PL4BBB74C7D2A1049C)
+Бұл үшін төменде келтірілген көптеген ресурстар бар. Жалғастыру.
 
-- [UC Berkeley 61C: Machine Structures (26 videos)](https://archive.org/details/ucberkeley-webcast-PL-XXv-cvA_iCl2-D-FS5mk0jFF6cYSJs_)
+### 4. Фокус
 
-- [OOSE: Software Dev Using UML and Java (21 videos)](https://www.youtube.com/playlist?list=PLJ9pm_Rc9HesnkwKlal_buSIHA-jTZMpO)
+Қымбат уақытты алатын көптеген алаңдаушылықтар бар. Фокус пен шоғырлану қиын. Музыканы қосыңыз
+мәтінсіз және сіз өте жақсы назар аудара аласыз.
 
-- ~~[UC Berkeley CS 152: Computer Architecture and Engineering (20 videos)](https://www.youtube.com/watch?v=UH0QYvtP7Rk&index=20&list=PLkFD6_40KJIwEiwQx1dACXwh-2Fuo32qr)~~
+## Нені көрмейсіз
 
-- [MIT 6.004: Computation Structures (49 videos)](https://www.youtube.com/playlist?list=PLDSlqjcPpoL64CJdF0Qee5oWqGS6we_Yu)
+Бұл кең таралған технологиялар, бірақ осы зерттеу жоспарының бөлігі емес:
 
-- [Carnegie Mellon - Computer Architecture Lectures (39 videos)](https://www.youtube.com/playlist?list=PL5PHm2jkkXmi5CxxI7b3JCL1TWybTDtKq)
+- SQL
+- Javascript
+- HTML, CSS және басқа интерфейстік технологиялар
 
-- [MIT 6.006: Intro to Algorithms (47 videos)](https://www.youtube.com/watch?v=HtSuA80QTyo&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&nohtml5=False)
+## Күнделікті жоспар
 
-- [MIT 6.033: Computer System Engineering (22 videos)](https://www.youtube.com/watch?v=zm2VP0kHl1M&list=PL6535748F59DCA484)
+Бұл курс көптеген тақырыптарды қамтиды. Олардың әрқайсысы сізге бірнеше күн немесе тіпті бір апта немесе одан да көп уақытты алады. Бұл сіздің кестеңізге байланысты.
 
-- [MIT 6.034 Artificial Intelligence, Fall 2010 (30 videos)](https://www.youtube.com/playlist?list=PLUl4u3cNGP63gFHB6xb-kVBiQHYe_4hSi)
+Күн сайын тізімдегі келесі тақырыпты алыңыз, сол тақырып бойынша бірнеше бейнелерді қараңыз, содан кейін іске асыруды жазыңыз
+осы курс үшін таңдаған тілдегі деректер құрылымы немесе алгоритм.
+Esiñizde bolsın, men şekten şığıp kettim jäne assembler tili men Python trïvïasınan bastap maşïnalıq oqıtw men statïstïkağa deyin barlığın qamtïtın kartalarım bar.
+Bul talap etiletin närse üşin tım köp.
 
-- [MIT 6.042J: Mathematics for Computer Science, Fall 2010 (25 videos)](https://www.youtube.com/watch?v=L3LMbpZIKhQ&list=PLB7540DEDD482705B)
+**Fleşkartalar twralı eskertpe:** Jawaptı biletindigiñizdi birinşi ret tanısañız, onı belgili dep belgilemeñiz. Siz körwiñiz kerek
+sol kartanı jäne onı şınımen bilmey turıp, oğan birneşe ret durıs jawap beriñiz. Qaytalaw bul bilimdi tereñdetedi
+sizdiñ mïıñız.
 
-- [MIT 6.046: Design and Analysis of Algorithms (34 videos)](https://www.youtube.com/watch?v=2P-yW7LQr08&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp)
+Meniñ fléşkarta saytımdı paydalanwdıñ balaması [Anki](http://ankisrs.net/), ol mağan birneşe ret usınıldı.
+Ol este saqtawğa kömektesw üşin qaytalaw jüyesin paydalanadı. Bul paydalanwşığa ıñğaylı, barlıq platformalarda qol jetimdi jäne bulttı sïnxrondaw jüyesi bar.
+Onıñ qunı iOS jüyesinde $25, biraq basqa platformalarda tegin.
 
-- [MIT 6.050J: Information and Entropy, Spring 2008 (19 videos)](https://www.youtube.com/watch?v=phxsQrZQupo&list=PL_2Bwul6T-A7OldmhGODImZL8KEVE38X7)
+Anki pişimindegi fléşkarta derekqorım: https://ankiweb.net/shared/info/25173560 (raxmet [@xiewenya](https://github.com/xiewenya)).
 
-- [MIT 6.824: Distributed Systems, Spring 2020 (20 videos)](https://www.youtube.com/watch?v=cQP8WApzIQQ&list=PLrw6a1wE39_tb2fErI4-WkMbsvGQk9_UB)
+Keybir stwdentter bos orınmen pişimdew mäselelerin atap ötti, olardı kelesi äreketterdi orındaw arqılı şeşwge boladı: palwbanı aşw, kartanı öñdew, kartalardı basw, «stïldew» radïo tüymeşigin tañdaw, «aq keñistik: pre;» müşesin qosw. karta klasına.
 
-- [MIT 6.851: Advanced Data Structures (22 videos)](https://www.youtube.com/watch?v=T0yzrZL1py0&list=PLUl4u3cNGP61hsJNdULdudlRL493b-XZf&index=1)
+### 3. Oqw barısında suxbat suraqtarın kodtañız
 
-- [MIT 6.854: Advanced Algorithms, Spring 2016 (24 videos)](https://www.youtube.com/playlist?list=PL6ogFv-ieghdoGKGg2Bik3Gl1glBTEu8c)
+BUL ÖTE MAÑIZDI.
 
-- [Harvard COMPSCI 224: Advanced Algorithms (25 videos)](https://www.youtube.com/playlist?list=PL2SOU6wwxB0uP4rJgf5ayhHWgw7akUWSf)
+Derekter qurılımdarı men algorïtmderin üyrenw kezinde suxbat suraqtarın kodtawdı bastañız.
 
-- [MIT 6.858 Computer Systems Security, Fall 2014](https://www.youtube.com/watch?v=GqmQg-cszw4&index=1&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh)
+Siz üyrenip jatqan närseni mäselelerdi şeşwge qoldanwıñız kerek, äytpese umıtıp ketesiz. Men bul qatelik jasadım.
 
-- [Stanford: Programming Paradigms (27 videos)](https://www.youtube.com/playlist?list=PL9D558D49CA734A02)
+Taqırıptı bilip bolğannan keyin jäne onımen öziñizdi birşama ıñğaylı sezinesiz, mısalı, **baylanıstı tizimder**:
+1. [kodtaw suxbat kitaptarınıñ] (#interview-prep-books) birin aşıñız (nemese tömende berilgen kodtaw mäselesine arnalğan veb-sayttar)
+1. Baylanıstırılğan tizimderge qatıstı 2 nemese 3 suraq qoyıñız.
+1. Kelesi oqw taqırıbına köşw.
+1. Keyinirek keri oralıp, basqa 2 nemese 3 baylanıstırılğan tizim mäselesin orındañız.
+1. Munı ärbir jaña taqırıptı üyrengen sayın orındañız.
 
-- [Introduction to Cryptography by Christof Paar](https://www.youtube.com/playlist?list=PL6N5qY2nvvJE8X75VkXglSrVhLv1tVcfy)
-    - [Course Website along with Slides and Problem Sets](http://www.crypto-textbook.com/)
+**Mäselelerdi keyin emes, osınıñ bärin üyrenip jatqanda jasay beriñiz.**
 
-- [Mining Massive Datasets - Stanford University (94 videos)](https://www.youtube.com/playlist?list=PLLssT5z_DsK9JDLcT8T62VtzwyW9LNepV)
+Siz bilim üşin emes, bilimdi qalay qoldanasız.
 
-- [Graph Theory by Sarada Herke (67 videos)](https://www.youtube.com/user/DrSaradaHerke/playlists?shelf_id=5&view=50&sort=dd)
+Bul üşin tömende keltirilgen köptegen reswrstar bar. Jalğastırw.
 
-## Computer Science Courses
+### 4. Fokws
 
-- [Directory of Online CS Courses](https://github.com/open-source-society/computer-science)
-- [Directory of CS Courses (many with online lectures)](https://github.com/prakhar1989/awesome-courses)
+Qımbat waqıttı alatın köptegen alañdawşılıqtar bar. Fokws pen şoğırlanw qïın. Mwzıkanı qosıñız
+mätinsiz jäne siz öte jaqsı nazar awdara alasız.
 
-## Algorithms implementation
+## Neni körmeysiz
 
-- [Multiple Algorithms implementation by Princeton University](https://algs4.cs.princeton.edu/code)
+Bul keñ taralğan texnologïyalar, biraq osı zerttew josparınıñ böligi emes:
 
+- SQL
+- Javascript
+- HTML, CSS jäne basqa ïnterfeystik texnologïyalar
+
+## Kündelikti jospar
+
+Bul kwrs köptegen taqırıptardı qamtïdı. Olardıñ ärqaysısı sizge birneşe kün nemese tipti bir apta nemese odan da köp waqıttı aladı. Bul sizdiñ kesteñizge baylanıstı.
+
+Kün sayın tizimdegi kelesi taqırıptı alıñız, sol taqırıp boyınşa birneşe beynelerdi qarañız, sodan keyin iske asırwdı jazıñız
+osı kwrs üşin tañdağan tildegi derekter qurılımı nemese algorïtm.
+
+- ### Хэш кестесі
+    - [ ] Бейнелер:
+        - [ ] [Тізбекпен хэштеу (бейне)](https://www.youtube.com/watch?v=0M_kIqhwbFo&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=8)
+        - [ ] [Кестені еселеу, Карп-Рабин (бейне)](https://www.youtube.com/watch?v=BRO7mVIFt08&index=9&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb)
+        - [ ] [Ашық адрестеу, криптографиялық хэштеу (бейне)](https://www.youtube.com/watch?v=rvdJDijO2Ro&index=10&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb)
+        - [ ] [PyCon 2010: Құдіретті сөздік (бейне)](https://www.youtube.com/watch?v=C4Kc8xzcA68)
+        - [ ] [PyCon 2017: The Dictionary Even Mightier (бейне)](https://www.youtube.com/watch?v=66P5FMkWoVU)
+        - [ ] [(Жетілдірілген) рандомизация: әмбебап және тамаша хэштеу (бейне)](https://www.youtube.com/watch?v=z0lJ2k0sl1g&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=11)
+        - [ ] [(Жетілдірілген) Керемет хэштеу (бейне)](https://www.youtube.com/watch?v=N0COwN14gt0&list=PL2B4EEwhKD-NbwZ4ezj7gyc_3yNrojKM9&index=4)
+
+    - [ ] Онлайн курстар:
+        - [ ] [Негізгі хэш кестелері (бейне)](https://www.coursera.org/lecture/data-structures-optimizing-performance/core-hash-tables-m7UuP)
+        - [ ] [Дерек құрылымдары (бейне)](https://www.coursera.org/learn/data-structures/home/week/4)
+        - [ ] [Телефон кітапшасының мәселесі (бейне)](https://www.coursera.org/lecture/data-structures/phone-book-problem-NYZZP)
+        - [ ] таратылған хэш кестелері:
+            - [Dropbox жүйесінде жылдам жүктеп салулар және жадты оңтайландыру (бейне)](https://www.coursera.org/lecture/data-structures/instant-uploads-and-storage-optimization-in-dropbox-DvaIb)
+            - [Таратылған хэш кестелері (бейне)](https://www.coursera.org/lecture/data-structures/distributed-hash-tables-tvH8H)
+
+    - [ ] Сызықтық зондтау арқылы массивпен орындаңыз
+        - хэш(k, m) - m хэш кестесінің өлшемі
+        - қосу(кілт, мән) - кілт бұрыннан бар болса, мәнді жаңартыңыз
+        - бар (кілт)
+        - алу (кілт)
+        - жою (кілт)
+- ### Xéş kestesi
+ - [ ] Beyneler:
+ - [ ] [Tizbekpen xéştew (beyne)](https://www.youtube.com/watch?v=0M_kIqhwbFo&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=8)
+ - [ ] [Kesteni eselew, Karp-Rabïn (beyne)](https://www.youtube.com/watch?v=BRO7mVIFt08&index=9&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb)
+ - [ ] [Aşıq adrestew, krïptografïyalıq xéştew (beyne)](https://www.youtube.com/watch?v=rvdJDijO2Ro&index=10&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb)
+ - [ ] [PyCon 2010: Qudiretti sözdik (beyne)](https://www.youtube.com/watch?v=C4Kc8xzcA68)
+ - [ ] [PyCon 2017: The Dictionary Even Mightier (beyne)](https://www.youtube.com/watch?v=66P5FMkWoVU)
+ - [ ] [(Jetildirilgen) randomïzacïya: ämbebap jäne tamaşa xéştew (beyne)](https://www.youtube.com/watch?v=z0lJ2k0sl1g&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=11)
+ - [ ] [(Jetildirilgen) Keremet xéştew (beyne)](https://www.youtube.com/watch?v=N0COwN14gt0&list=PL2B4EEwhKD-NbwZ4ezj7gyc_3yNrojKM9&index=4)
+
+ - [ ] Onlayn kwrstar:
+ - [ ] [Negizgi xéş kesteleri (beyne)](https://www.coursera.org/lecture/data-structures-optimizing-performance/core-hash-tables-m7UuP)
+ - [ ] [Derek qurılımdarı (beyne)](https://www.coursera.org/learn/data-structures/home/week/4)
+ - [ ] [Telefon kitapşasınıñ mäselesi (beyne)](https://www.coursera.org/lecture/data-structures/phone-book-problem-NYZZP)
+ - [ ] taratılğan xéş kesteleri:
+ - [Dropbox jüyesinde jıldam jüktep salwlar jäne jadtı oñtaylandırw (beyne)](https://www.coursera.org/lecture/data-structures/instant-uploads-and-storage-optimization-in-dropbox-DvaIb)
+ - [Taratılğan xéş kesteleri (beyne)](https://www.coursera.org/lecture/data-structures/distributed-hash-tables-tvH8H)
+
+ - [ ] Sızıqtıq zondtaw arqılı massïvpen orındañız
+ - xéş(k, m) - m xéş kestesiniñ ölşemi
+ - qosw(kilt, män) - kilt burınnan bar bolsa, mändi jañartıñız
+ - bar (kilt)
+ - alw (kilt)
+ - joyu (kilt)
+
+- ### Хабар алмасу, сериялау және кезекке қою жүйелері
+    - [Үнемдеу](https://thrift.apache.org/)
+        - [Оқулық](http://thrift-tutorial.readthedocs.io/en/latest/intro.html)
+    - [Протокол буферлері](https://developers.google.com/protocol-buffers/)
+        - [Оқулықтар](https://developers.google.com/protocol-buffers/docs/tutorials)
+    - [gRPC](http://www.grpc.io/)
+        - [Java әзірлеушілеріне арналған gRPC 101 (бейне)](https://www.youtube.com/watch?v=5tmPvSe7xXQ&list=PLcTqM9n_dieN0k1nSeN36Z_ppKnvMJoly&index=1)
+    - [Redis](http://redis.io/)
+        - [Оқулық](http://try.redis.io/)
+    - [Amazon SQS (кезек)](https://aws.amazon.com/sqs/)
+    - [Amazon SNS (pub-sub)](https://aws.amazon.com/sns/)
+    - [RabbitMQ](https://www.rabbitmq.com/)
+        - [Бастау](https://www.rabbitmq.com/getstarted.html)
+    - [Сельдерей](http://www.celeryproject.org/)
+        - [Сельдереймен алғашқы қадамдар](http://docs.celeryproject.org/en/latest/getting-started/first-steps-with-cellery.html)
+    - [ZeroMQ](http://zeromq.org/)
+        - [Кіріспе - Нұсқаулықты оқу](http://zeromq.org/intro:read-the-manual)
+    - [ActiveMQ](http://activemq.apache.org/)
+    - [Кафка](http://kafka.apache.org/documentation.html#introduction)
+    - [MessagePack](http://msgpack.org/index.html)
+    - [Avro](https://avro.apache.org/)
 
-## Papers
+- ### A*
+    - [Іздеу алгоритмі](https://en.wikipedia.org/wiki/A*_search_algorithm)
+    - [A* Жолды табу (E01: алгоритмді түсіндіру) (бейне)](https://www.youtube.com/watch?v=-L-WgKMFuhE)
+
+- ### Жылдам Фурье түрлендіруі
+    - [Фурье түрлендіруіне арналған интерактивті нұсқаулық](https://betterexplained.com/articles/an-interactive-guide-to-the-fourier-transform/)
+    - [Фурье түрлендіруі дегеніміз не? Ол не үшін қолданылады?](http://www.askamathematician.com/2012/09/q-what-is-a-fourier-transform-what-is-it-used-for/)
+    - [Фурье түрлендіруі дегеніміз не? (бейне)](https://www.youtube.com/watch?v=Xxut2PN-V8Q)
+    - [Бөліңіз және жеңіңіз: FFT (бейне)](https://www.youtube.com/watch?v=iTMn0Kt18tg&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=4)
+    - [ФФТ-ны түсіну](http://jakevdp.github.io/blog/2013/08/28/understanding-the-fft/)
+
+- ### Блум сүзгісі
+    - m бит және k хэштеу функциялары бар Блум сүзгісін ескере отырып, кірістіру және мүшелік сынағы O(k) болып табылады.
+    - [Блум сүзгілері (бейне)](https://www.youtube.com/watch?v=-SuTGoFYjZs)
+    - [Блум сүзгілері | Жаппай деректер жиынын өндіру | Стэнфорд университеті (бейне)](https://www.youtube.com/watch?v=qBTdukbzc78)
+    - [Оқулық](http://billmill.org/bloomfilter-tutorial/)
+    - [Блум сүзгісі қолданбасын қалай жазуға болады](http://blog.michaelschmatz.com/2016/04/11/how-to-write-a-bloom-filter-cpp/)
+- ### Xabar almasw, serïyalaw jäne kezekke qoyu jüyeleri
+ - [Ünemdew](https://thrift.apache.org/)
+ - [Oqwlıq](http://thrift-tutorial.readthedocs.io/en/latest/intro.html)
+ - [Protokol bwferleri](https://developers.google.com/protocol-buffers/)
+ - [Oqwlıqtar](https://developers.google.com/protocol-buffers/docs/tutorials)
+ - [gRPC](http://www.grpc.io/)
+ - [Java äzirlewşilerine arnalğan gRPC 101 (beyne)](https://www.youtube.com/watch?v=5tmPvSe7xXQ&list=PLcTqM9n_dieN0k1nSeN36Z_ppKnvMJoly&index=1)
+ - [Redis](http://redis.io/)
+ - [Oqwlıq](http://try.redis.io/)
+ - [Amazon SQS (kezek)](https://aws.amazon.com/sqs/)
+ - [Amazon SNS (pub-sub)](https://aws.amazon.com/sns/)
+ - [RabbitMQ](https://www.rabbitmq.com/)
+ - [Bastaw](https://www.rabbitmq.com/getstarted.html)
+ - [Selderey](http://www.celeryproject.org/)
+ - [Seldereymen alğaşqı qadamdar](http://docs.celeryproject.org/en/latest/getting-started/first-steps-with-cellery.html)
+ - [ZeroMQ](http://zeromq.org/)
+ - [Kirispe - Nusqawlıqtı oqw](http://zeromq.org/intro:read-the-manual)
+ - [ActiveMQ](http://activemq.apache.org/)
+ - [Kafka](http://kafka.apache.org/documentation.html#introduction)
+ - [MessagePack](http://msgpack.org/index.html)
+ - [Avro](https://avro.apache.org/)
 
-- [Love classic papers?](https://www.cs.cmu.edu/~crary/819-f09/)
-- [1978: Communicating Sequential Processes](http://spinroot.com/courses/summer/Papers/hoare_1978.pdf)
-    - [implemented in Go](https://godoc.org/github.com/thomas11/csp)
-- [2003: The Google File System](http://static.googleusercontent.com/media/research.google.com/en//archive/gfs-sosp2003.pdf)
-    - replaced by Colossus in 2012
-- [2004: MapReduce: Simplified Data Processing on Large Clusters]( http://static.googleusercontent.com/media/research.google.com/en//archive/mapreduce-osdi04.pdf)
-    - mostly replaced by Cloud Dataflow?
-- [2006: Bigtable: A Distributed Storage System for Structured Data](https://static.googleusercontent.com/media/research.google.com/en//archive/bigtable-osdi06.pdf)
-- [2006: The Chubby Lock Service for Loosely-Coupled Distributed Systems](https://research.google.com/archive/chubby-osdi06.pdf)
-- [2007: Dynamo: Amazon’s Highly Available Key-value Store](http://s3.amazonaws.com/AllThingsDistributed/sosp/amazon-dynamo-sosp2007.pdf)
-    - The Dynamo paper kicked off the NoSQL revolution
-- [2007: What Every Programmer Should Know About Memory (very long, and the author encourages skipping of some sections)](https://www.akkadia.org/drepper/cpumemory.pdf)
-- 2012: AddressSanitizer: A Fast Address Sanity Checker:
-    - [paper](http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/37752.pdf)
-    - [video](https://www.usenix.org/conference/atc12/technical-sessions/presentation/serebryany)
-- 2013: Spanner: Google’s Globally-Distributed Database:
-    - [paper](http://static.googleusercontent.com/media/research.google.com/en//archive/spanner-osdi2012.pdf)
-    - [video](https://www.usenix.org/node/170855)
-- [2014: Machine Learning: The High-Interest Credit Card of Technical Debt](http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/43146.pdf)
-- [2015: Continuous Pipelines at Google](http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/43790.pdf)
-- [2015: High-Availability at Massive Scale: Building Google’s Data Infrastructure for Ads](https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/44686.pdf)
-- [2015: TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems](http://download.tensorflow.org/paper/whitepaper2015.pdf )
-- [2015: How Developers Search for Code: A Case Study](http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/43835.pdf)
-- More papers: [1,000 papers](https://github.com/0voice/computer_expert_paper)
+- ### A*
+ - [Izdew algorïtmi](https://en.wikipedia.org/wiki/A*_search_algorithm)
+ - [A* Joldı tabw (E01: algorïtmdi tüsindirw) (beyne)](https://www.youtube.com/watch?v=-L-WgKMFuhE)
+
+- ### Jıldam Fwre türlendirwi
+ - [Fwre türlendirwine arnalğan ïnteraktïvti nusqawlıq](https://betterexplained.com/articles/an-interactive-guide-to-the-fourier-transform/)
+ - [Fwre türlendirwi degenimiz ne? Ol ne üşin qoldanıladı?](http://www.askamathematician.com/2012/09/q-what-is-a-fourier-transform-what-is-it-used-for/)
+ - [Fwre türlendirwi degenimiz ne? (beyne)](https://www.youtube.com/watch?v=Xxut2PN-V8Q)
+ - [Böliñiz jäne jeñiñiz: FFT (beyne)](https://www.youtube.com/watch?v=iTMn0Kt18tg&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=4)
+ - [FFT-nı tüsinw](http://jakevdp.github.io/blog/2013/08/28/understanding-the-fft/)
+
+- ### Blwm süzgisi
+ - m bït jäne k xéştew fwnkcïyaları bar Blwm süzgisin eskere otırıp, kiristirw jäne müşelik sınağı O(k) bolıp tabıladı.
+ - [Blwm süzgileri (beyne)](https://www.youtube.com/watch?v=-SuTGoFYjZs)
+ - [Blwm süzgileri | Jappay derekter jïının öndirw | Sténford wnïversïteti (beyne)](https://www.youtube.com/watch?v=qBTdukbzc78)
+ - [Oqwlıq](http://billmill.org/bloomfilter-tutorial/)
+ - [Blwm süzgisi qoldanbasın qalay jazwğa boladı](http://blog.michaelschmatz.com/2016/04/11/how-to-write-a-bloom-filter-cpp/)
+
+- [Сарада Херкенің графикалық теориясы (67 бейне)](https://www.youtube.com/user/DrSaradaHerke/playlists?shelf_id=5&view=50&sort=dd)
+
+## Информатика курстары
+
+- [Онлайн CS курстары каталогы](https://github.com/open-source-society/computer-science)
+- [CS курстарының каталогы (көптеген онлайн дәрістер бар)](https://github.com/prakhar1989/awesome-courses)
+
+## Алгоритмдерді енгізу
+
+- [Принстон университетінің бірнеше алгоритмдерді енгізуі](https://algs4.cs.princeton.edu/code)
+
+
+## Қағаздар
+
+- [Классикалық қағаздарды ұнатасыз ба?](https://www.cs.cmu.edu/~crary/819-f09/)
+- [1978: Тізбекті процестермен байланысу](http://spinroot.com/courses/summer/Papers/hoare_1978.pdf)
+    - [Go жүйесінде жүзеге асырылды](https://godoc.org/github.com/thomas11/csp)
+- [2003: Google файлдық жүйесі](http://static.googleusercontent.com/media/research.google.com/en//archive/gfs-sosp2003.pdf)
+    - 2012 жылы Колосспен ауыстырылды
+- [2004: MapReduce: Үлкен кластерлерде оңайлатылған деректерді өңдеу]( http://static.googleusercontent.com/media/research.google.com/en//archive/mapreduce-osdi04.pdf)
+    - негізінен Cloud Dataflow ауыстырылды ма?
+- [2006: Bigtable: құрылымдық деректерге арналған таратылған сақтау жүйесі](https://static.googleusercontent.com/media/research.google.com/en//archive/bigtable-osdi06.pdf)
+- [2006: Біріктірілген таратылған жүйелерге арналған Chubby Lock қызметі](https://research.google.com/archive/chubby-osdi06.pdf)
+- [2007: Динамо: Amazon-ның жоғары қолжетімді кілттер дүкені](http://s3.amazonaws.com/AllThingsDistributed/sosp/amazon-dynamo-sosp2007.pdf)
+    - Динамо қағазы NoSQL революциясын бастады
+- [2007: Әрбір бағдарламашы жад туралы не білуі керек (өте ұзақ және автор кейбір бөлімдерді өткізіп жіберуді ұсынады)](https://www.akkadia.org/drepper/cpumemory.pdf)
+- 2012: AddressSanitizer: жылдам мекенжай санитарлық тексерушісі:
+    - [қағаз](http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/37752.pdf)
+    - [бейне](https://www.usenix.org/conference/atc12/technical-sessions/presentation/serebryany)
+- 2013: Spanner: Google-дың ғаламдық таралған дерекқоры:
+    - [қағаз](http://static.googleusercontent.com/media/research.google.com/en//archive/spanner-osdi2012.pdf)
+    - [бейне](https://www.usenix.org/node/170855)
+- [2015: Google-дағы үздіксіз құбырлар](http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/43790.pdf)
+- [2015: Жаппай ауқымда жоғары қолжетімділік: Google-дың жарнамалар үшін деректер инфрақұрылымын құру](https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/44686.pdf)
+- [2015: Әзірлеушілер кодты қалай іздейді: жағдайды зерттеу](http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/43835.pdf)
+- Қосымша қағаздар: [1000 қағаз](https://github.com/0voice/computer_expert_paper)
+
+## ЛИЦЕНЗИЯ
 
-## LICENSE
+[CC-BY-SA-4.0](./LICENSE.txt)
+- [Sarada Xerkeniñ grafïkalıq teorïyası (67 beyne)](https://www.youtube.com/user/DrSaradaHerke/playlists?shelf_id=5&view=50&sort=dd)
+
+## Ïnformatïka kwrstarı
+
+- [Onlayn CS kwrstarı katalogı](https://github.com/open-source-society/computer-science)
+- [CS kwrstarınıñ katalogı (köptegen onlayn därister bar)](https://github.com/prakhar1989/awesome-courses)
+
+## Algorïtmderdi engizw
+
+- [Prïnston wnïversïtetiniñ birneşe algorïtmderdi engizwi](https://algs4.cs.princeton.edu/code)
+
+
+## Qağazdar
+
+- [Klassïkalıq qağazdardı unatasız ba?](https://www.cs.cmu.edu/~crary/819-f09/)
+- [1978: Tizbekti procestermen baylanısw](http://spinroot.com/courses/summer/Papers/hoare_1978.pdf)
+ - [Go jüyesinde jüzege asırıldı](https://godoc.org/github.com/thomas11/csp)
+- [2003: Google fayldıq jüyesi](http://static.googleusercontent.com/media/research.google.com/en//archive/gfs-sosp2003.pdf)
+ - 2012 jılı Kolosspen awıstırıldı
+- [2004: MapReduce: Ülken klasterlerde oñaylatılğan derekterdi öñdew]( http://static.googleusercontent.com/media/research.google.com/en//archive/mapreduce-osdi04.pdf)
+ - negizinen Cloud Dataflow awıstırıldı ma?
+- [2006: Bigtable: qurılımdıq derekterge arnalğan taratılğan saqtaw jüyesi](https://static.googleusercontent.com/media/research.google.com/en//archive/bigtable-osdi06.pdf)
+- [2006: Biriktirilgen taratılğan jüyelerge arnalğan Chubby Lock qızmeti](https://research.google.com/archive/chubby-osdi06.pdf)
+- [2007: Dïnamo: Amazon-nıñ joğarı qoljetimdi kiltter dükeni](http://s3.amazonaws.com/AllThingsDistributed/sosp/amazon-dynamo-sosp2007.pdf)
+ - Dïnamo qağazı NoSQL revolyucïyasın bastadı
+- [2007: Ärbir bağdarlamaşı jad twralı ne bilwi kerek (öte uzaq jäne avtor keybir bölimderdi ötkizip jiberwdi usınadı)](https://www.akkadia.org/drepper/cpumemory.pdf)
+- 2012: AddressSanitizer: jıldam mekenjay sanïtarlıq tekserwşisi:
+ - [qağaz](http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/37752.pdf)
+ - [beyne](https://www.usenix.org/conference/atc12/technical-sessions/presentation/serebryany)
+- 2013: Spanner: Google-dıñ ğalamdıq taralğan derekqorı:
+ - [qağaz](http://static.googleusercontent.com/media/research.google.com/en//archive/spanner-osdi2012.pdf)
+ - [beyne](https://www.usenix.org/node/170855)
+- [2015: Google-dağı üzdiksiz qubırlar](http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/43790.pdf)
+- [2015: Jappay awqımda joğarı qoljetimdilik: Google-dıñ jarnamalar üşin derekter ïnfraqurılımın qurw](https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/44686.pdf)
+- [2015: Äzirlewşiler kodtı qalay izdeydi: jağdaydı zerttew](http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/43835.pdf)
+- Qosımşa qağazdar: [1000 qağaz](https://github.com/0voice/computer_expert_paper)
+
+## LÏCENZÏYa
 
 [CC-BY-SA-4.0](./LICENSE.txt)