1

Этап 1

Курс по CS

2

Этап 2

Грокаем структуры данных

3

Этап 3

Грокаем алгоритмы 2-ое издание

4

Этап 4

Грокаем конкурентность

5

Этап 5

Грокаем функциональное мышление

6

Этап 6

Грокаем функциональное программирование

7

Этап 7

Грокаем CD

8

Этап 8

Грокаем проектирование реляционных БД

9

Этап 9

Грокаем безопансость веб-приложений

10

Этап 10

System Design 2

11

Этап 11

System Design 1

12

Этап 12

System Design. Пережить интервью

13

Этап 13

Гид по Computer Science

14

Этап 14

Тайный язык информатики

15

Этап 15

Структуры данных и алгоритмы в Java

16

Этап 16

Архитектура компьютера

17

Этап 17

Head First. Архитектура ПО

18

Этап 18

Head First. Паттерны проектирования

19

Этап 19

Паттерны ООП

20

Этап 20

Паттерны Coding Interview. Подготовка к сложному техническому интервью

1

Этап 1

Курс по CS

2

Этап 2

Грокаем структуры данных

3

Этап 3

Грокаем алгоритмы 2-ое издание

4

Этап 4

Грокаем конкурентность

5

Этап 5

Грокаем функциональное мышление

6

Этап 6

Грокаем функциональное программирование

7

Этап 7

Грокаем CD

8

Этап 8

Грокаем проектирование реляционных БД

9

Этап 9

Грокаем безопансость веб-приложений

10

Этап 10

System Design 2

11

Этап 11

System Design 1

12

Этап 12

System Design. Пережить интервью

13

Этап 13

Гид по Computer Science

14

Этап 14

Тайный язык информатики

15

Этап 15

Структуры данных и алгоритмы в Java

16

Этап 16

Архитектура компьютера

17

Этап 17

Head First. Архитектура ПО

18

Этап 18

Head First. Паттерны проектирования

19

Этап 19

Паттерны ООП

20

Этап 20

Паттерны Coding Interview. Подготовка к сложному техническому интервью

10 марта 2026
Карьера и работа

Computer Science. Стратегическая прокачка базы

Предисловие и мое негодование

Были у меня однажды некоторые колебания в сторону освоения Computer Science ,когда я готовился к собесам в бигтех ,и тогда я решил прокачать алгоритмы https://smartprogress.do/goal/427421/.

Целью этого было просто закрыть один из пунктов ,важных для прохождения собесов. Но я не намерен был серьезно прокачиваться в алгоритмической базе. Мне нужно было просто пройти чертов собес. По итогу алгоритмы мне не пригодились ,и больше я к ним как-то не возвращался.

На самом деле я начинаю задумываться над тем ,что сейчас происходит в IT. А именно в моей сфере веб-разработки и фронтенд в частности. Когда я только пришел в эту сферу ,все было настолько хорошо ,что меня готовы были брать зеленым на работу. Без образования ,без опыта. Я нашел работу где-то за 2 недели после того ,как закончил свое самообучение и решил начать монетизировать свои знания.

Проходят года - js и фреймворки начинают жестко популяризироваться. Курсов становится все больше ,реклам больше ,вкатунов тоже больше. Где-то с этого момента рынок вакансий начал похрамывать. Студентов учат врать в резюме ,пририсовывать опыт ,откликаться на все подряд.

Мне кажется ,что собеседования сейчас стали сложнее ,не потому что веб-разработка стала сложнее ,а для того ,чтобы отфильтровать выпускников курсов ,которые только недавно узнали ,что такое javascript ,но научились проходить заезженные собесы ,на которых спрашивают +- одно и то же.

Я ничего не имею против курсов и сам их прохожу ,до сих пор ,имея почти 10 лет опыта разработки за плечами. Я также ничего не имею против новичков ,которые хотят стать программистами ,и просто вынуждены врать в резюме ,чтоб их куда-то взяли. Действительно других способов практически нет. Ты можешь не врать в резюме и пойти честным путем ,отработав где-то забесплатно только ради опыта. Но конкурировать будешь все равно с тем ,кто врал ,и вы будете на одном уровне.

