Что спрашивают на собеседовании python

Топ 25 вопросов и ответов на собеседовании по Python

Вас ждет собеседование на должность Python-разработчика, и вы хотите знать, через какие вопросы и обсуждения вам предстоит пройти? Перед тем, как идти, лучше иметь хотя бы общее представление о типах вопросов, которые будут задаваться на собеседовании по Python, чтобы вы могли подготовить на них ответы.

При этом Python — очень важный инструмент в арсенале любого разработчика. Для помощи вам я создал лучшее руководство по вопросам и ответам на собеседовании по Python, чтобы понять глубину и реальное их предназначение.

Помимо этих вопросов, вам также вероятно предоставят фрагменты кода, прочитав которые вы должны будете определить результирующее значение (или его отсутствие). Такие задания невозможно предсказать, и успешность их прохождения будет зависеть от вашего опыта программирования. Давайте начнем с самых популярных вопросов и ответов на собеседовании по Python.

Вопросы и ответы на собеседовании по Python 2021

1) В чем разница между модулем и пакетом в Python?

Каждый программный файл Python представляет собой модуль, который импортирует другие модули как объекты. Таким образом, модуль — это способ структурирования вашей программы. Папка с программой на Python называется пакетом модулей.

2) Какие встроенные типы доступны в Python?

Это один из наиболее распространенных вопросов на собеседовании. В Python есть изменяемые и неизменяемые встроенные типы.

К изменяемым относятся:

Представителями неизменяемых типов являются:

3) Что такое лямбда-функция в Python?

Лямбда часто используется как встраиваемая функция и представляет собой единственное анонимное функциональное выражение. Она применяется для создания нового объекта функции и его возврата во время выполнения.

Лямбда — это анонимная функция в Python, которая может принимать неограниченное количество аргументов и может иметь любое число параметров. Однако лямбда-функция может иметь только одно выражение или инструкцию. Обычно она используется в ситуациях, когда требуется анонимная функция в течение короткого периода времени. Лямбда-функции можно использовать одним из двух способов:

4) Что означает пространство имен?

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

Ниже приведены три типа пространств имен в Python:

5) Объясните разницу между списком и кортежем?

Список изменяемый, а кортеж — нет. Кортежи можно хешировать, как в случае создания ключей для словарей.

6) Чем отличается pickling от unpickling?

7) Что такое декораторы в Python?

Декоратор Python — это некоторое обновление синтаксиса Python, сделанное для более простого изменения функций.

8) Разница между генераторами и итераторами?

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

9) Как преобразовать число в строку?

10) Как используется оператор // в Python?

Использование оператора // между двумя числами дает частное при делении числителя на знаменатель. Он также называется оператором деления без остатка.

11) Есть ли в Python инструкция Switch или Case, как в C?

Нет. Однако мы можем создать нашу собственную функцию Switch и использовать ее.

12) Что такое функция range() и каковы ее параметры?

Функция range() используется для создания списка из чисел. Разрешены только целые числа, поэтому переданные аргументы могут быть как отрицательными, так и положительными. Допустимы следующие параметры:

Где «stop» — это количество целых чисел для генерации, начиная с 0. Пример: list(range(5)) == [0,1,2,3,4]

Другие параметры: range([start], stop[, step]):

13) Как используется %s?

%s — это спецификатор формата, который преобразует любое значение в строку.

14) Обязательно ли функция Python должна возвращать значение?

15) Есть ли в Python функция main()?

Да, есть. Она выполняется автоматически всякий раз, когда мы запускаем скрипт. Если вы хотите изменить этот естественный порядок вещей, используйте оператор if.

16) Что такое GIL?

GIL или Global Interpreter Lock — это мьютекс, используемый для ограничения доступа к объектам Python. Он синхронизирует потоки и предотвращает их одновременное выполнение.

17) Какой метод использовался до оператора «in» для проверки наличия ключа в словаре?

18) Как изменить тип данных списка?

19) Каковы ключевые особенности Python?

Это один из распространенных вопросов на собеседовании. Python — это язык программирования общего назначения высокого уровня с открытым исходным кодом. Поскольку это язык программирования общего назначения, и он поставляется с большим набором библиотек, вы можете использовать Python для разработки практически любого типа приложений.

