Мы подготовили наиболее часто задаваемые вопросы и ответы на собеседовании по Python, которые помогут вам подготовиться к вопросам собеседования по Python, которые интервьюер может задать вам во время собеседования. В этом списке вопросов собеседования по Python Scripting мы рассмотрели все часто задаваемые базовые и расширенные вопросы по программированию на Python с подробными ответами, которые помогут вам легко пройти собеседование.
Мы рассмотрели почти все важные вопросы собеседования по Python для новичков и опытных кандидатов, чтобы помочь вам подготовиться к предстоящему собеседованию. Это подробное руководство по вопросам собеседования по программированию на Python поможет вам пройти собеседование по программированию на Python.
Скачать PDF-файлы с вопросами для собеседования по Python
Вопросы и ответы на собеседовании по Python Basic для новичков и опытных
1) Что такое Python? Каковы преимущества использования Python?
Python - это язык программирования с объектами, модулями, потоками, исключениями и автоматическим управлением памятью. Преимущества pythons в том, что это простая и легкая, переносимая, расширяемая, встроенная структура данных и открытый исходный код.
2) Что такое PEP 8?
PEP 8 - это соглашение о кодировании, набор рекомендаций о том, как сделать код Python более читаемым.
3) Что такое маринование и отрубание?
Модуль Pickle принимает любой объект Python и преобразует его в строковое представление и выгружает его в файл с помощью функции дампа, этот процесс называется травлением. В то время как процесс извлечения исходных объектов Python из сохраненного строкового представления называется распаковкой.
4) Как интерпретируется Python?
Язык Python - это интерпретируемый язык. Программа Python запускается прямо из исходного кода. Он преобразует исходный код, написанный программистом, в промежуточный язык, который снова переводится на машинный язык, который должен быть выполнен.
5) Как память управляется в Python?
- Память Python управляется частным пространством кучи Python. Все объекты и структуры данных Python находятся в частной куче. Программист не имеет доступа к этой частной куче, и интерпретатор заботится об этой частной куче Python.
- Выделение пространства кучи Python для объектов Python выполняется диспетчером памяти Python. Базовый API предоставляет программисту доступ к некоторым инструментам для программирования.
- Python также имеет встроенный сборщик мусора, который перерабатывает всю неиспользуемую память, освобождает память и делает ее доступной для пространства кучи.
6) Какие инструменты помогают находить ошибки или выполнять статический анализ?
PyChecker - это инструмент статического анализа, который обнаруживает ошибки в исходном коде Python и предупреждает о стиле и сложности ошибки. Pylint - еще один инструмент, который проверяет, соответствует ли модуль стандарту кодирования.
7) Что такое декораторы Python?
Декоратор Python - это конкретное изменение, которое мы вносим в синтаксис Python, чтобы легко изменять функции.
8) В чем разница между списком и кортежем?
Разница между списком и кортежем заключается в том, что список изменяемый, а кортеж - нет. Кортеж может быть хеширован, например, как ключ для словарей.
9) Как аргументы передаются по значению или по ссылке?
Все в Python является объектом, и все переменные содержат ссылки на объекты. Справочные значения соответствуют функциям; в результате вы не можете изменить значение ссылок. Однако вы можете изменить объекты, если они изменяемы.
10) Что такое Dict и List?
Это синтаксические конструкции, упрощающие создание словаря или списка на основе существующих итераций.
11) Какие встроенные типы предоставляет Python?
Существуют изменяемые и неизменяемые типы встроенных питонов. Изменяемые встроенные типы.
- Список
- Наборы
- Словари
Неизменяемые встроенные типы
- Струны
- Кортежи
- Числа
12) Что такое пространство имен в Python?
В Python у каждого введенного имени есть место, где оно живет и может быть зацеплено. Это известно как пространство имен. Это похоже на коробку, в которой имя переменной сопоставляется с помещенным объектом. При каждом поиске переменной будет выполняться поиск в этом поле, чтобы получить соответствующий объект.
13) Что такое лямбда в Python?
Это анонимная функция с одним выражением, часто используемая как встроенная функция.
14) Почему лямбда-формы в Python не имеют операторов?
Лямбда-форма в python не имеет операторов, поскольку она используется для создания нового объекта функции, а затем возвращает их во время выполнения.
15) Что такое проход в Python?
Пропустить означает, что оператор Python не работает, или, другими словами, это заполнитель в составном операторе, где должен оставаться пробел, и в нем ничего не нужно писать.
16) Что такое итераторы в Python?
В Python итераторы используются для итерации группы элементов, контейнеров, таких как список.
17) Что такое unittest в Python?
Фреймворк модульного тестирования в Python известен как unittest. Он поддерживает совместное использование настроек, автоматическое тестирование, код отключения для тестов, объединение тестов в коллекции и т. Д.
18) Что такое нарезка в Python?
Механизм выбора диапазона элементов из таких типов последовательности, как список, кортеж, строки и т. Д., Известен как нарезка.
19) Что такое генераторы в Python?
Способ реализации итераторов известен как генераторы. Это нормальная функция, за исключением того, что она дает выражение в функции.
20) Что такое строка документации в Python?
Строка документации Python известна как docstring, это способ документирования функций, модулей и классов Python.
21) Как можно скопировать объект в Python?
Чтобы скопировать объект в Python, вы можете попробовать copy.copy () или copy.deepcopy () для общего случая. Вы не можете скопировать все объекты, кроме большинства.
22) Что такое отрицательный индекс в Python?
Последовательности Python могут быть индексированы как положительными, так и отрицательными числами. Для положительного индекса 0 - это первый индекс, 1 - второй индекс и так далее. Для отрицательного индекса (-1) - последний индекс, (-2) - второй последний индекс и так далее.
23) Как преобразовать число в строку?
Чтобы преобразовать число в строку, используйте встроенную функцию str (). Если вам нужно восьмеричное или шестнадцатеричное представление, используйте встроенную функцию oct () или hex ().
24) В чем разница между Xrange и range?
Xrange возвращает объект xrange, в то время как range возвращает список и использует ту же память, независимо от размера диапазона.
25) Что такое модуль и пакет в Python?
В Python модуль - это способ структурирования программы. Каждый программный файл Python представляет собой модуль, который импортирует другие модули, такие как объекты и атрибуты.
Папка программы Python представляет собой пакет модулей. Пакет может иметь модули или подпапки.
26) Упомяните, каковы правила для локальных и глобальных переменных в Python?
Локальные переменные : если переменной присваивается новое значение в любом месте тела функции, она считается локальной.
Глобальные переменные : те переменные, которые упоминаются только внутри функции, неявно являются глобальными.
27) Как вы можете разделить глобальные переменные между модулями?
Чтобы разделить глобальные переменные между модулями в рамках одной программы, создайте специальный модуль. Импортируйте модуль конфигурации во все модули вашего приложения. Модуль будет доступен как глобальная переменная для всех модулей.
28) Объясните, как можно сделать исполняемый файл сценария Python в Unix?
Чтобы сделать скрипт Python исполняемым в Unix, вам нужно сделать две вещи:
- Режим файла сценария должен быть исполняемым и
- первая строка должна начинаться с # (#! / usr / local / bin / python)
29) Объясните, как в Python удалить файл?
С помощью команды os.remove (имя файла) или os.unlink (имя файла)
30) Объясните, как вы можете генерировать случайные числа в Python?
Чтобы сгенерировать случайные числа в Python, вам нужно импортировать команду как
случайный импорт
random.random ()
Это возвращает случайное число с плавающей запятой в диапазоне [0,1).
31) Объясните, как вы можете получить доступ к модулю, написанному на Python, из C?
Вы можете получить доступ к модулю, написанному на Python, из C следующим способом:
Модуль = = PyImport_ImportModule ("<имя модуля>");
32) Упомянули об использовании оператора // в Python?
Это оператор деления этажа, который используется для деления двух операндов с результатом как частное, показывая только цифры перед десятичной точкой. Например, 10 // 5 = 2 и 10,0 // 5,0 = 2,0.
33) Назовите пять преимуществ использования Python?
- Python состоит из огромной стандартной библиотеки для большинства интернет-платформ, таких как электронная почта, HTML и т. Д.
- Python не требует явного управления памятью, поскольку интерпретатор сам выделяет память новым переменным и автоматически освобождает их.
- Обеспечивают удобство чтения за счет использования квадратных скобок
- Легко освоить для новичков
- Наличие встроенных типов данных экономит время и усилия программирования, связанные с объявлением переменных.
34) Упомянули об использовании функции разделения в Python ?
Использование функции разделения в Python заключается в том, что она разбивает строку на более короткие строки с использованием определенного разделителя. Он дает список всех слов, присутствующих в строке.
35) Объясните, что такое Flask и его преимущества ?
Flask - это веб-микро-фреймворк для Python, основанный на лицензии BSD «Werkzeug, Jinja 2 и добрые намерения». Werkzeug и jingja - две его зависимости.
Flask - это часть микро-фреймворка. Это означает, что он практически не будет зависеть от внешних библиотек. Это делает фреймворк легким, в то время как мало зависит от обновлений и меньше ошибок безопасности.
36) Упомяните, в чем разница между Django, Pyramid и Flask?
Flask - это «микрофреймворк», созданный в первую очередь для небольшого приложения с более простыми требованиями. В Flask вам не нужно использовать внешние библиотеки. Фляга готова к использованию.
Пирамиды созданы для более крупных приложений. Это обеспечивает гибкость и позволяет разработчику использовать правильные инструменты для своего проекта. Разработчик может выбрать базу данных, структуру URL, стиль шаблона и многое другое. Пирамида тяжело настраивается.
Как и Pyramid, Django также можно использовать для более крупных приложений. Он включает ORM.
37) Расскажите, что такое Flask-WTF и в чем их особенности?
Flask-WTF предлагает простую интеграцию с WTForms. Возможности, включенные в Flask WTF:
- Интеграция с wtforms
- Безопасная форма с токеном csrf
- Глобальная защита csrf
- Интеграция интернационализации
- Поддержка рекапчи
- Загрузка файлов, совместимая с Flask Uploads
38) Объясните, как обычно работает сценарий Flask?
Обычный способ работы сценария фляги:
- Либо это должен быть путь импорта для вашего приложения
- Или путь к файлу Python
39) Объясните, как можно получить доступ к сеансам во Flask?
Сеанс в основном позволяет вам запоминать информацию от одного запроса к другому. Во флаконе он использует подписанный файл cookie, чтобы пользователь мог просматривать содержимое сеанса и вносить изменения. Пользователь может изменить сеанс, если только у него есть секретный ключ Flask.secret_key.
40) Является ли Flask моделью MVC, и если да, приведите пример, показывающий шаблон MVC для вашего приложения?
По сути, Flask - это минималистичный фреймворк, который ведет себя так же, как фреймворк MVC. Итак, MVC идеально подходит для Flask, а шаблон для MVC мы рассмотрим в следующем примере.
из фляги импорт фляги app = Flask (_name_) @ app.route ("/") Def привет (): return "Hello World" app.run (отладка = True) |
В этом коде ваш,
из фляги импорт фляги app = Flask (_name_)
@ app.route ("/") Def привет (): return "Hello World"
app.run (отладка = True) |
41) Объясните подключение к базе данных в Python Flask?
Flask поддерживает приложения на базе базы данных (RDBS). Такая система требует создания схемы, которая требует передачи файла shema.sql по конвейеру в команду sqlite3. Поэтому вам нужно установить команду sqlite3, чтобы создать или запустить базу данных во Flask.
Flask позволяет запрашивать базу данных тремя способами
- before_request (): они вызываются перед запросом и не передают аргументов
- after_request (): они вызываются после запроса и передают ответ, который будет отправлен клиенту.
- teardown_request (): они вызываются в ситуации, когда возникает исключение, и ответ не гарантируется. Они вызываются после создания ответа. Им не разрешено изменять запрос, и их значения игнорируются.
42) У вас есть несколько серверов Memcache, на которых работает Python, на котором один из серверов memcacher выходит из строя, и на нем есть ваши данные, попытается ли он когда-нибудь получить ключевые данные с этого одного отказавшего сервера?
Данные на отказавшем сервере не будут удалены, но есть возможность автоматического отказа, которую вы можете настроить для нескольких узлов. Отработка отказа может быть инициирована во время любого типа ошибок на уровне сокета или сервера Memcached, но не во время обычных ошибок клиента, таких как добавление существующего ключа и т. Д.
43) Объясните, как можно минимизировать сбои сервера Memcached при разработке Python?
- Когда один экземпляр выходит из строя, несколько из них выходят из строя, это увеличивает нагрузку на сервер базы данных, когда потерянные данные перезагружаются по мере того, как клиент делает запрос. Чтобы избежать этого, если ваш код был написан так, чтобы свести к минимуму зацикливание на кеше, это окажет минимальное влияние.
- Другой способ - запустить экземпляр Memcached на новом компьютере, используя IP-адрес потерянного компьютера.
- Код - еще один вариант минимизировать простои сервера, поскольку он дает вам возможность изменять список серверов Memcached с минимальными усилиями.
- Установка значения тайм-аута - это еще один вариант, который некоторые клиенты Memcached применяют для отключения сервера Memcached. Когда ваш сервер Memcached выходит из строя, клиент будет продолжать попытки отправить запрос, пока не будет достигнут предел времени ожидания.
44) Объясните, что такое эффект Dogpile? Как можно предотвратить этот эффект?
Эффект Dogpile относится к событию, когда истекает срок действия кеша, и веб-сайты подвергаются воздействию нескольких запросов, сделанных клиентом в одно и то же время. Этот эффект можно предотвратить, используя блокировку семафоров. В этой системе, когда значение истекает, первый процесс получает блокировку и начинает генерировать новое значение.
45) Объясните, почему Memcached не следует использовать в вашем проекте Python?
- Распространенное неправильное использование Memcached - использовать его как хранилище данных, а не как кеш.
- Никогда не используйте Memcached как единственный источник информации, необходимой для запуска вашего приложения. Данные всегда должны быть доступны и из другого источника.
- Memcached - это просто хранилище ключей или значений и не может выполнять запросы к данным или перебирать содержимое для извлечения информации.
- Memcached не предлагает никаких форм безопасности ни при шифровании, ни при аутентификации.