Вопросы по “Переменные в Python”

На странице собраны вопросы и ответы с собеседований по теме "Переменные в Python".

Уровень "Junior".
Вопрос: Сложность:
1.Что такое переменная в Python?
2.Какие типы данных существуют в Python?
3.Как присвоить значение переменной в Python?
4.Что такое динамическая типизация в Python?
5.Как узнать тип переменной?
6.Как преобразовать тип int в float?
7.В чем разница между изменяемыми (mutable) и неизменяемыми (immutable) типами данных?
8.Какие операции можно использовать с числовыми типами данных?
9.Что такое строки в Python и как их можно создать?
10.Как работают индексы в строках Python?
11.Как объединить (конкатенировать) две строки в Python?
12.Что такое списки в Python и как их создать?
13.Как добавить элемент в список?
14.Как удалить элемент из списка?
15.Чем отличается кортеж от списка?
16.Что такое словари в Python и для чего они используются?
17.Как можно получить значение по ключу из словаря?
18.В чем различие между методами list.append() и list.extend()?
19.Как проверить, содержится ли элемент в списке?
20.Как можно скопировать список?
21.Что такое множества в Python и чем они особенные?
22.Как выполнить преобразование списка в множество и обратно?
23.Почему словари и множества быстрее списков при проверке на вхождение?
24.Как работает оператор is и в чем его различие с ==?
25.Что возвращает оператор id()?
26.Какая есть разница между локальными и глобальными переменными?
27.Когда следует использовать кортеж вместо списка?
28.Что такое списковое включение (list comprehension) и как его использовать?
29.Как работают булевы операторы and, or, not в Python?
30.Что такое неявное и явное преобразование типов данных?

Уровень “Midlle”.

Вопрос: Сложность:
1.Какие правила и соглашения существуют для именования переменных в Python?⭐⭐
2.В чем разница между мутабельными и иммутабельными типами данными на примере операций с переменными?⭐⭐
3.Как Python управляет памятью для различных типов данных?⭐⭐
4.Как в Python работает сборка мусора (garbage collection) и как это связано с типами данных?⭐⭐
5.В чем различие между глубоким (deep copy) и поверхностным (shallow copy) копированием объектов?⭐⭐
6.Что такое хэшируемые и нехэшируемые типы данных?⭐⭐
7.Каковы ограничения для ключей в словарях Python?⭐⭐
8.Как можно изменить стандартное поведение операций сравнения для пользовательских объектов?⭐⭐
9.Как работают методы __eq__ и __hash__ в пользовательских классах?⭐⭐
10.Какие типы данных в Python поддерживают итерацию?⭐⭐
11.Можно ли использовать float в качестве ключа словаря и почему это может быть проблемой?⭐⭐
12.Как использовать строки в качестве минимально необходимого шаблона без использования дополнительных библиотек в Python?⭐⭐
13.Как проверить, что переменная является числовым типом данных в Python?⭐⭐
14.Какие есть способы форматирования строк в Python и в чем их преимущества и недостатки?⭐⭐
15.Как использовать типизацию переменных с помощью аннотаций типов в Python 3.5+?⭐⭐
16.Чем отличается is None от == None при проверке значений переменных?⭐⭐
17.Каким образом работает упаковка и распаковка переменных в Python?⭐⭐
18.В чем разница между bytearray и bytes в Python и когда лучше использовать каждый из этих типов?⭐⭐
19.Как реализовать пользовательский тип данных, который ведет себя как встроенный?⭐⭐
20.Какими способами можно определить объем памяти, который занимает объект в Python?⭐⭐
21.Как можно управлять порядком элементов в коллекции OrderedDict?⭐⭐
22.В каких случаях уместно использовать defaultdict вместо обычного словаря?⭐⭐
23.Как работает память в списках Python и как список растет при добавлении элементов?⭐⭐
24.Каковы производительные характеристики различных типов коллекций в Python (list, set, dict)?⭐⭐
25.Как создать неизменяемый словарь (frozendict) в Python?⭐⭐
26.Как используется тернарный условный оператор для присваивания значений переменным?⭐⭐
27.Что произойдет при попытке изменить элемент кортежа?⭐⭐
28.Как эффективно работать с большими числами в Python, например, при криптографических вычислениях?⭐⭐
29.Как перегрузить операторы для работы с пользовательскими типами данных?⭐⭐
30.В каких случаях можно встретить NameError и как его можно предотвратить при работе с переменными?⭐⭐

