Computer Science

Computer Science curriculum with free resources for a self-taught developer.

JКомпетенции уровня JuniorMКомпетенции уровня MiddleSКомпетенции уровня SeniorTКомпетенции уровня Техлид1-3Уровень владения технологиейИзучение языкаСтруктуры данныхАсимптотическая нотацияОбщие алгоритмыПоиск и манипуляции строкамиПобитовые операторыЧисла с плавающей точкойПорядок следования байтовКодировки символовОбщие диаграммы UMLПаттерны проектированияОсновные математические навыкиКлассы сложностиTriesСбалансированное деверо поискаСистемный дизайнБазы данныхСетьПринципы работы компьютераПроцессы и потокиБезопасностьK-D деревьяСписки с пропускамиPythonC++GoCC#JavaRustМассивСвязанный списокСтекОчередьХеш-таблицаКучаГрафДеревоНотация большого OНотация большого θНотация большой ΩОбщие среды выполненияСортировкаРекурсияДеревоГрафПоискКэшиОбратное отслеживаниеЖадные алгоритмыАлгоритм Рабина-КарпаПаттерны текстового поискаСуффиксные массивыПоиск подстрокиBig EndianLittle EndianASCIIЮникодДиаграммы классовДиаграммы вариантов использованияДиаграммы деятельностиДиаграммы состоянийДиаграммы последовательностейПаттерны проектирования GoFАрхитектурные паттерныВнедрение зависимостейПаттерн нулевого объектаПаттерн типа объектаКомбинаторикаТеория вероятностейCo-NPNPNP HardPNP CompleteP = NPДеревья AVLКрасное / черное дерево2-3 деревья поиска2-3-4 деревьяK-арное / M-арное деревоB-деревоГоризонтальное и вертикальное масштабированиеБалансировка нагрузкиКэшироаниеКластеризацияCDNПроксиТеорема CAPОчередиАрхитектурные стилиGraphQLgRPCRESTПаттерны облачного проектированияДлинный опросКороткий опросSSEВеб-сокетыSQL и NoSQL БДНормализация / денормализацияМодель "Сущность-связь"DCLDDLDMLDQLБлокировкаТранзакцииМодель ACIDМодель BASEТеорема CAPPACELCОтображенияИндексыХранимые процедурыРазделение БДРепликацияШардированиеМодель OSIМодель TCP / IPDNSHTTPTLS & HTTPSСокетыВыполнение программ CPUПроизводство вычислений компьютерамиРегистры и RAMИнструкции и программыКэш CPUВыделение процессаУправление памятьюБлокировка/мьютекс/семафорПараллелизмАлгоритмы планированияПрерывания CPUПотоки и процессыКриптография с открытым ключомХеширование/шифрование/кодированиеАлгоритмы хешированияТоп-10 OWASPНаправленный графНенаправленный графСвязующее деревоПредставление, матрица смежности, список смежностиБинарное деревоДерево бинарного поискаПолное бинарное деревоЗавершенное бинарное деревоСбалансированное деревоНесбалансированное деревоКонстантнаяЛогарифмическаяЛинейнаяПолиномиальнаяЭкспоненциальнаяФакториальнаяПузырьковаяВыборкойВставкойКучейБыстраяСлиянием (объединением)Хвостовая рекурсияНехвостовая рекурсияПредварительный обходОбход по порядкуОбратный обходПоиск в ширинуПоиск в глубинуПоиск в ширинуПоиск в глубинуАлгоритм Беллмана ФордаАлгоритм ДейкстрыАлгоритм A*Бинарный поискЛинейный поискКэш LRUКэш LFUКэш MFUПоиск гамильтоновых путейЗадача N QueensЗадача о лабиринтеЗадача о путешествии рыцаряАлгоритм ДейкстрыКодирование ХаффманаАлгоритм КрускалаАлгоритм Форда-ФалкерсонаАлгоритм ПримаПоиск грубой силыKnuth-Morris PrattBoyer-MooreRabin-KarpЗадача коммивояжераЗадача о рюкзакеЗадача о самом длинном пути