Вернуться в видеотекуКоротко о видео
Это открытое mock-собеседование Python-разработчика на позицию Middle: кандидат отвечает на вопросы, а интервьюер уточняет и разбирает пропущенные темы. Обсуждаются Python, архитектура, микросервисы, Kafka, контейнеризация, деплой, мониторинг, базы данных и тестирование. В финале интервьюер даёт субъективную оценку уровня кандидата и рекомендации по дальнейшему обучению.
Затронутые темы
Что взять на заметку
- Не используйте изменяемые значения по умолчанию в аргументах функций: объект создаётся один раз и может сохранить изменения между вызовами; безопасный паттерн — значение None и инициализация внутри функции.
- Чистые функции не меняют внешний контекст, поэтому их проще повторяемо тестировать и они уменьшают риск скрытых побочных эффектов.
- Генератор сохраняет состояние между вызовами yield; генераторы, принимающие значения через send, можно применить для последовательного сценария вопросов в Telegram-боте.
- По позиции интервьюера, сервисы не должны обращаться к базам данных друг друга: данные следует получать через ограниченный API или обмен сообщениями, иначе система становится распределённым монолитом с высокой связанностью.
- Брокер сообщений позволяет асинхронно передавать долгие задачи и переживать временную недоступность обработчика, но добавляет отдельный компонент, который нужно поддерживать, обновлять и мониторить.
- Для масштабирования stateful-приложения состояние лучше вынести во внешнее хранилище или кэш, чтобы реплики оставались независимыми.
- Конкурирующие изменения важных данных, например баланса, нужно проектировать с учётом уровней изоляции транзакций в базе данных; unit-тесты должны составлять широкое основание пирамиды, а интеграционные — проверять работу с реальными внешними компонентами.