Уровень “Senior”.

Вопрос: Сложность:
1.Каким образом реализован предикат is и что он точно проверяет?⭐⭐⭐
2.Объясните механизм интернирования строк в Python и как он влияет на сравнение строк.⭐⭐⭐
3.Как реализованы словари в Python и почему они обеспечивают такую быструю операцию вставки и доступа?⭐⭐⭐
4.Как работает механизм ссылок в Python и что такое счетчик ссылок?⭐⭐⭐
5.Объясните различия между копированием по ссылке и копированием по значению.⭐⭐⭐
6.Как работает механизм виртуальной памяти для списков в Python и как он влияет на расширение списка?⭐⭐⭐
7.Какие есть различия между списками и кортежами и приведите примеры, когда использование одного из них предпочтительнее.⭐⭐⭐
8.Могут ли изменяемые объекты быть ключами в словарях, и если нет, то почему?⭐⭐⭐
9.Как в Python реализовано управление памятью объектов, особенно в контексте циклических ссылок?⭐⭐⭐
10.Каковы потенциальные подводные камни при использовании замыканий в контексте изменяемых переменных?⭐⭐⭐
11.В чем разница между глубокой и слабой копией (deepcopy vs weakref) и когда следует использовать каждую из них?⭐⭐⭐
12.Как оптимизировать производительность и пользоваться памятью при работе с большими массивами данных в Python?⭐⭐⭐
13.Как реализован оператор in для различных типов данных и как он влияет на производительность операций?⭐⭐⭐
14.Можно ли создать собственные неизменяемые типы данных в Python и каким образом это делается?⭐⭐⭐
15.Как вы относитесь к практике использования комплексных чисел в Python?⭐⭐⭐
16.Какие подводные камни могут встретиться при сериализации и десериализации изменяемых типов данных?⭐⭐⭐
17.Как использовать memoryview и в каких случаях это может быть полезно?⭐⭐⭐
18.Объясните принцип работы и использование генераторных выражений при работе с переменными.⭐⭐⭐
19.Какие есть стратегии для управления памятью в Python при выполнении длительных и памяти-емких задач?⭐⭐⭐
20.В каких случаях рекомендуется работать с байтовыми данными в строках?⭐⭐⭐
21.Каким образом можно продлить жизнь объектов в Python и предотвратить их сборку мусором?⭐⭐⭐
22.Какие проблемы могут возникнуть при многопоточной работе с глобальными переменными и как избежать эти проблемы?⭐⭐⭐
23.Каким образом контролировать пространство имен в Python для больших проектов?⭐⭐⭐
24.Объясните, что такое GIL (Global Interpreter Lock) и как он влияет на обработку переменных в многопоточных программах.⭐⭐⭐
25.Какие существуют способы оптимизации работы со строками при их активном создании и модификации?⭐⭐⭐
26.Как работает механизм дескрипторов в Python и как он может быть использован для управления доступом к данным?⭐⭐⭐
27.Какие есть способы обработки чисел с фиксированной точностью и большой точности в Python?⭐⭐⭐
28.Как Python реализует приватные и защищенные свойства и методы в классах и как это связано с типами данных?⭐⭐⭐
29.Объясните, как работает contextmanager и как он может быть использован для управления ресурсами и данными.⭐⭐⭐
30.Каковы возможные риски и преимущества наследования встроенных типов данных (например, словарей и списков)?⭐⭐⭐