HR-блог про IT рекрутинг от ИТ Кадрового агентства

Полный список вопросов с собеседований по Python

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

Понимание Python

Гвидо ван Россум создал и запустил Python 20 февраля 1991 года. Он позволяет использовать динамическую семантику. Это бесплатный язык программирования с открытым исходным кодом и ясным и простым синтаксисом. Python прост для изучения и понимания разработчиками из-за всех этих факторов. Python в основном используется для программирования общего назначения, а также поддерживает объектно-ориентированное программирование.
Популярность Python стремительно растет из-за его простоты использования и способности выполнять различные функции с меньшим количеством строк кода. Благодаря своей способности выполнять сложные вычисления с помощью сложных библиотек, он также используется в искусственном интеллекте, машинном обучении, парсинге веб-страниц, создании веб-сайтов и других дисциплинах. Поэтому разработчики Python пользуются большим спросом на международном уровне.
Вот список некоторых продвинутых вопросов для собеседования по Python:

1. Как получить доступ к модулю, написанному на Python, из C?

ОТВЕЧАТЬ:
Любой разработчик Python должен быть знаком с тем, как работает Python. Однако нет смысла пытаться получить точное совпадение. Вместо этого следите за сообщениями из первых рук об использовании кандидатами определенных функций.
Ниже описано, как получить указатель на объект модуля:
 module = PyImport_ImportModule("");
Важно отметить, что он не вводит модуль ни в какое пространство имен. Это только гарантирует, что он был инициализирован и сохранен в модулях sys.

2. Как получить Res_set из Train_set и Test_set снизу?

>>train_set=np.массив([1, 2, 3])

>> test_set = np.array ([[0, 1, 2], [1, 2, 3])

Res_set [[1, 2, 3], [0, 1, 2], [1, 2, 3]]
Выберите правильный вариант:
  1. res_set = train_set.append (test_set)
  2. res_set = np.concatenate([train_set, test_set]))
  3. результирующий_набор = np.vstack([train_set, test_set])
  4. Ни один из этих
ОТВЕТ:
resulting_set = np.vstack([train_set, test_set])
В этой ситуации нам нужна вертикальная укладка, хотя оба варианта a и b будут выполнять горизонтальную укладку. В результате вариант утверждения c верен.

3. Как в Python перевернуть список? Когда это выгодно?

ОТВЕТ:
Python’s reverse() and reversed() functions can be used to reverse a list. They reverse the list around but don’t make a new one.
Этот метод, например, может быть применен для сортировки списка. Список имен в обратном алфавитном порядке должен быть перевернут, чтобы быть организованным в алфавитном порядке, что может быть достигнуто с помощью функции реверса.

4. Что выводит следующий код:

list = [‘alfa’, ‘bravo’, ‘charlie’, ‘delta’. ‘echo’]

print list[10:]
КАК ОТВЕЧАТЬ:
Вы можете узнать больше о методах работы соискателей, попросив их просмотреть пример кода. Цель состоит в том, чтобы наблюдать за рассуждениями соискателей, а не получать безупречные ответы, так как на большинство вопросов можно найти ответ, выполнив поиск в Google. Но имейте в виду, что «головоломки» и вопросы «попался» в основном служат пустой трате времени.

5. При использовании Pandas для чтения файла вы видите ошибку «Temp.Csv». Что из следующего может это исправить?

Ошибка:
Traceback (most recent call last): File "<input>", line 1, in<module> UnicodeEncodeError:
Кодек ascii не может кодировать символ.
Выберите правильный ответ:
  1. read_csv («temp.csv», сжатие = 'gzip')
  2. read_csv («temp.csv», диалект = 'str')
  3. read_csv («temp.csv», кодировка = 'utf-8 ' )
  4. Ни один из этих
ОТВЕЧАТЬ:
pd.read_csv("temp.csv", encoding='utf-8') может это исправить.
Причиной проблемы является несоответствие между кодировкой utf-8 и Unicode.

6. Можно ли использовать «Продолжение» и «Разрыв» вместе?

КАК ОТВЕЧАТЬ:
Последующий запрос, следующий за первоначальным запросом, можно комбинировать со словами break и continue. В то время как «continue» мгновенно запускает следующую итерацию цикла, «break» завершает выполнение текущего цикла.

7. Объясните разницу между генераторами и итераторами.

КАК ОТВЕЧАТЬ:
Прежде чем вернуть первый результат, итератор сохраняет в памяти всю последовательность. Итераторы используют ключ возврата. Генератор вычисляет каждый результат по мере необходимости. Далее следует неизвестный результат. Выход — это то, что использует генератор.
Таким образом, вы должны использовать генератор для обработки потоков или когда использование памяти имеет решающее значение. Итераторы не являются генераторами; они всего лишь итераторы.

8. Вызов Python по ссылке или вызов по значению? Как аргументы передаются по значению или по ссылке?

КАК ОТВЕЧАТЬ:
В Python все является объектом, и каждая переменная имеет ссылку на объект. Вы не можете изменить значение ссылок, потому что они устанавливаются в соответствии с функциями. Однако, если объект пластичен, вы можете изменить его.

9. Как бы вы сбросили индекс фрейма данных в определенный список? Выберите подходящий вариант.

  1. reset_index (новый_индекс,)
  2. переиндексировать (новый_индекс,)
  3. переиндекс_подобный (новый_индекс,)
  4. Ни один из этих
КАК ОТВЕЧАТЬ:
  1. df.reindex_like(new_index,)

10. Объясните, что такое GIL в Python?

КАК ОТВЕЧАТЬ:
Что касается управления памятью, Python не придерживается безопасности потоков. Таким образом, GIL является узким местом, если вы запускаете несколько потоков, поскольку в данный момент он разрешает доступ к памяти только одному потоку. Все в порядке, если все происходит в одном потоке. Однако GIL приостанавливает все остальные потоки, когда один из них обращается к памяти в многопоточной среде.
Скрипты Python с несколькими потоками испытывают трудности с этим. У Python с этим проблем нет, потому что у каждого процесса своя память. Посмотрите, обсуждает ли ваш кандидат «узкие места», «многопоточность» и «управление памятью». Возможными исправлениями являются многопроцессорность, расширения C или другие реализации Python, такие как IronPython или Cython.

11. Что такое изменчивый против. Неизменяемые типы?

КАК ОТВЕЧАТЬ:
Неизменяемый тип нельзя изменить. Примеры включают строки, числа с плавающей запятой, целые числа и кортежи. Изменяемый тип также адаптируется — словари, наборы, классы и списки.
В последующем вы хотите, чтобы заявитель разъяснил, как неизменяемые типы могут изменяться, тогда как неизменяемые типы указывают на ячейки памяти, а не на реальные значения.

12. Как вы можете копировать объекты в Python?

КАК ОТВЕЧАТЬ:
Функция, используемая для копирования объектов в Python, — это copy.copy для поверхностного копирования и copy.deepcopy() для глубокого копирования.

Мы - ИТ кадровое агентство, которое поможет вам найти разработчиков за менее чем 2 недели. Свяжитесь с нами уже сегодня, чтобы узнать, как мы можем помочь масштабировать ваш следующий проект. Мы гарантируем поиск самого сильного кандидата, а не самого дорогого. За 10 лет мы закрыли более 5500 вакансий и собрали более 25 команд с нуля. Вы можете ознакомиться с отзывами наших клиентов о нашем рекрутинговом агентстве. Если вам нужны дополнительные референсы, напишите нам в Telegram.