Некоторые из его ключевых особенностей:

20) Объясните управление памятью в Python.

В Python диспетчер памяти заботится об управлении памятью. Он выделяет ее в виде пространства в куче, в которой хранятся все объекты Python и структуры данных. В языке существуют 4 встроенных структуры данных. Данное пространство недоступно для программиста напрямую. Однако базовый API позволяет разработчику получить доступ к некоторым инструментам для написания кода.

Кроме того, Python оснащен встроенным сборщиком мусора, который освобождает неиспользуемую память из пространства кучи.

21) Что такое PYTHONPATH?

PYTHONPATH — это переменная окружения, которая используется для включения дополнительных каталогов при импорте модуля/пакета. Каждый раз, когда модуль/пакет импортируется, PYTHONPATH используется для проверки наличия добавляемых модулей в существующих каталогах. Обычно интерпретатор использует PYTHONPATH, чтобы определить, какой модуль загрузить.

22) Чувствителен ли Python к регистру?

Язык программирования считается чувствительным к регистру, если он различает такие идентификаторы, как «myname» и «Myname». Проще говоря, он заботится, являются ли символы строчными или прописными.
Давайте посмотрим на пример:

Возникновение ошибки NameError означает, что Python чувствителен к регистру.

В Python функция help() используется для отображения документации по модулям, классам, функциям, ключевым словам и так далее. Если help() не получает параметров, она запускает интерактивную справочную утилиту на консоли.

Функция dir() возвращает допустимый список атрибутов и методов объекта, к которому она вызывается. Поскольку функция предназначена для получения наиболее релевантных данных (вместо отображения полной информации), она ведет себя по-разному с разными объектами:

24) Что такое модули Python?
Назовите некоторые наиболее часто используемые встроенные модули в Python?

Вот некоторые из наиболее часто используемых встроенных модулей в Python:
Операционные системы

25) Объясните, что означает «self» в Python.

В Python «self» — это ключевое слово, применяемое для определения экземпляра или объекта класса. В отличие от Java, где self не является обязательным, в Python он используется как первый параметр. Self помогает отличать методы и атрибуты класса от его локальных переменных.

Переменная self в методе __init__ ссылается к созданному объекту или экземпляру, тогда как в других методах она указывает на объект или экземпляр, метод которого был вызван.

Хотите получить работу Python-разработчика?

Тогда вам нужно выполнить следующий алгоритм:

Переходите по ссылке и перенимайте знания у профи: Профессия Python-разработчик.

Источник

80 практических вопросов по Python для собеседования

Что спрашивают на собеседовании python. Смотреть фото Что спрашивают на собеседовании python. Смотреть картинку Что спрашивают на собеседовании python. Картинка про Что спрашивают на собеседовании python. Фото Что спрашивают на собеседовании python

Многие начинающие ученые в области данных начали свое путешествие по науке о данных с языка программирования Python. Почему Python? Потому что он легок в освоении и сегодня его используют многие компании. Более того, этот язык универсальный и предназначен не только для специалистов по обработке данных, но также используется и в целях разработчиков.

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

1. Что такое Python?

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

2. Каковы преимущества использования Python?

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

3. Как Python интерпретируется как язык?

Интерпретируемый язык — это любой язык программирования, который не находится в машинном коде до выполнения. Таким образом, Python им и является.

4. Как интерпретируется Python?

Программа Python запускается непосредственно из исходного кода, написанным программистом. Язык преобразует его в промежуточный код, который снова переводится на машинный язык, который затем уже должен быть выполнен.

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

6. Что такое PEP 8?

PEP расшифровывается как Python Enhancement Proposal (Предложение по улучшению Python). Это набор правил, которые определяют, как форматировать код для максимальной читабельности.

7. Как писать комментарии на Python?

Комментарии начинаются с символа #.

8. Как прокомментировать несколько строк в Python?

Многострочные комментарии появляются на нескольких строках. Все строки, подлежащие комментарию, должны иметь префикс #. Можно использовать метод быстрого доступа, чтобы прокомментировать несколько строк. Все, что нужно сделать, — это удерживать клавишу ctrl и щелкнуть левой кнопкой мыши в том месте, где вы хотите включить символ #, и ввести # только один раз. Это закомментирует все строки, на которых щелкнули курсором.

