Мок-собеседование Python-разработчика: алгоритмы и asyncio
Кандидат решает алгоритмическую задачу на обработку списка и практическую задачу на асинхронные запросы к сервисам. Интервьюер проверяет сложность, типы результатов и работу с ограничением запросов.
- Опубликовано на YouTube:
- Просмотры на YouTube: 753
- Лайки на YouTube: 20
Таймлайн
Коротко о видео
В эфире проводится тестовое собеседование Python-разработчика с двумя задачами для live coding. Сначала кандидат решает задачу удаления элементов из списка: обсуждает бинарный поиск, хэш-таблицу и альтернативный подход с двумя указателями. Интервьюер просит оценить время и память решения, разобрать коллизии хэш-таблиц и проверить код на примерах, включая порядок элементов. Во второй задаче кандидат строит асинхронный сервис, который запрашивает данные из нескольких источников и агрегирует ответы. Они обсуждают asyncio, gather, тип результата вызова, сериализацию данных и связь заказа с пользователем. Далее интервьюер поднимает вопрос об ограничении одновременных запросов с помощью семафора и о нагрузке. В финале он даёт кандидату обратную связь и обсуждает возможный уровень по результатам интервью.
Затронутые темы
Что взять на заметку
- При использовании хэш-таблицы нужно отдельно оценить ожидаемое время доступа и дополнительную память.
- После реализации алгоритма стоит проверить порядок элементов и граничные случаи на конкретных примерах.
- Подход с двумя указателями может уменьшить потребление дополнительной памяти по сравнению с решением через хэш-таблицу.
- asyncio.gather собирает результаты асинхронных операций, поэтому тип и порядок этих результатов нужно продумать заранее.
- Семафор помогает ограничить число одновременных запросов к внешним сервисам.