Вернуться в видеотекуСобеседование Senior QA Automation Python | Разбор лайвкодинг задач
Разбор live-coding задач по Python с собеседования Senior QA Automation Engineer. Интервьюер проверяет базовые и продвинутые особенности языка, ООП и сетей, комментируя ответы кандидата.
- Направление
- QA
- Формат
- Видео
- Грейд
- Senior
- Длительность
- 23 мин
Коротко о видео
Видео представляет разбор девяти Python-задач из реального собеседования на позицию Senior QA Automation Engineer. В формате диалога кандидат отвечает на вопросы, а интервьюер уточняет и корректирует темы изменяемости объектов, `is` и `==`, хеширования, встроенных имён, методов классов, декораторов, метаклассов и сетевых протоколов. В конце обсуждаются различия IPv4 и IPv6 и корректность записи IP-адреса.
Затронутые темы
Что взять на заметку
- Повторить различие между изменяемыми и неизменяемыми объектами Python: конкатенация строк создаёт новый объект, а не меняет исходную строку.
- Уметь объяснить, что `==` сравнивает значения, а `is` — идентичность объектов; не полагаться на случайные особенности интернирования строк.
- Разобрать коллизии ключей словаря между `1`, `1.0` и `True`, поскольку эти значения равны и имеют совместимое хеширование.
- Помнить, что кортеж хешируем только тогда, когда хешируемы все его элементы; вложенный `list` приводит к `TypeError` при вызове `hash()`.
- Не затенять встроенные имена Python, например `type`; для обхода строки предпочтительнее итерироваться по элементам, а не по индексам, когда индекс не нужен.
- Уметь написать простой декоратор с внешней функцией, принимающей декорируемую функцию, и внутренним `wrapper`, добавляющим логику вокруг её вызова.
- Различать назначение `@staticmethod`: метод не зависит от состояния экземпляра или класса, хотя технически его можно вызвать и через экземпляр.