Содержание курса
Алгоритмы и структуры данных
26 уроков
1.
Что такое алгоритм?
↗
2.
Как измеряется сложность алгоритма?
↗
3.
Какая сложность у списка в Python?
↗
4.
Хеш-таблицы
↗
5.
Что такое линейное пробирование?
↗
6.
Какая сложность у словаря в Python?
↗
7.
Какая сложность у множества в Python?
↗
8.
Что такое стек?
↗
9.
Что такое очередь и какие виды очередей существуют?
↗
10.
Что такое связанный список?
↗
11.
Что такое дерево?
↗
12.
Что такое бинарное дерево и бинарный поиск?
↗
13.
Что такое сбалансированное и несбалансированное дерево?
↗
14.
Что такое B-Tree дерево?
↗
15.
Как заполняется дерево B-Tree порядка 3
↗
16.
Что такое куча (heap)?
↗
17.
Какие виды сортировок существуют?
↗
18.
Что такое сортировка пузырьком (Bubble Sort)?
↗
19.
Что такое сортировка выбором (Selection Sort)?
↗
20.
Что такое сортировка вставками (Insertion Sort)?
↗
21.
Что такое сортировка слиянием (Merge Sort)?
↗
22.
Что такое быстрая сортировка (QuickSort)?
↗
23.
Что такое сортировка кучей (Heap Sort)?
↗
24.
Что такое Timsort?
↗
25.
Что такое рекурсия?
↗
26.
Что такое граф? Обход в ширину и в глубину (BFS/DFS)
↗
Базы данных
24 урока
1.
Что такое СУБД
↗
2.
Какие бывают базы данных
↗
3.
Что такое Primary Key и Foreign Key
↗
4.
Что такое нормализация базы данных?
↗
5.
Основные формы нормализации
↗
6.
Что такое денормализация базы данных?
↗
7.
Что такое индекс в базе данных
↗
8.
Что значит низкая селективность БД
↗
9.
Как работает B-Tree индекс?
↗
10.
Для чего нужны транзакции в БД
↗
11.
Что такое ACID в базах данных?
↗
12.
Что такое PostgreSQL и как он обеспечивает изолированность?
↗
13.
Что такое MVCC?
↗
14.
Что такое deadlock или взаимные блокировки?
↗
15.
Что такое connection pool и как избежать утечек соединений?
↗
16.
Резервное копирование и восстановление БД на примере PostgreSQL
↗
17.
Что такое партиция, репликация, шардирование и другое
↗
18.
Горизонтальное и вертикальное масштабирование
↗
19.
Что такое репликация?
↗
20.
Что такое шардирование?
↗
21.
База данных SQLite
↗
22.
В чем отличия SQLite от PostgreSQL
↗
23.
База данных Redis
↗
24.
Где Redis хранит данные?
↗
SQL
30 уроков
1.
Что такое LEFT JOIN и RIGHT JOIN
↗
2.
Что такое EXPLAIN ?
↗
3.
Чем отличается EXPLAIN от EXPLAIN ANALYSE ?
↗
4.
Что делает оператор SELECT
↗
5.
Что делает оператор WHERE
↗
6.
Что делает оператор ORDER BY
↗
7.
Как выбрать только уникальные значения
↗
8.
Как выбрать записи по шаблону
↗
9.
Чем отличаются = и IN
↗
10.
Пагинация в SQL
↗
11.
Что такое FULL JOIN
↗
12.
Что такое INNER JOIN и в каком случае используется
↗
13.
Что такое SELF JOIN
↗
14.
Когда используется CROSS JOIN
↗
15.
В чём разница между WHERE и HAVING
↗
16.
Как сгруппировать по нескольким полям
↗
17.
Агрегатные функции и их особенности
↗
18.
Чем отличаются обычные подзапросы от коррелированных
↗
19.
Что такое WITH и зачем он нужен
↗
20.
Что такое ROW_NUMBER и RANK
↗
21.
Что такое ROLLBACK и COMMIT
↗
22.
Какие бывают уровни изоляции транзакции
↗
23.
Как работает LIMIT на больших таблицах
↗
24.
Как ускорить JOIN двух больших таблиц
↗
25.
Что такое оконная функция
↗
26.
Десять популярных SQL запросов
↗
27.
Как оптимизировать SQL запросы
↗
28.
Как профилировать SQL запросы
↗
29.
Что такое DDL?
↗
30.
Что такое экранирование и SQL-инъекции?
↗
ORM
17 уроков
1.
Что такое ORM?
↗
2.
Какие библиотеки для создания ORM существуют?
↗
3.
Основные типы миграций
↗
4.
Что такое проблема N плюс 1?
↗
5.
Что такое select_related и prefetch_related
↗
6.
Нормализация в Django ORM
↗
7.
Индексы в Django ORM
↗
8.
Оптимизация запросов в Django ORM
↗
9.
Что такое проблема знаменитостей и как её решать?
↗
10.
Можно ли использовать CQRS в Django?
↗
11.
Что такое SQLAlchemy?
↗
12.
Что такое Alembic и как работают миграции в SQLAlchemy?
↗
13.
Session в SQLAlchemy
↗
14.
Engine в SQLAlchemy
↗
15.
Создание базового класса в SQLAlchemy
↗
16.
MetaData в SQLAlchemy
↗
17.
Полиморфная коллекция объектов
↗
Архитектура и взаимодействие
10 уроков
1.
Что такое Clean Architecture?
↗
2.
Что такое DDD
↗
3.
Что такое Event-Driven архитектура
↗
4.
Какие паттерны сервисной архитектуры существуют и что это такое?
↗
5.
Чем отличается микросервисная архитектура от монолита
↗
6.
Что такое архитектура веб-сервисов и из чего она состоит
↗
7.
Что такое связность и связанность
↗
8.
Что такое RPC
↗
9.
Что такое gRPC
↗
10.
В чем разница между RPC и gRPC
↗
Паттерны проектирования
33 урока
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.
Что такое DRY
↗
29.
Что такое WET
↗
30.
Что такое KISS
↗
31.
Что такое YAGNI
↗
32.
Что такое BOY SCOUT
↗
33.
Что такое Circuit Breaker
↗
Производительность и оптимизация
10 уроков
1.
Как профилировать и оптимизировать код в Python?
↗
2.
Способы кэширования и их использование
↗
3.
Горизонтальное и вертикальное масштабирование приложения
↗
4.
Нагрузочное тестирование веб-приложения
↗
5.
Тестирование производительности кода
↗
6.
Балансировщик нагрузки с помощью NGINX
↗
7.
Гонка данных при параллельных запросах
↗
8.
Сбор метрик в продакшене
↗
9.
Сессии vs JWT: что экономит ресурсы сервера?
↗
10.
OTP-авторизация по номеру телефона
↗