Следующий этап стагнации - это появление ИИ. Нет ,он не заменит программистов. Но значительно облегчает работу ,заставляя бизнес задуматься ,а нужно ли расширять текущий штат разработчиками при росте бизнеса. Не выгоднее ли купить корпоративную подписку на какой-нибудь Cursor для команды?

Кажется ,что проблемы с вакансиями во фронтенд тянутся уже очень давно снежным комом. Иногда даже до собеса крайне тяжело дойти. И черт побери ,даже с опытом 10 лет приходится также врать в резюме...) Конечно же не приписывать себе еще пару лет ,а конкретно приписывать то ,что хотят увидеть HR-ы или нанимающие менеджеры - аля как моя выполненная таска увеличила продажи бизнеса на X процентов или как ускорила CD на x % и что-то в этом роде. Или как я создал невероятный CI для всей компании из 20 команд разработки.

Это все результат нездоровой конкуренции на рынке вакансий фронтенд-разработчиков. Просто потому что их стало очень много ,и они продолжают штамповаться. И темпы только растут. Многие курсы гарантируют трудоустройство и буквально сопровождают до заветного оффера ,чтобы потом заиметь процент от зп студента.

Но проблема такой конкуренции не только в новоиспеченных. Предположительно ,где-то с 20-ого года (21,22,23) ,когда эта тема была на пике популярности ,многие ребята сегодня уже стали мидлами. Но в резюме ,как вы понимаете ,они сеньоры))

Суть

Я понял ,что во фронтенд уже инвестировать бессмысленно. Нужно инвестировать в универсальные знания ,которые пригодятся и помогут в любых областях разработки. Чтобы можно было быстро переучиться в другой язык ,другую сферу ,имея прочный фундамент программирования.

Стать настоящим инженером ,не привязанным к конкретному языку и технологии. Снять с себя оковы фронтенд-разработчика и открыть новые карьерные возможности.

За бугром есть такая тенденция ,что конкретно фронтенд-разработчиков там практически нет. Есть инженеры-разработчики ,которые могут не только во фронтенд. И на собеседованиях там очень часто спрашивают алгоритмы и system design.

Рано или поздно правила игры оттуда перетекают и к нам. Я думаю ,что у нас скоро сформируются похожие ожидания от разработчиков ,если уже не сформировались. Быть инженером и архитектором ,способным спроектировать любой продукт ,а не просто верстать на React и выносить логику в хуки.

В общем в рамках этой цели я прокачиваю Computer Science ,чтобы стать и оставаться востребованным разработчиком.

 Критерий завершения

