Python: популярные вопросы на собеседовании
Python: вопросы и ответы для подготовки к собеседованию. Раздел охватывает: синтаксис, типы и коллекции; ООП и dataclasses; генераторы и итераторы; декораторы; GIL, потоки и процессы; asyncio и неблокирующий I/O; виртуальные окружения и packaging (virtualenv/venv, poetry/pip); тестирование (pytest); типизацию (typing, mypy); фреймворки (Django/FastAPI/Flask).
Всего вопросов: 191
Junior
-
Чем отличаются изменяемые и неизменяемые типы? Junior
-
Поддерживает ли Python ООП? Какие принципы ООП реализованы? Junior
-
Чем функция отличается от метода в Python? Junior
-
В чем разница между списком (list) и кортежем (tuple)? Junior
-
Что такое множество (set) и для чего оно используется? Junior
-
Что такое словарь (dict) в Python? Junior
-
Как проверить наличие элемента в коллекции (например, в списке или множестве)? Junior
-
Что такое срезы (slices) и как ими пользоваться? Junior
-
Как развернуть список или строку в Python? Junior
-
Как работает функция range()? Какие есть варианты ее использования? Junior
-
Что такое списковое включение (list comprehension) в Python? Junior
-
Можно ли изменить строку после создания? Junior
-
Чем отличается оператор == от оператора is? Junior
-
Что означает конструкция if __name__ == '__main__': в скрипте? Junior
-
В чем разница между import module и from module import name? Junior
-
Что такое тернарный оператор в Python и как его записать? Junior
-
Как осуществляется обработка исключений в Python? Junior
-
Как открыть файл и прочитать из него данные в Python? Junior
-
Что такое None в Python? Junior
-
Чем отличается оператор // от / при делении чисел? Junior
-
Как проверить, что строка содержит только цифры? Junior
-
Как проверить, что строка содержит только буквенно-цифровые символы? Junior
-
Чем отличается оператор присваивания (=) от оператора равенства (==)? Junior
-
Что означает выражение "в Python все является объектом"? Junior
-
Что означает динамическая типизация в Python? Junior
-
Является ли Python сильно типизированным языком? Почему? Junior
-
Является ли Python интерпретируемым языком? Что это означает? Junior
-
Как поменять местами значения двух переменных в Python? Junior
-
Как проверить файл Python на синтаксические ошибки без выполнения кода? Junior
-
Что возвращает функция type()? Junior
-
Какие логические операторы существуют в Python? Junior
-
Для чего нужен оператор pass? Junior
-
Для чего используется оператор assert? Junior
-
Как соединить список строк в одну строку? Junior
-
Как разбить строку на список подстрок? Junior
-
Как удалить пробелы в начале и конце строки? Junior
-
Как заменить в строке одну подстроку на другую? Junior
-
Как добавить элемент в конец списка? Junior
-
Назовите несколько способов скопировать список. Junior
-
Как получить ввод от пользователя в Python? Junior
-
В чем разница между return и print при написании функции? Junior
-
Что возвращает функция, если в ней отсутствует оператор return? Junior
-
Может ли функция Python возвращать несколько значений? Junior
-
Что такое метод __init__ в классе Python? Junior
-
Как получить случайное число в Python? Junior
-
Как перемешать список случайным образом? Junior
-
Как получить несколько случайных элементов из списка без повторений? Junior
-
Что означает отрицательный индекс при обращении к последовательности? Junior
-
Что произойдет при обращении к несуществующему индексу списка? Junior
-
Как работает выражение 5 < x < 10 в Python? Junior
-
Чем отличаются операторы break и continue? Junior
-
Когда следует использовать цикл while вместо цикла for? Junior
-
Что такое наследование (inheritance) в ООП? Junior
-
Что такое инкапсуляция (encapsulation) в ООП? Junior
-
Что такое полиморфизм (polymorphism) в ООП? Junior
-
Что такое исключение TypeError и когда оно возникает? Junior
-
Что такое исключение ValueError и когда оно возникает? Junior
-
Что такое исключение NameError? Junior
-
Перечислите основные числовые типы в Python. Junior
-
Как объявить многострочную строку в Python? Junior
-
Почему смешивание табуляции и пробелов в отступах – плохая идея? Junior
-
Для чего используются функции dir() и help()? Junior
-
Почему в Python отступы (indentation) критически важны для синтаксиса? Junior
-
Что предпочтительнее использовать для отступов: табы или пробелы, и почему? Junior
-
Какие побитовые операторы имеются в Python? Junior
Middle
-
Что такое *args и **kwargs в объявлении функции? Зачем они нужны? Middle
-
Как передаются аргументы в функцию в Python: по значению, по ссылке или иначе? Middle
-
Почему опасно использовать изменяемые объекты в качестве значений параметров по умолчанию? Middle
-
Можно ли объявить функцию внутри другой функции? Что при этом происходит? Middle
-
Можно ли передать функцию как аргумент другой функции? Middle
-
Что такое лямбда-функция в Python и когда ее имеет смысл использовать? Middle
-
Чем отличается списковое включение от генераторного выражения? Middle
-
В чем разница между shallow copy и deep copy объектов? Middle
-
Что такое декоратор в Python и для чего он нужен? Middle
-
Для чего используется ключевое слово global? Middle
-
Что такое аннотации типов (type hints) и зачем они нужны? Middle
-
Что происходит при присваивании: например, при выполнении оператора a = b? Middle
-
Что такое менеджер контекста (context manager) и зачем он нужен? Middle
-
Как удалить дубликаты из списка наиболее простым способом? Middle
-
Где быстрее поиск элемента: в списке или в словаре, и почему? Middle
-
Что такое нотация Big O и для чего она используется? Middle
-
Какова сложность доступа и поиска элементов в списке и словаре? Middle
-
Чем отличается модуль от пакета в Python? Middle
-
Что такое __pycache__ и файлы с расширением .pyc? Middle
-
Как выполняется код на Python интерпретатором? Middle
-
Для чего нужна встроенная функция id()? Middle
-
Для чего используется флаг -O при запуске Python? Middle
-
Что такое GIL (Global Interpreter Lock) и как он влияет на многопоточность? Middle
-
В чем разница между потоками и процессами в Python? Middle
-
Для чего используются ключевые слова async и await? Middle
-
Как отсортировать список словарей по значению определенного поля? Middle
-
Как перебрать все пары "ключ-значение" в словаре? Middle
-
Чем отличаются методы __str__ и __repr__ в классе? Middle
-
Что такое свойство (property) в Python и как оно используется? Middle
-
Чем отличается вызов list.sort() от функции sorted()? Middle
-
Чем отличаются методы list.remove(), del и list.pop()? Middle
-
Чем отличаются list.append() и list.extend()? Middle
-
Чем отличается обращение к словарю через dict[key] от dict.get(key)? Middle
-
Почему для проверки на None рекомендуется использовать is вместо ==? Middle
-
Являются ли True и False числами в Python? Middle
-
Как проверить, является ли объект экземпляром определенного класса? Middle
-
Назовите несколько стандартных исключений в Python. Middle
-
Какие специализированные контейнеры предоставляет модуль collections? Middle
-
Как получить список файлов в указанной директории на Python? Middle
-
Почему логические операторы and и or называют операторами короткого замыкания? Middle
-
Какие встроенные функции Python позволяют проверить условие для любого или всех элементов итерируемого объекта? Middle
-
Как обработать разные типы исключений в одном блоке try/except? Middle
-
Может ли в Python существовать перегрузка функций с разными параметрами? Middle
-
Что такое переопределение (override) метода в Python? Middle
-
Есть ли в Python приватные переменные? Как можно "спрятать" атрибут? Middle
-
Чем отличается одно подчеркивание (_) от двойного (__) в начале имени атрибута? Middle
-
Что такое пространство имен (namespace) в Python? Middle
-
Для чего служит функция enumerate()? Middle
-
Что такое генератор и чем он отличается от обычной функции? Middle
-
Что такое именованные-only аргументы функции и как их задать? Middle
-
Для чего используется функция super() в Python? Middle
Senior
-
Что такое состояние гонки (race condition) и как его можно предотвратить? Senior
-
Как обойти ограничение GIL для выполнения кода на нескольких ядрах CPU? Senior
-
Когда целесообразнее использовать потоки, а когда — процессы? Senior
-
Что такое цикл событий (event loop) в asyncio? Senior
-
Чем асинхронное программирование (async/await) отличается от многопоточного? Senior
-
Какие альтернативные реализации Python вы знаете? (CPython, PyPy, Jython, etc.) Senior
-
Что делает метод __new__ и чем он отличается от __init__? Senior
-
В чем суть проблемы «ромбовидного» наследования (Diamond Problem) и как Python ее решает? Senior
-
Чем отличается использование @decorator и @decorator() при определении функции? Senior
-
Для чего используется декоратор functools.wraps? Senior
-
Что такое абстрактный класс и как его объявить в Python? Senior
-
Какой алгоритм сортировки используется при сортировке списков в Python? Senior
-
Как перегрузить операторы (например +, ==) для своего класса? Senior
-
В чем разница между методами __getattr__ и __getattribute__? Senior
-
Как сделать экземпляр класса вызываемым как функцию? Senior
-
Как получить список атрибутов объекта во время выполнения? Senior
-
Опишите порядок поиска переменной по именам (правило LEGB). Senior
-
Что лучше использовать для повторного использования кода: наследование или композицию? Senior
-
Что такое функциональное программирование и поддерживается ли оно в Python? Senior
-
Какую роль играет блок else в конструкции try/except? Senior
-
Можно ли декорировать класс так же, как функцию, и зачем это может быть нужно? Senior
-
Что такое интроспекция в Python? (Как язык позволяет изучать объекты во время выполнения?) Senior
-
Для чего используется функция eval() и какие риски с ней связаны? Senior
-
Чем отличается SyntaxError от исключений, возникающих во время выполнения? Senior
-
Почему Python считается медленным? Как можно повысить производительность Python-программы? Senior
-
Что такое PEP и какова его роль в сообществе Python? Senior
-
Как из Python выполнить вызов внешней программы или командной строки? Senior
-
Что такое список __all__ в модуле и для чего он используется? Senior
-
Какой принцип описывает фраза "Лучше прощение, чем разрешение" (EAFP) и как это проявляется в Python? Senior
-
Что такое sys.path и как он влияет на импорт модулей? Senior
-
Что такое виртуальное окружение (virtual environment) Python и для чего оно используется? Senior
-
Что такое deadlock (взаимная блокировка) в многопоточности? Senior
-
Какой по умолчанию максимальный размер глубины рекурсии в Python и как его изменить? Senior
-
Что такое позиционные-only аргументы функции и как их объявить? Senior