Python: вопросы на собеседовании. Часть I. Junior

Начинаем серию статей со списками вопросов, которые задают на технических собеседованиях питонистам. Разумеется, в эти списки войдут не все возможные вопросы, а некоторые из них могут показаться странными или даже тупыми, но все же стоит быть готовым к тому, что вам их зададут.

  1. Python: вопросы собеседования. Часть I. Junior
  2. Python: вопросы собеседования. Часть II. Middle
  3. Python: вопросы собеседования. Часть III. Senior

Вопросы

  1. Что такое Python?
  2. Что такое lambda в Python?
  3. Что означает pass в Python?
  4. Что обозначают *args и **kwargs при определении функции в Python?
  5. Что такое docstring в Python?
  6. Какие в Python существуют встроенные типы данных? Какие из них изменяемые, а какие неизменяемые?
  7. В чем разница между списками и кортежами?
  8. Какие ключевые слова могут быть использованы вместе с ключевым словом for?
  9. Какие могут быть ключи в словарях Python?
  10. В чем разница между globals()locals(), и vars()?
  11. Что такое PEP8?
  12. Как работают срезы в Python?
  13. Что значит отрицательный индекс в Python?
  14. Что такое модуль __init__.py? Для чего он нужен?
  15. Как можно поменять значения двух переменных в Python?
  16. Как можно посмотреть все методы объекта?
  17. Как можно получить документацию по методам объекта Python?
  18. Что такое модуль в Python? Что такое пакет в Python? В чем разница между пакетом и модулем?
  19. Можете ли вы написать многопоточное приложение в Python? В чем разница между мнгопоточностью (multithreading) и многопроцессностью (multiprocessing)?
  20. Что такое декораторы в Python? Как создать свой собственный декоратор?
  21. Что такое @classmethod@staticmethod@property?
  22. В чем разница между @classmethod и @staticmethod?
  23. Поддерживает ли Python в полной мере объектно-ориентированное программирование?
  24. Что такое атрибут __dict__ объекта Python?
  25. Что значит self?
  26. Что делают функции __init__?
  27. Расскажите, как сделать исполняемый скрипт Python в операционной системе Unix.
  28. Что такое сериализация (pickling) и десериализация (unpickling) в Python?

Вопросы с кодом

  1. Как преобразовать строку, содержащую бинарный код (0 или 1), в число (целого типа)? Напишите программу, которая будет это делать.
  2. Как проверить, что кортеж A содержит в себе все элементы кортежа B? Напишите программу, которая это будет выполнять.
  3. Какой будет результат выполнения следующего кода:
def f():
     x = 15
     print(x)
x = 12
f()
  1. Как преобразовать строку в число, состоящее из ASCII-кодов? Напишите программу для этой операции.
  2. Как удалить пустые строки (длиной 0) из списка строк? Напишите программу для этого.
  3. Создайте строку из чисел от 0 до 100 следующего вида: "0123456789101112..."
  4. Преобразуйте список, где есть повторяющиеся элементы, в список, где все элементы уникальны.
  5. Создайте список всех простых чисел, лежащих в диапазоне от 0 до 100.

Следующая часть: Python: вопросы собеседования. Часть II. Middle