9. Что такое строки документации в Python?

Docstrings не являются комментариями, это строки документации. Они заключены в тройные кавычки. Такие строки не привязаны ни к одной переменной, и поэтому иногда служат в качестве комментариев.

10. Обязательны ли отступы в Python?

Отступ в Python является обязательным и является частью его синтаксиса.

Все языки программирования имеют некоторый способ определения объема и масштаба блока кодов — в Python это отступ. Отступ обеспечивает лучшую читабельность кода, и именно поэтому он обязателен.

11. Что такое функция в Python?

Функция — это блок кода, который выполняется только при его вызове. Для определения функции Python используется ключевое слово def. Если функция возвращает что-то, ей нужно ключевое слово return.

12. Что такое локальные и глобальные переменные в Python?

Глобальная переменная:

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

Локальная переменная:

Любая переменная, объявленная внутри функции, называется локальной. Она присутствует в локальном пространстве, а не в глобальном.

13. Что такое лямбда-функция?

Анонимная или неназванная функция называется лямбда-функцией. Она может иметь любое количество параметров, но только один оператор. Она часто используется как одноразовая функция, а не многоразовая.

14. Почему лямбда-формы в Python не имеют операторов?

Потому что они используются для создания нового объекта функции, а затем возвращают его во время выполнения.

15. Какие типы данных поддерживаются в Python?

Python имеет пять стандартных типов данных −

• число (целочисленные и с плавающей запятой);

16. Что такое индексы?

Чтобы получить доступ к элементу из упорядоченных последовательностей, мы используем его индекс, который является номером позиции этого конкретного элемента. Индекс обычно начинается с 0, то есть первый элемент имеет индекс 0, второй — 1 и так далее.

17. Что такое отрицательные индексы и почему они используются?

18. Что такое словарь в Python?

19. Как получить доступ к значениям в словаре?

20. Как получить список всех ключей в словаре?

Можно использовать атрибут, который есть у словаря — keys().

21. В чем разница между списком и кортежем?

22. Что такое итераторы в Python?

В Python итераторы используются для итерации группы элементов, контейнеров, таких как список или строка. Под итерацией подразумевается, что что-то может быть зациклено с помощью оператора.

24. Как можно использовать тернарные операторы в Python?

Тернарный оператор — это оператор, который используется для отображения условных операторов. Он состоит из истинных или ложных значений с утверждением, которое нужно проверить.

25. Как работает break?

Оператор break позволяет завершить цикл, когда выполняется некоторое условие, и управление передается следующему оператору.

26. Каков смысл оператора pass в Python?

Оператор pass в Python используется, когда выражение требуется синтаксически, но вы не хотите, чтобы какая-либо команда или код выполнялись.

27. Что такое функция map в Python?

map() — это функция, которая принимает другую в качестве аргумента, а затем применяет её ко всем элементам итератора, передаваемым ей в качестве другого аргумента. Функция вернет объект map, поэтому нам нужно преобразовать его в объект списка.

28. Что такое функция enumerate в Python?

Метод enumerate() добавляет счетчик к итерируемому и возвращает его в виде объекта перечисления (enumerate). Объект будет состоять из счетчика и итерационных значений.

29. Что такое абстракции у словаря и списка в Python?

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

30. Что такое slicing в Python?

Slicing (отсечение) — это механизм выбора диапазона элементов из таких типов последовательностей, как список, кортеж, строки и т.д. Такое отсечение выполняется методом индексации.

31. Каков смысл not в операторе?

Операторы — это специальные функции. Они принимают одно или несколько значений и дают соответствующий результат. not вернет обратное логическое значение.

32. Каков смысл // в python?

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

33. Как добавить новое значение в объект списка?

Это можно сделать с помощью атрибута append(), который есть у списка. При передачи какого-то значения в этот атрибут, оно будет помещено в конец последовательности.

34. Что такое поверхностная копия?

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

35. Что такое глубокая копия?

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

36. Как создать пустой класс в Python?

Пустой класс — это класс, который не имеет никакого кода, определенного в его блоке. Он может быть создан с помощью ключевого слова pass. Однако объекты этого класса можно создать и вне самого класса. В Python команда pass ничего не делает при ее выполнении, это null.

