10 самых частых вопросов на собеседовании по Python

10 самых частых вопросов на собеседовании по Python


1) В чем разница между поверхностным и глубоким копированием?

Глубокое копирование создает новый объект и заполняет его дочерними объектами исходного объекта. Поэтому изменения исходного объекта не отражаются на копии.

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

2)Как достигается многопоточность в Python?

Многопоточность обычно подразумевает, что несколько потоков выполняются одновременно. Глобальная блокировка интерпретатора Python не позволяет более чем одному потоку удерживать интерпретатор Python в данный конкретный момент времени. Так что многопоточность в питоне достигается за счет переключения контекста. Это сильно отличается от многопроцессорной обработки, которая фактически открывает несколько процессов в нескольких потоках.

3)Обсуждение архитектуры Django

Django — это веб-сервис, используемый для создания ваших веб-страниц. Его архитектура выглядит следующим образом:

  • Шаблон: передняя часть веб-страницы 
  • Модель: серверная часть, где хранятся данные 
  • Представление: взаимодействует с моделью и шаблоном и сопоставляет их с URL-адресом.
  • Django: отдает страницу пользователю 

4) Как управляется память в Python?

В Python есть куча, в которой хранятся все объекты. Диспетчер памяти Python регулирует различные аспекты этой кучи, такие как совместное использование, кэширование, сегментация и распределение. Пользователь не имеет контроля над кучей; доступ имеет только интерпретатор Python.

5)Аргументы в Python передаются по значению или по ссылке?

Аргументы передаются в python по ссылке. Это означает, что любые изменения, сделанные внутри функции, отражаются в исходном объекте.

6)Что делает оператор //?

В Python оператор / выполняет деление и возвращает частное в виде числа с плавающей запятой.

Например: 5/2 возвращает 2,5.

Оператор //, с другой стороны, возвращает частное в виде целого числа.

Например: 5 // 2 возвращает 2

7)Что делает оператор is?

Оператор is сравнивает идентификаторы двух объектов. 

Список1=[1,2,3]

Список2=[1,2,3]

Список3=Список1

Список1 == Список2 🡪 Верно

Список1 is Список2 🡪 Ложь

Список1 is Список3 🡪 Верно

8)Как отобразить содержимое текстового файла в обратном порядке?

Вы можете отобразить содержимое текстового файла в обратном порядке, выполнив следующие действия:

  • Откройте файл с помощью функции open() 
  • Сохранить содержимое файла в список 
  • Перевернуть содержимое списка
  • Запустите цикл for для перебора списка

9) Python является объектно-ориентированным или функциональным языком?


Python считается мультипарадигменным языком.

Объектно-ориентированная парадигма: 

  • Python позволяет создавать объекты и манипулировать ими с помощью определенных методов. 
  • Он поддерживает большинство функций ООП, таких как наследование и полиморфизм.

Функциональная парадигма:

  • Функции могут использоваться как объект первого класса. 
  • Python поддерживает функции Lambda, характерные для функциональной парадигмы. 

10) В чем разница между матрицами и массивами?


Матрица исходит из линейной алгебры и представляет собой двумерное представление данных. 

Она поставляется с мощным набором математических операций, которые позволяют вам манипулировать данными интересными способами.

Массив — это последовательность объектов с одинаковым типом данных. 

Массив внутри другого массива образует матрицу.



Report Page