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

Python: собеседования / Часть 2

ФорматОнлайн
Длительностьне менее 4-5 часов в неделю
Объём7 занятий
О курсе

Подробнее

Этот курс — подготовка к техническому собеседованию на позицию Python backend-разработчика уровня Middle. Сначала вы отвечаете на вопросы, а затем изучаете подробные разъяснения и связанные материалы. Мы не рассказываем сразу «как правильно», а предлагаем сначала подумать и ответить самостоятельно. Такой формат помогает не заучивать, а осмысленно готовиться и восполнять пробелы. Вы двигаетесь от фундаментальных знаний к более сложным абстракциям. Этот курс можно рассматривать как: 1) учебное пособие; 2) конспект для подготовки к собеседованию на позицию Middle; 3) roadmap для изучения технологий, необходимых для трудоустройства на этом уровне. С большой вероятностью вы найдёте для себя много нового и сможете углубиться в некоторые темы, о которых, возможно, и не задумывались.
Требования

Что нужно для старта

  • Для прохождения курса обязательно:
  • Желание расти, познавать новое и становиться лучше.
  • Знать синтаксис 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, стал лучше и дороже 💪
Содержание

Программа курса

7 занятий
ТемаЧто внутри
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-авторизация по номеру телефона

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-авторизация по номеру телефона

Организатор

Автор курса

StepikStepik
Stepik — образовательная платформа и конструктор онлайн-курсов. Мы разрабатываем алгоритмы адаптивного обучения, сотрудничаем с авторами MOOC, помогаем в проведении олимпиад и программ переподготовки. Наша цель — сделать образование открытым и удобным. Stepik — широко известная российская образовательная платформа, основанная в 2013 году. На Stepik зарегистрировано более миллиона пользователей из России и стран СНГ. В настоящее время на Stepik представлены несколько тысяч учебных курсов на самые разные темы.
Подробнее об авторе
Мнения учеников

Отзывы о курсе

Оставьте отзыв

Расскажите о качестве обучения, поддержке и результате. Это поможет другим выбрать организацию осознанно.

Напишите ваш коментарий, не менее 30 символов

Нажимая кнопку, вы даете согласие на обработку персональных данных

Оставьте заявку

Консультант ответит на вопросы о курсе «Python: собеседования / Часть 2» и поможет разобраться в деталях обучения.

Комментарий ...

Нажимая кнопку, вы даете согласие на обработку персональных данных

Информация обновлена 14 сентября 2026 г.

Продолжить выбор

Похожие курсы

Bioinformatics Algorithms @UNBC
Bioinformatics Algorithms @UNBC

How do we sequence and compare genomes? How do we identify the genetic basis for disease? How do we construct an evolutionary Tree of Life for all species on Earth? When you compl…

Онлайн11 занятий
70 ₽
Основы языка Python
22 ак.ч.
Основы языка Python

На курсе вы получите базовые навыки программирования на языке Python. Рассматриваются темы от типов данных до объектно-ориентированного программирования. Python – чрезвычайно мощн…

Онлайн10 занятийНачальный
27 500 ₽
AI-first разработка на Python
1 месяц
AI-first разработка на Python

Соберете и настроите свою профессиональную среду для разработки с агентами: от написания кода до ревью, автотестов и проверки безопасности.

Онлайн12 занятий
Домашние заданияИнтерактивные тренажёры+3
12 000 ₽от 704 ₽/мес на 24 мес.
Начать без затрат

Бесплатные курсы

Python для решения практических задач
Бесплатно
Python для решения практических задач

Научились решать простые задачи на питоне, но не можете понять, как сделать что-то полезное? Наш курс научит вас правильно гуглить! На примерах задач сбора данных (Data Scraping)…

Онлайн5 занятий
Бесплатно
Python для геймеров: базовый курс на игровых примерах
Бесплатно4 часа в неделю
Python для геймеров: базовый курс на игровых примерах

Здесь не будет сложных задач «про шахматы»! Здесь не будет абстрактных задач и сложных математических вычислений. Зато есть: теория простым и понятным языком игровые механики логи…

Онлайн12 занятий
Бесплатно
"Поколение Python": курс для начинающих
Бесплатно
"Поколение Python": курс для начинающих

"Поколение Python: курс для начинающих" знакомит с основными типами данных, конструкциями и принципами структурного программирования языка Python. Целевая аудитория – школьники, с…

Онлайн17 занятий
Бесплатно
Структуры данных предметной области
Бесплатно
Структуры данных предметной области

Основные задачи дисциплины: − Дальнейшее развитие и углубление навыков алгоритмизации и программирования при решении прикладных задач предметной области. − Знакомство с реализацие…

Онлайн5 занятий
Бесплатно