37. Что означает ключевое слово self в Python?

Ключевое слово self используется в качестве первого параметра функции внутри класса, представляющего экземпляр класса. Объект или экземпляр класса автоматически передается методу, которому он принадлежит, и принимается в ключевом слове “self”. Пользователи могут использовать другое имя для первого параметра функции, которая указывает на объект класса, но рекомендуется использовать ключевое слово “self”, так как оно ближе к соглашению Python.

38. Будет ли цикл do-while работать, если вы не закончите его точкой с запятой?

Это вопрос с подвохом! Во-первых, Python не поддерживает встроенный цикл do-while. Во-вторых, завершение циклов do-while является необходимостью для таких языков, как C++.

39. Как преобразовать список в строку?

40. Что такое оператор членства?

Это оператор, который может подтвердить, является ли значение членом в другом объекте. Операторы членства бывают “in” и “not in”.

41. Что такое операторы тождественности в Python?

Они показывают нам, тождественны ли два значения. Операторы — “is” и “is not”.

42. Как обрабатывать входные данные в Python?

Для получения входных данных от пользователя можно использовать функцию input(). Она будет принимать входные данные от пользователя и возвращать их в строковый объект.

43. Что делает функция zip()?

Она вернет итератор кортежей, сформирует n-пару значений из перечисляемых, передаваемых функции. n — это число итерируемых, которые передают функции.

44. В чем разница между тем, когда функция range() принимает один аргумент, два и три?

Когда мы передаем только один аргумент, функция принимает его в качестве стоп-значения. Здесь начальное значение равно 0, а шаговое +1. Итерация с диапазоном всегда будет останавливаться на единицу перед стоп-значением.

Когда мы передаем два аргумента, первый из них является начальным значением, а второй — стоп значением.

Используя три аргумента, первый аргумент является начальным, второй — стоп, а третий — значением шага.

45. Напишите лучший код для перестановки двух чисел местами.

Вы можете выполнить перестановку с помощью одной строки.

46. Как можно объявить несколько назначений в одной строке кода?

Есть два способа это сделать. Первый — это отдельное объявление переменной в той же строке:

Другой способ — объявить переменную в той же строке только с одним значением:

47. Как вырваться из бесконечного цикла?

Чтобы прервать процесс, нужно нажать Ctrl+C.

48. Что делает оператор with в Python?

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

49. Когда выполняется except, в блоке try-except?

Блок try-except обычно используется, когда мы хотим что-то выполнить, если возникли ошибки. except выполняется, когда код в блоке try вызвал ошибки.

Для простого повторяющегося цикла, либо тогда, когда не нужно перебирать список элементов, например записи базы данных и символы в строке.

51. Что такое модули Python?

52. Что такое PYTHONPATH?

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

53. Назовите пример режимов обработки файлов с помощью Python?

Существуют следующие режимы:

54. Что такое pickling и unpickling?

Модуль pickle принимает любой объект Python, преобразует его в строковое представление и сохраняет в файл с помощью функции dump, такой процесс называется pickling. Процесс извлечения исходных объектов Python из сохраненного строкового представления называется unpickling.

55. Являются ли массивы Python NumPy лучше списков?

Мы используем массивы Python NumPy вместо списка по следующим трем причинам:

1. меньший объем памяти;

56. Как вычислять процентили с помощью NumPy?

Медиана — это 50 процентиль по определению. 25 процентиль указывает, что 25% наблюдаемых меньше числа в процентиле, то есть n процентов наблюдаемых значений меньше значения в процентиле n.

Мы можем вычислить его с помощью NumPy, используя следующий код:

57. Как получить текущий рабочий каталог с помощью Python?

Работая с Python, вам может понадобиться читать и записывать файлы из различных каталогов. Чтобы узнать, в каком вы сейчас работаете, можно использовать метод getcwd() из модуля os:

58. Что вы видите снизу? Что произойдет, если мы выполним этот код?

Это конкатенация строк. Если даже одна из переменных не является строкой, она вызовет ошибку типа (TypeError). Выполнив этот код, мы получим результат конкатенации.

59. Как бы вы произвели рандомизацию содержимого списка на месте?

Мы можем воспользоваться функцией shuffle() из модуля random:

60. Что такое приведение в Python?

Приведение — это процесс преобразования значения переменной из одного типа в другой. В Python это можно сделать с помощью таких функций, как list(), int (), float() и str(). Примером может служить преобразование строки в целочисленный объект:

61. Объясните ошибку

В приведенном выше коде мы пытаемся импортировать несуществующую функцию из модуля numpy. В этом причина.

62. Как можно удалить переменные в Python?

Для удаления переменной мы можем использовать функцию del(). Считается хорошей практикой, убрать что-то лишнее, что не используется.

63. Что такое pandas в Python?

Pandas — это пакет Python, предоставляющий быстрые, гибкие и функциональныеструктуры данных, предназначенные для того, чтобы сделать работу с “реляционными” или “помеченными” данными простой и интуитивно понятной. Он призван стать фундаментальным строительным блоком высокого уровня для практического анализа реальных данных в Python.

64. В чем разница между методами append() и extend()?

Они используются для добавления элементов в конец списка.

65. Как получить текущую версию Python?

Мы можем узнать текущую версию Python с помощью sys.version:

66. Что значит *args, **kwargs? И зачем нам их использовать?

Мы используем *args, когда неуверены, сколько аргументов будет передано функции, или если хотим передать сохраненный список или кортеж аргументов функции. **kwargs используется, когда мы не знаем, сколько аргументов ключевых слов будет передано, а также он может быть использован для передачи значений словаря в качестве аргументов ключевых слов. Идентификаторы args и kwargs необязательны, вы можете изменить их на другие, типа *другой **пример, но лучше использовать имя по умолчанию.

67. Что за функции help() и dir() в Python?

Функция help() отображает строку документации и справку для своего аргумента.

Функция dir() отображает все элементы объекта (любого вида).

68. Что означает одинарное и двойное подчеркивание перед именем объекта?

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

Двойное подчеркивание (искажение имени) — любой идентификатор вида __spam (не менее двух ведущих подчеркиваний, не более одного завершающего) заменяется на _имякласса__spam, где имя класса — это текущее спрятанное имя с подчеркиванием перед ним. Это искажение выполняется без учета синтаксической позиции идентификатора, поэтому его можно использовать для определения экземпляра закрытого класса и его переменных, методов, а также глобальных и других переменных, хранящихся в экземплярах, частных для этого класса в экземплярах других.

69. Каков результат нижеприведенного запроса?

70. Напишите программу на Python, чтобы создать треугольник из звезд

Что спрашивают на собеседовании python. Смотреть фото Что спрашивают на собеседовании python. Смотреть картинку Что спрашивают на собеседовании python. Картинка про Что спрашивают на собеседовании python. Фото Что спрашивают на собеседовании python

71. Что плохого в следующем коде:

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

72. Как разделить строку на список?

Мы можем использовать атрибут split(). Он принимает разделитель в качестве аргумента и возвращает список, состоящий из результатов разделения строки на его основе.

73. Напишите программу на Python, чтобы проверить, является ли последовательность, которую вы вводите, палиндромом

74. Что такое генератор?

75. Напишите программу на Python для проверки, является ли число простым

76. Какова цель одинарной переменной подчеркивания ( ‘ _ ’ ) в Python?

Она предназначена для хранения результата последнего выполненного выражения (/statement) в сеансе интерактивного интерпретатора. Этот прецедент был установлен стандартным интерпретатором CPython, а другие последовали этому примеру.

77. Каковы типы наследования в Python?

Python поддерживает различные типы наследования. Ими являются:

78. Что такое распаковка кортежа?

Это процесс распаковки его значений и их ввода в несколько различных переменных.

79. Освобождается ли вся память при выходе из Python?

Выход из Python освобождает все, кроме:

1. модулей с циклическими ссылками;

2. объектов, на которые ссылаются глобальные пространства имен;

3. части памяти, зарезервированной библиотекой C.

80. Является ли функция допустимой, если она не имеет оператора return?

Функция, которая ничего не возвращает, возвращает объект None. Ключевое слово return необязательно обозначает конец функции, оно просто завершает ее, если присутствует. Обычно блок кода помечает функцию, и там, где заканчивается блок, заканчивается и тело функции.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *