Кирилл Свицов python разработчик собеседование. Ведёт Евгений Ефимов
Разбор учебного собеседования Python-разработчика с вопросами по основам языка и совместным решением задачи на RLE-сжатие строки. В конце кандидату дают технический фидбэк и рекомендации по дальнейшей подготовке.
- Опубликовано на YouTube:
- Просмотры на YouTube: 9,9 тыс.
- Лайки на YouTube: 224
Таймлайн
Коротко о видео
Показано учебное Python-собеседование кандидата Кирилла: после рассказа о переходе в разработку интервьюер проверяет основы языка, коллекции, срезы, функции, распаковку аргументов, генераторы и темы параллелизма. В практической части кандидат поэтапно решает задачу сжатия строки серий одинаковых символов, а собеседующие разбирают ошибки, граничные случаи, TDD и улучшение накопления результата. В финальном фидбэке интервьюеры считают его знания достаточными для junior-позиции, но рекомендуют закрыть пробелы в генераторах, итераторах, многопоточности и тестировании.
Затронутые темы
Что взять на заметку
- Для `set` нужны хешируемые элементы: список как изменяемый объект нельзя положить во множество, иначе уникальность могла бы нарушиться после изменения списка.
- Повторите срезы Python: правая граница не входит в результат, третий аргумент задаёт шаг, а отрицательные индексы и шаг позволяют обращаться с конца и идти в обратном направлении.
- Уверенно различайте `*args` и `**kwargs`: первое собирает позиционные аргументы, второе — именованные; это особенно полезно при написании универсальных декораторов.
- Нужно отделять list comprehension от генераторного выражения: выражение в круглых скобках создаёт объект генератора, а не готовый список; также стоит повторить различия генераторов и итераторов.
- В задаче на сжатие строки нужно отдельно обработать первую и последнюю серию символов, пустую строку и правило возврата исходной строки, если сжатый вариант не короче.
- Для накопления большого результата лучше собирать фрагменты в список и объединять их в конце через `''.join(...)`, а не многократно конкатенировать строки в цикле.
- Для подготовки к junior-интервью участники советуют практиковать алгоритмические задачи и разобрать базу параллелизма: процесс, поток, mutex, очередь, semaphore и lock, прежде чем углубляться в `asyncio`.