Python: собеседования / Часть 2
Подробнее
Что нужно для старта
- Для прохождения курса обязательно:
- Желание расти, познавать новое и становиться лучше.
- Знать синтаксис Python.
- Для прохождения курса рекомендуется, но не обязательно:
- Понимать принципы ООП (наследование, инкапсуляция, полиморфизм).
- Иметь базовое представление о работе веб-приложений и HTTP.
- Иметь опыт работы с базами данных.
- Иметь опыт использования Django и Django REST framework.
- Иметь опыт создания небольших проектов или pet-проектов.
- Если каких-то из этих знаний пока не хватает — рекомендуем начать с первого курса серии, Python: собеседования / Часть 1, где разбираются основы Python, ООП и асинхронность.
Что вы получите
- После завершения курса вы сможете с уверенностью отвечать на вопросы по:
- Архитектуре
- Паттернам проектирования
- SQL-запросам
- Базам данных
- ORM Django и Django REST framework
- Алгоритмам и структурам данных
- Производительности и оптимизации
Для кого этот курс
- Курс подойдёт:
- 1) Python-разработчикам уровня Junior, желающим выйти на уровень Middle.
- 2) Тем, кто ищет новую работу и проходит технические интервью.
- 3) Самоучкам и студентам, которые хотят систематизировать знания.
- 4) Разработчикам, которым не хватает уверенности в базовых знаниях и опыте собеседований.
- 5) Тем, кто давно не проходил интервью и хочет «размяться».
- Внимание!
- Курс содержит большой объём информации — для полноценного прохождения потребуется много самостоятельной работы.
- Вам нужно быть готовым к такому треку:
- Открываю урок по Django => Я не знаю Django => Иду изучать => Теперь знаю Django, стал лучше и дороже 💪
Программа курса
- Что такое алгоритм?
- Как измеряется сложность алгоритма?
- Какая сложность у списка в Python?
- Хеш-таблицы
- Что такое линейное пробирование?
- Какая сложность у словаря в Python?
- Какая сложность у множества в Python?
- Что такое стек?
- Что такое очередь и какие виды очередей существуют?
- Что такое связанный список?
- Что такое дерево?
- Что такое бинарное дерево и бинарный поиск?
- Что такое сбалансированное и несбалансированное дерево?
- Что такое B-Tree дерево?
- Как заполняется дерево B-Tree порядка 3
- Что такое куча (heap)?
- Какие виды сортировок существуют?
- Что такое сортировка пузырьком (Bubble Sort)?
- Что такое сортировка выбором (Selection Sort)?
- Что такое сортировка вставками (Insertion Sort)?
- Что такое сортировка слиянием (Merge Sort)?
- Что такое быстрая сортировка (QuickSort)?
- Что такое сортировка кучей (Heap Sort)?
- Что такое Timsort?
- Что такое рекурсия?
- Что такое граф? Обход в ширину и в глубину (BFS/DFS)
- Что такое СУБД
- Какие бывают базы данных
- Что такое Primary Key и Foreign Key
- Что такое нормализация базы данных?
- Основные формы нормализации
- Что такое денормализация базы данных?
- Что такое индекс в базе данных
- Что значит низкая селективность БД
- Как работает B-Tree индекс?
- Для чего нужны транзакции в БД
- Что такое ACID в базах данных?
- Что такое PostgreSQL и как он обеспечивает изолированность?
- Что такое MVCC?
- Что такое deadlock или взаимные блокировки?
- Что такое connection pool и как избежать утечек соединений?
- Резервное копирование и восстановление БД на примере PostgreSQL
- Что такое партиция, репликация, шардирование и другое
- Горизонтальное и вертикальное масштабирование
- Что такое репликация?
- Что такое шардирование?
- База данных SQLite
- В чем отличия SQLite от PostgreSQL
- База данных Redis
- Где Redis хранит данные?
- Что такое LEFT JOIN и RIGHT JOIN
- Что такое EXPLAIN ?
- Чем отличается EXPLAIN от EXPLAIN ANALYSE ?
- Что делает оператор SELECT
- Что делает оператор WHERE
- Что делает оператор ORDER BY
- Как выбрать только уникальные значения
- Как выбрать записи по шаблону
- Чем отличаются = и IN
- Пагинация в SQL
- Что такое FULL JOIN
- Что такое INNER JOIN и в каком случае используется
- Что такое SELF JOIN
- Когда используется CROSS JOIN
- В чём разница между WHERE и HAVING
- Как сгруппировать по нескольким полям
- Агрегатные функции и их особенности
- Чем отличаются обычные подзапросы от коррелированных
- Что такое WITH и зачем он нужен
- Что такое ROW_NUMBER и RANK
- Что такое ROLLBACK и COMMIT
- Какие бывают уровни изоляции транзакции
- Как работает LIMIT на больших таблицах
- Как ускорить JOIN двух больших таблиц
- Что такое оконная функция
- Десять популярных SQL запросов
- Как оптимизировать SQL запросы
- Как профилировать SQL запросы
- Что такое DDL?
- Что такое экранирование и SQL-инъекции?
- Что такое ORM?
- Какие библиотеки для создания ORM существуют?
- Основные типы миграций
- Что такое проблема N плюс 1?
- Что такое select_related и prefetch_related
- Нормализация в Django ORM
- Индексы в Django ORM
- Оптимизация запросов в Django ORM
- Что такое проблема знаменитостей и как её решать?
- Можно ли использовать CQRS в Django?
- Что такое SQLAlchemy?
- Что такое Alembic и как работают миграции в SQLAlchemy?
- Session в SQLAlchemy
- Engine в SQLAlchemy
- Создание базового класса в SQLAlchemy
- MetaData в SQLAlchemy
- Полиморфная коллекция объектов
- Что такое Clean Architecture?
- Что такое DDD
- Что такое Event-Driven архитектура
- Какие паттерны сервисной архитектуры существуют и что это такое?
- Чем отличается микросервисная архитектура от монолита
- Что такое архитектура веб-сервисов и из чего она состоит
- Что такое связность и связанность
- Что такое RPC
- Что такое gRPC
- В чем разница между RPC и gRPC
Подробности будут доступны на странице курса
- Как профилировать и оптимизировать код в Python?
- Способы кэширования и их использование
- Горизонтальное и вертикальное масштабирование приложения
- Нагрузочное тестирование веб-приложения
- Тестирование производительности кода
- Балансировщик нагрузки с помощью NGINX
- Гонка данных при параллельных запросах
- Сбор метрик в продакшене
- Сессии vs JWT: что экономит ресурсы сервера?
- OTP-авторизация по номеру телефона
01Алгоритмы и структуры данных
- Что такое алгоритм?
- Как измеряется сложность алгоритма?
- Какая сложность у списка в Python?
- Хеш-таблицы
- Что такое линейное пробирование?
- Какая сложность у словаря в Python?
- Какая сложность у множества в Python?
- Что такое стек?
- Что такое очередь и какие виды очередей существуют?
- Что такое связанный список?
- Что такое дерево?
- Что такое бинарное дерево и бинарный поиск?
- Что такое сбалансированное и несбалансированное дерево?
- Что такое B-Tree дерево?
- Как заполняется дерево B-Tree порядка 3
- Что такое куча (heap)?
- Какие виды сортировок существуют?
- Что такое сортировка пузырьком (Bubble Sort)?
- Что такое сортировка выбором (Selection Sort)?
- Что такое сортировка вставками (Insertion Sort)?
- Что такое сортировка слиянием (Merge Sort)?
- Что такое быстрая сортировка (QuickSort)?
- Что такое сортировка кучей (Heap Sort)?
- Что такое Timsort?
- Что такое рекурсия?
- Что такое граф? Обход в ширину и в глубину (BFS/DFS)
02Базы данных
- Что такое СУБД
- Какие бывают базы данных
- Что такое Primary Key и Foreign Key
- Что такое нормализация базы данных?
- Основные формы нормализации
- Что такое денормализация базы данных?
- Что такое индекс в базе данных
- Что значит низкая селективность БД
- Как работает B-Tree индекс?
- Для чего нужны транзакции в БД
- Что такое ACID в базах данных?
- Что такое PostgreSQL и как он обеспечивает изолированность?
- Что такое MVCC?
- Что такое deadlock или взаимные блокировки?
- Что такое connection pool и как избежать утечек соединений?
- Резервное копирование и восстановление БД на примере PostgreSQL
- Что такое партиция, репликация, шардирование и другое
- Горизонтальное и вертикальное масштабирование
- Что такое репликация?
- Что такое шардирование?
- База данных SQLite
- В чем отличия SQLite от PostgreSQL
- База данных Redis
- Где Redis хранит данные?
03SQL
- Что такое LEFT JOIN и RIGHT JOIN
- Что такое EXPLAIN ?
- Чем отличается EXPLAIN от EXPLAIN ANALYSE ?
- Что делает оператор SELECT
- Что делает оператор WHERE
- Что делает оператор ORDER BY
- Как выбрать только уникальные значения
- Как выбрать записи по шаблону
- Чем отличаются = и IN
- Пагинация в SQL
- Что такое FULL JOIN
- Что такое INNER JOIN и в каком случае используется
- Что такое SELF JOIN
- Когда используется CROSS JOIN
- В чём разница между WHERE и HAVING
- Как сгруппировать по нескольким полям
- Агрегатные функции и их особенности
- Чем отличаются обычные подзапросы от коррелированных
- Что такое WITH и зачем он нужен
- Что такое ROW_NUMBER и RANK
- Что такое ROLLBACK и COMMIT
- Какие бывают уровни изоляции транзакции
- Как работает LIMIT на больших таблицах
- Как ускорить JOIN двух больших таблиц
- Что такое оконная функция
- Десять популярных SQL запросов
- Как оптимизировать SQL запросы
- Как профилировать SQL запросы
- Что такое DDL?
- Что такое экранирование и SQL-инъекции?
04 ORM
- Что такое ORM?
- Какие библиотеки для создания ORM существуют?
- Основные типы миграций
- Что такое проблема N плюс 1?
- Что такое select_related и prefetch_related
- Нормализация в Django ORM
- Индексы в Django ORM
- Оптимизация запросов в Django ORM
- Что такое проблема знаменитостей и как её решать?
- Можно ли использовать CQRS в Django?
- Что такое SQLAlchemy?
- Что такое Alembic и как работают миграции в SQLAlchemy?
- Session в SQLAlchemy
- Engine в SQLAlchemy
- Создание базового класса в SQLAlchemy
- MetaData в SQLAlchemy
- Полиморфная коллекция объектов
05Архитектура и взаимодействие
- Что такое Clean Architecture?
- Что такое DDD
- Что такое Event-Driven архитектура
- Какие паттерны сервисной архитектуры существуют и что это такое?
- Чем отличается микросервисная архитектура от монолита
- Что такое архитектура веб-сервисов и из чего она состоит
- Что такое связность и связанность
- Что такое RPC
- Что такое gRPC
- В чем разница между RPC и gRPC
06Паттерны проектирования
07Производительность и оптимизация
- Как профилировать и оптимизировать код в Python?
- Способы кэширования и их использование
- Горизонтальное и вертикальное масштабирование приложения
- Нагрузочное тестирование веб-приложения
- Тестирование производительности кода
- Балансировщик нагрузки с помощью NGINX
- Гонка данных при параллельных запросах
- Сбор метрик в продакшене
- Сессии vs JWT: что экономит ресурсы сервера?
- OTP-авторизация по номеру телефона
Отзывы о курсе
Оставьте отзыв
Расскажите о качестве обучения, поддержке и результате. Это поможет другим выбрать организацию осознанно.
Оставьте заявку
Консультант ответит на вопросы о курсе «Python: собеседования / Часть 2» и поможет разобраться в деталях обучения.
Нажимая кнопку, вы даете согласие на обработку персональных данных
Информация обновлена 14 сентября 2026 г.

Stepik 


















