Вернуться в видеотекуВсего 1 год опыта и уже Миддл, потому что выучил Onion Architecture?? / Техсобес Middle Python Dev
Длинное мок-собеседование Middle Python-разработчика с разбором ответов о Python, Clean Architecture, производительности и базах данных. В финале интервьюер даёт развёрнутую обратную связь кандидату.
- Направление
- Backend
- Формат
- Мок-собеседование
- Грейд
- Middle
- Длительность
- 2 ч 7 мин
Коротко о видео
Это тестовое собеседование на позицию Middle Python-разработчика: кандидат кратко описывает опыт, а интервьюер подробно проверяет знание Python, производительности, архитектуры и баз данных. Обсуждаются байткод и виртуальная машина CPython, динамическая типизация, изменяемость объектов, неэффективность конкатенации строк в цикле, а также PyPy и Cython. Большая практическая часть посвящена проектированию CLI-приложения в стиле Clean Architecture; в конце разбираются выбор хранилища, диагностика деградации сервиса, индексы и ElasticSearch/CQRS. По итогам интервьюер положительно оценивает ответы кандидата, но рекомендует глубже изучить производительность Python.
Затронутые темы
Что взять на заметку
- Не описывайте Python просто как язык, выполняющий код построчно: в разговоре разбираются компиляция исходного кода в байткод и выполнение байткода виртуальной машиной CPython.
- Не конкатенируйте неизменяемую строку через += в большом цикле: каждый шаг создаёт новый объект и ухудшает временную сложность; для списка чисел уместен ''.join(map(str, items)) или генератор строк.
- При обсуждении Clean Architecture начинайте с доменной модели и бизнес-правил, а детали чтения файлов, вывода, конфигурации и конкретных хранилищ оставляйте внешним слоям.
- Для задачи с несколькими форматами файлов можно хранить стратегии вычисления в отображении расширение → стратегия; сценарий зависит от интерфейса чтения, а точка входа создаёт и внедряет конкретные реализации.
- Конфигурацию и секреты стоит валидировать при запуске приложения: секреты брать из переменных окружения, а отсутствие обязательных значений выявлять до выполнения бизнес-сценария.
- При росте задержки сначала сопоставьте прикладные и системные метрики, проверьте недавние изменения кода, затем изучите план запроса через EXPLAIN; последовательное сканирование на большой таблице может указывать на отсутствие подходящего индекса.
- Выбор БД и технологий зависит не только от транзакций, доступности и нагрузки, но и от требований бизнеса и доступности специалистов для поддержки системы.