Курс пройден

  1. Курс по CS

    Стоимость этапа — 90000 ₽

    1. Вычислители. Кодирование информации

    2. Языки программирования. Исходный код ,машинный код ,байткод

    3. Кодирование чисел. Целые числа

    4. Операции над битами. Побитовые операторы

    5. Процессор и память. Адресация памяти и разрядность процессора, Кеш-память

    6. Фундаментальные структуры данных

    7. ArrayBuffer и типизированные массивы в JS

    8. Форматы обмена данными

    9. Структуры данных на основе массивов. Матрица и Вектор

    10. Абстрактные структуры данных. Очередь и Стек

    11. Сегменты памяти программ. Стек и куча

    12. Многозадачность и роль ОС. Ручное и автоматическое управление памятью

    13. Ассоциативный массив. Хеш-таблица. Хеш-функции. Разрешение коллизий

    14. Операции над структурами данных и их сложность

    15. Графы. Способы задания графа. Обход узлов графа. Топологическая сортировка графа

    16. Деревья. Деревья поиска. Самобалансирующиеся деревья поиска

    17. Очередь с приоритетом. Бинарная куча

    18. Строки. Кодовые таблицы. Юникод. Кодировки. UTF-8 и UTF-16

    19. Алгоритмы поиска в строке. Конечные автоматы. Структуры данных Бор

    20. Грамматики. Регулярные выражения

    21. Продвинутые регулярные выражения

    22. Продвинутые регулярные выражения 2

    23. Паттерн "Итератор". Итерируемые объекты

    24. Продвинутые итераторы

    25. Операторы и генераторы. Поточная обработка данных

    26. Парсеры. Парсерные комбинаторы

    27. Асинхронное программирование

    28. Ошибки и исключения в JS

    29. Композиция контейнерных типов. Функторы и монады

    30. Каррирование и частичное применение функций. Программирование в ФП-стиле

    31. Promise API и Thenable объекты

    32. Асинхронные итераторы и генераторы. Реактивные структуры данных

    33. Кооперативная многозадачность в JS. Зеленые потоки

    34. Конкурентное программирование

    35. Параллельные вычисления в JS

    36. Введение в WASM

  2. Грокаем структуры данных

    1. Знакомство

    2. Статические массивы

    3. Отсортированные массивы

    4. Нотация "О-большое"

    5. Динамические массивы

    6. Связанные списки

    7. Абстрактные типы данных

    8. Стеки

    9. Очереди

    10. Приоритетные очереди и кучи

    11. Двоичные деревья поиска

    12. Словари и хеш-таблицы

    13. Графы

  3. Грокаем алгоритмы 2-ое издание

    1. Знакомство

    2. Сортировка выбором

    3. Рекурсия

    4. Быстрая сортировка

    5. Хеш-таблицы

    6. Поиск в ширину

    7. Деревья

    8. Сбалансированные деревья

    9. Алгоритм Дейкстры

    10. Жадные алгоритмы

    11. Динамическое программирование

    12. Алгоритм k-ближайших соседей

    13. Что дальше?

  4. Грокаем конкурентность

    1. Знакомство

    2. Последовательное и параллельное выполнение

    3. Как работают компьютеры

    4. Структурные элементы конкурентности

    5. Межпроцессная коммуникация

    6. Многозадачность

    7. Декомпозиция

    8. Как решать проблемы конкурентности: гонка и синхронизация

    9. Как решать проблемы конкурентности: взаимные блокировки и нехватка ресурсов

    10. Неблокирующий ввод/вывод

    11. Событийная конкурентность

    12. Асинхронная коммуникация

    13. Как писать конкурентные приложения

  5. Грокаем функциональное мышление

    1. Добро пожаловать в мир функционального программирования

    2. Функциональное мышление в действии

    3. Действия ,вычисления и данные

    4. Извлечение вычислений из действий

    5. Улучшение структуры действий

    6. Неизменяемость в изменяемых языках

    7. Сохранение неизменяемости при взаимодействии с ненадежным кодом

    8. Многоуровневое проектирование 1

    9. Многоуровневое проектирование 2

    10. Первоклассные функции 1

    11. Первоклассные функции 2

    12. Функциональные итерации

    13. Сцепление функциональных инструментов

    14. Функциональные инструменты для работы со вложенными данными

    15. Изоляция временных линий

    16. Совместное использование ресурсов между временными линиями

    17. Координация временных линий

    18. Реактивные и многослойные архитектуры

    19. Путешествие в мир ФП продолжается

  6. Грокаем функциональное программирование

    1. Изучение ФП

    2. Чистые функции

    3. Неизменяемые значения

    4. Функции как значения

    5. Последовательные программы

    6. Обработка ошибок

    7. Требования как типы

    8. Ввод-вывод как значения

    9. Потоки данных как значения

    10. Параллельное программирование

    11. Разработка функциональных программ

    12. Тестирование функциональных программ

  7. Грокаем CD

    1. Добро пожаловать

    2. Базовый пайплайн

    3. Контроль версий

    4. Эффективное использование линтинга

    5. Работа с нестабильными тестами

    6. Ускорение медленных наборов тестов

    7. Нужные сигналы в нужное время

    8. Простая доставка начинается с контроля версий

    9. Безопасная и надежная сборка

    10. Надежное развертывание

    11. Стартовые наборы

    12. Скрипты - это тоже код

    13. Реализация пайплайнов

  8. Грокаем проектирование реляционных БД

    1. Знакомство с БД и SQL

    2. Связанные таблицы и углубление в SQL

    3. Общие сведения о проектировании баз данных

    4. Сущности и свойства

    5. Связи

    6. Нормализация и реализация

    7. Безопасность и оптимизация

    8. Проектирование БД в эпоху ИИ

  9. Грокаем безопансость веб-приложений

    1. Врага нужно знать в лицо

    2. Безопасный браузер

    3. Шифрование

    4. Безопасность веб-сервера

    5. Безопасность как процесс

    6. Уязвимости браузера

    7. Сетевые уязвимости

    8. Уязвимости аутиентификации

    9. Уязвимости сессий

    10. Уязвимости авторизации

    11. Уязвимости полезных данных

    12. Уязвимости внедрения

    13. Уязвимости в стороннем коде

    14. Быть невольным соучастником

    15. Что делать ,если вас взломали

  10. System Design 2

    1. Организации рядом

    2. Друзья поблизости

    3. Google карты

    4. Распределенная очередь сообщений

    5. Система мониторинга и оповещений

    6. Агрегация рекламных кликов

    7. Система бронирования отелей

    8. Распределенный сервис электронной почты

    9. Объектное хранилище подобное S3

    10. Лидерборд в реальном времени

    11. Платежная система

    12. Цифровой кошелек

    13. Фондовая биржа

  11. System Design 1

    1. Масштабирование от нуля до миллиона пользователей

    2. Приблизительные оценки

    3. Общие принципы прохождения интервью по проектирование ИТ-систем

    4. Проектирование ограничителя трафика

    5. Согласованное хеширование

    6. Проектирование хранилища типа ключ-значение

    7. Проектирование генератора уникальных идентификаторов в распределенных системах

    8. Проектирование системы для сокращения URL-адресов

    9. Проектирование поискового робота

    10. Проектирование системы уведомлений

    11. Проектирование ленты новостей

    12. Проектирование системы мгновенного обмена сообщениями

    13. Проектирование системы атвозаполнения поисковых запросов

    14. Проектирование YouTube

    15. Проектирование Google Drive

    16. Век живи - век учись

  12. System Design. Пережить интервью

    1. Обзор основных концепций проектирования систем

    2. Типичный ход собеседования по проектированию систем

    3. Нефункциональные требования

    4. Масштабирование баз данных

    5. Рапсределенные транзакции

    6. Популярные сервисы для функционального секционирования

    7. Дизайн Craigslist

    8. Проектирование сервиса для ограничения частоты запросов

    9. Проектирование сервиса уведомлений/оповещений

    10. Проектирование сервиса пакетного аудита базы данных

    11. Автозаполнение/опережающий ввод

    12. Проектирование Flickr

    13. Проектирование CDN

    14. Проектирование приложения для обмена текстовыми сообщениями

    15. Проектирование Airbnb

    16. Проектирование ленты новостей

    17. Проектирование дашборда для топ 10 товаров Amazon по объему продаж

  13. Гид по Computer Science

    1. Асимптотическое время выполнения

    2. Структуры данных

    3. Классы задач

    4. Введение в теорию графов

    5. Структуры данных на основе графов

    6. Хорошо известные графовые алгоритмы

    7. Основные классы графов

    8. Алгоритмы сортировки

    9. А если в лоб?

    10. Динамическое программирование

    11. Жадные алгоритмы

    12. Что такое теория сложности

    13. Языки и конечные атвоматы

    14. Машины Тьюринга

    15. Приемлемые доказательства

    16. Методы доказательства

    17. Сертификаты

    18. Введение в безопасность

    19. Введение в криптографию

    20. Криптографическая система с открытым ключом

    21. Аутентификация пользователя

    22. Аппаратные абстракции

    23. Программные абстракции

    24. Компьютерная арифметика

    25. Операционные системы

    26. Распределенные системы

    27. Встроенные системы

    28. Сети и Интернет

    29. Базы данных

    30. Основная теорема о рекуррентных соотношениях

    31. Амортизированное время выполнения

    32. Расширяющееся дерево

    33. Декартово дерево

    34. Искусственный интеллект

    35. Квантовые вычисления

  14. Тайный язык информатики

    1. Лучшие друзья

    2. Коды и комбинации

    3. Брайль и двоичные коды

    4. Устройство фонарика

    5. Заглядывая за угол

    6. Телеграфы и реле

    7. Наши десять цифр

    8. Альтернативы десятке

    9. За битом бит

    10. Логика и переключатели

    11. Логические вентили

    12. Двоичный сумматор

    13. А как насчет вычитания?

    14. Обратная связь и триггеры

    15. Байты и шестнадцетиричные числа

    16. Сборка памяти

    17. Автоматизация

    18. От счетов к микросхемам

    19. Два классических микропроцессора

    20. Набор символов ASCII

    21. Шины

    22. Операционная система

    23. Фиксированная точка ,плавающая точка

    24. Языки высокого и низкого уровня

    25. Графическая революция

  15. Структуры данных и алгоритмы в Java

    1. Введение

    2. Общие сведения

    3. Массивы

    4. Простая сортировка

    5. Стеки и очереди

    6. Связанные списки

    7. Рекурсия

    8. Нетривиальная сортировка

    9. Двоичные деревья

    10. Красно-черные деревья

    11. Деревья 2-3-4

    12. Хеш-таблицы

    13. Пирамиды

    14. Графы

    15. Взвешенные графы

    16. Рекомендации по использованию

  16. Архитектура компьютера

    1. Введение

    2. Организация компьютерных систем

    3. Цифровой логический уровень

    4. Уровень микроархитектуры

    5. Уровень архитектуры набора команд

    6. Уровень операционной системы

    7. Уровень ассемблера

    8. Параллельные компьютерные архитектуры

  17. Head First. Архитектура ПО

    1. Введение

    2. Архитектура ПО без мистики

    3. Архитектурные характеристики

    4. Два закона архитектуры ПО

    5. Логические компоненты

    6. Архитектурные стили

    7. Многоуровневая архитектура

    8. Модульные монолиты

    9. Микроядерная архитектура

    10. Сделай сам

    11. Микросервисная архитектура

    12. Событийно-управляемая архитектура

    13. Сделай сам

  18. Head First. Паттерны проектирования

    1. Введение

    2. Добро пожаловать в мир паттернов

    3. Объекты в курсе событий

    4. Украшение объектов

    5. Домашняя ОО-выпечка

    6. Уникальные объекты

    7. Инкапсуляция вызова

    8. Умение приспосабливаться

    9. Инкапсуляция алгоритмов

    10. Управляемые коллекции

    11. Состояние дел

    12. Управление доступом к объектам

    13. Паттерны паттернов

    14. Паттерны в реальном мире

    15. Приложение

  19. Паттерны ООП

    1. Введение

    2. Практический пример

    3. Порождающие паттерны

    4. Структурные паттерны

    5. Паттерны поведения

    6. Заключение

  20. Паттерны Coding Interview. Подготовка к сложному техническому интервью

    1. Введение

    2. Два указателя

    3. Хеш-таблицы и множества

    4. Связные списки

    5. Быстрый и медленные указатели

    6. Скользящие окна

    7. Бинарный поиск

    8. Стеки

    9. Кучи

    10. Интервалы

    11. Префиксные суммы

    12. Деревья

    13. Префиксные деревья

    14. Графы

    15. Поиск с возвратом

    16. Динамическое программирование

    17. Жадные алгоритмы

    18. Сортировка и поиск

    19. Побитовые операции

    20. Математика и геометрия

  • 122
  • 10 марта 2026, 08:59
Регистрация

Регистрация

Уже зарегистрированы?
Быстрая регистрация через соцсети
Вход на сайт

Входите.
Открыто.

Еще не зарегистрированы?
 
Войти через соцсети
Забыли пароль?