Главная
Кто я
Обучение
Стоимость
Услуги
Python-разработчик
Rust-разработчик
Получить оффер заграницу
Проверь свои знания, ответь на 20 вопросов с реальных собеседований по
Python
В конце дам полный список вопросов
Начать
Какие из перечисленных типов являются изменяемыми?
Типы данных
str, int, tuple = 0
list, dict, set = 1
str, list, dict = 0
tuple, frozenset, bytes = 0
int, float, bool = 0
В чём разница между == и is?
Сравнение
знак (равенство) сравнивает типы, is сравнивает значения = 0
знак (равенство) работает только со строками, is — с любыми объектами = 0
Разницы нет, это синонимы = 0
is работает быстрее, поэтому предпочтительнее = 0
знак (равенство) сравнивает значения, is сравнивает идентичность в памяти = 1
Что произойдёт при выполнении следующего кода: s = '12345' s[0] = '3'
Строки
TypeError: строки неизменяемы = 1
Строка изменится на 32345 = 0
Будет создана новая строка 32345 = 0
IndexError: индекс вне диапазона = 0
SyntaxError: неверный синтаксис = 0
В чём главное отличие списка от кортежа?
Списки vs Кортежи
Список быстрее кортежа = 0
Кортеж может содержать только числа = 0
Кортеж занимает больше памяти = 0
Список изменяемый, кортеж — нет = 1
Список не поддерживает срезы = 0
Какова сложность добавления элемента в начало списка insert(0, x)?
Сложность операций
O(1) = 0
O(log n) = 0
O(n²) = 0
O(n log n) = 0
O(n) = 1
В чём главное преимущество генераторов перед списками?
Генераторы
Генераторы работают быстрее = 0
Генераторы поддерживают индексацию = 0
Генераторы потребляют память только на текущий элемент = 1
Генераторы можно итерировать несколько раз = 0
Генераторы автоматически сортируют данные = 0
Чем итератор отличается от итерируемого объекта?
Итераторы
Итератор быстрее итерируемого объекта = 0
Итератор можно использовать только в цикле for = 0
Итерируемый объект нельзя передать в функцию = 0
Итерируемый объект имеет __iter__, итератор — ещё и __next__ = 1
Разницы нет, это одно и то же = 0
Какой результат выражения: { i % 3 for i in range(10) }
Set comprehension
[0, 1, 2, 0, 1, 2, 0, 1, 2, 0] = 0
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9} = 0
{0, 1, 2} = 1
(0, 1, 2) = 0
SyntaxError = 0
Что такое декоратор в Python?
Декораторы
Специальный комментарий для документации = 0
Способ объявления приватных методов = 0
Функция, модифицирующая поведение другой функции = 1
Инструмент для форматирования строк = 0
Механизм наследования классов = 0
Сохраняется ли порядок элементов в dict (Python 3.7+)?
Словари
Нет, словари всегда неупорядочены = 0
Только если использовать OrderedDict = 0
Порядок сортируется по ключам = 0
Да, порядок вставки сохраняется = 1
Зависит от типа ключей = 0
Может ли кортеж, содержащий список, быть ключом словаря?
Хешируемость
Да, кортежи всегда хешируемы = 0
Да, если список пустой = 0
Да, но только в Python 3.10+ = 0
Зависит от содержимого списка = 0
Нет, такой кортеж нехешируем = 1
Зачем нужно ключевое слово yield?
yield
Для остановки выполнения программы = 0
Для создания генератора, возвращающего значения по одному = 1
Для обработки исключений = 0
Для импорта модулей = 0
Для объявления глобальных переменных = 0
Какой магический метод вызывается при использовании len(obj)?
Магические методы
__size__ = 0
__length__ = 0
__len__ = 1
__count__ = 0
__sizeof__ = 0
Какие методы должен реализовать контекстный менеджер?
Контекстные менеджеры
__enter__ и __exit__ = 1
__start__ и __stop__ = 0
__open__ и __close__ = 0
__begin__ и __end__ = 0
__init__ и __del__ = 0
Что такое GIL в Python?
GIL
Модуль для работы с графикой = 0
Система сборки мусора = 0
Формат сериализации данных = 0
Механизм импорта модулей = 0
Блокировка, позволяющая выполнять только один поток = 1
Когда лучше использовать multiprocessing вместо threading?
Параллелизм
Для CPU-bound задач = 1
Для I/O-bound задач = 0
Для работы с файлами = 0
Для сетевых запросов = 0
Threading всегда лучше = 0
Что такое корутина в Python?
Async
Синоним функции-генератора = 0
Любая функция с yield = 0
Функция, объявленная с async def = 1
Метод класса asyncio = 0
Поток выполнения = 0
Что произойдёт при CPU-bound операции в async-коде?
Event Loop
Операция выполнится в отдельном потоке = 0
Автоматически создастся новый процесс = 0
Будет выброшено исключение = 0
Event loop заблокируется = 1
Операция выполнится асинхронно = 0
Чем copy.copy отличается от copy.deepcopy?
Копирование
copy.copy работает только со списками = 0
deepcopy быстрее copy.copy = 0
copy.copy — поверхностная копия, deepcopy — рекурсивная = 1
copy.copy копирует только примитивы = 0
Разницы нет для изменяемых типов = 0
Как Python справляется с циклическими ссылками?
Сборка мусора
Циклические ссылки невозможны в Python = 0
Программист должен удалять их вручную = 0
Они автоматически преобразуются в слабые ссылки = 0
Reference counting решает эту проблему = 0
Используется поколенческий сборщик мусора = 1
Результаты теста
Ты знаешь ответ на
0
% вопросов
Даааа, тебе точно есть, что подтянуть
Жми кнопку ниже, чтобы получить полный файл с вопросами
Начать заново
Получить файл
Не идеально, но уже что-то!
Жми кнопку ниже, чтобы получить полный файл с вопросами
Начать заново
Получить файл
Хорошо, но есть к чему стремиться
Жми кнопку ниже, чтобы получить полный файл с вопросами
Начать заново
Получить файл
Ого, это уже неплохо
Жми кнопку ниже, чтобы получить полный файл с вопросами
Начать заново
Получить файл
Мощно! Держись в том же духе
Жми кнопку ниже, чтобы получить полный файл с вопросами
Начать заново
Получить файл
Нарекаю тебя "монстр собесов"
Жми кнопку ниже, чтобы получить полный файл с вопросами
Начать заново
Получить файл
Далее
Отправить
Введи почту и я отправлю полный файл с вопросами
Получить файл