Каждый день все больше и больше компаний ищут квалифицированных программистов, веб-разработчиков и программистов. Свободное владение языком программирования может гарантировать вам хорошую зарплату и отличную работу. Из тысяч языков программирования, которые в настоящее время существуют, работа с файлами Python показала себя как самый востребованный навык программирования, а также программы на Python требуют обслуживания со стороны квалифицированных специалистов. Вот почему сегодня мы поговорим о вопросах к собеседованию по Python - чтобы подготовить вас к успешному прохождению интервью!
В этой статье мы рассмотрим как основные, так и технические аспекты. Сначала будут затронуты базовые вопросы про язык Питон, а затем уже более продвинутые.
Содержание
- 1. Введение
- 1.1. Вопрос 1: Что такое Python?
- 1.2. Вопрос 2: Чем Python лучше Java?
- 1.3. Вопрос 3: Какие есть типы данных у Python?
- 1.4. Вопрос 4: В чем разница между tuple и list?
- 1.5. Вопрос 5: В чем разница между Pickling и Unpickling?
- 1.6. Вопрос 6: Что такое lambda?
- 1.7. Вопрос 7: Как происходит управление памятью в Python?
- 1.8. Вопрос 8: Что такое pass?
- 1.9. Вопрос 9: Можете ли вы копировать объект в Python?
- 1.10. Вопрос 10: Как удалять файлы в Python?
- 1.11. Вопрос 11: Что такое Dictionary?
- 1.12. Вопрос 12: Язык Питон интерпретируем?
- 1.13. Вопрос 13: Какая строчка неверна?
- 1.14. Вопрос 14: Язык Питон объектно-ориентирован?
- 1.15. Вопрос 15: Что такое slicing?
- 2. Продвинутые вопросы
- 2.1. Вопрос 1: Составьте строчки кода, которая даст нужный результат
- 2.2. Вопрос 2: Напишите код, который будет случайным образом расставлять элементы из списка.
- 2.3. Вопрос 3: Есть ли разница между “range” и “xrange”?
- 2.4. Вопрос 4: Что такое Dogpile effect (Проблема одновременного построения хэшей)?
- 2.5. Вопрос 5: Объясните, что такое Encapsulation
- 2.6. Вопрос 6: Когда случается ошибка Abnormal Termination?
- 2.7. Вопрос 7: Напишите код, результат которого подсчитает все заглавные буквы в вашем тексте.
- 2.8. Вопрос 8: Есть ли у Python компилятор?
- 2.9. Вопрос 9: Что такое Monkey Patching?
- 2.10. Вопрос 10: Как сохранить изображение, если вы знаете только его URL?
- 2.11. Вопрос 11: Если list1 равен [4, 6, 8, 1, 0, 3], каким будет list1 [-1]?
- 2.12. Вопрос 12: Что такое decorator?
- 2.13. Вопрос 13: Что такое методы sub (), subn () и split ()?
- 2.14. Вопрос 14: Что делают процессы “compiling” и “linking”?
- 2.15. Вопрос 15: Что делают функции “help()” и “dir()”?
- 3. Общие советы
- 4. Заключение
Введение
Давайте начнем с более общих вопросов. Это вопросы, которые вам, скорее всего, зададут в начале интервью, просто чтобы узнать, действительно ли вы имеет представление, что такое работа с файлами Python. После этого мы перейдем к некоторым техническим аспектам и закончим несколькими общими советами и рекомендациями.
Последняя сделка действительна прямо сейчас:
GET 50% OFF
DataCamp Black Friday Sale
During this DataCamp Black Friday, you can access the top-rated courses with a 50% discount. Enroll now for way less!
Вопрос 1: Что такое Python?
Как вы, вероятно, и ожидали, это один из самых первых вопросов по Python, который вам обязательно зададут. Ваши работодатели, вероятно, будут ожидать краткого и подробного ответа, поэтому давайте подготовим хотя бы один.
Python - это переносимый высокоуровневый язык программирования, который имеет встроенное автоматическое управление памятью, потоками, строками на основе объектов. Его любят за простоту и встроенную структуру данных. Python имеет открытый исходный код, что также увеличивает его популярность.
Вопрос 2: Чем Python лучше Java?
Некоторые вопросы задаются на сравнение с другими языками программирования - они могут быть случайными, но сравнение с Java кажется наиболее распространенным вариантом, который задают работодатели.
Python (по сравнению с Java) проще в использовании и гораздо быстрее программируется. Кроме того, когда речь идет о данных, Java статически типизируется, а Python имеет динамическую типизацию. Это считается огромной разницей. Вы просто должны это знать, если перед вами работа с файлами Python.
Вопрос 3: Какие есть типы данных у Python?
Один из наиболее распространенных вопросов об интервью, если вы знаете Python основы - вас могут попросить либо назвать число, либо перечислить их.
Python имеет пять различных типов данных: string (строка), list (список), number (число), dictionary (словарь) и tuple (кортеж).
Вопрос 4: В чем разница между tuple и list?
Основное отличие состоит в том, что списки работают медленнее, но их можно редактировать, а кортежи работают быстрее, но нельзя изменить.
Вопрос 5: В чем разница между Pickling и Unpickling?
Консервация происходит, когда модуль Python принят и преобразован в строчный модуль, а затем выгружен в файл.
В отличие от этого, расконсервация - это когда вы извлекаете строчный модуль из файла.
Отвечая на эти вопросы по Python, постарайтесь изложить свои мысли максимально просто. Ваши потенциальные работодатели, вероятно, оценят, что вы можете объяснить сложные темы простым для понимания способом.
Вопрос 6: Что такое lambda?
Lambda - анонимно выполняемая функция с одним-единственным выражением.
Вопрос 7: Как происходит управление памятью в Python?
Python private heap space отвечает за управление памятью. Он доступен только для переводчика - если вы программист на Python, то вам это недоступно. В языке также есть встроенный переработчик, который отвечает за создание более свободного места в куче (это делается путем утилизации неиспользуемой памяти).
Вопрос 8: Что такое pass?
Pass указывает на пробел, который следует оставить пустым в составном операторе.
Вопрос 9: Можете ли вы копировать объект в Python?
Несмотря на то, что этот вопрос довольной общий, вы, вероятно, будете удивлены, как много людей на самом деле умудряются наткнуться на него.
Да, вы можете копировать объекты в Python, но не все. Самый распространенный способ сделать это - использовать команду copy.copy ().
Вопрос 10: Как удалять файлы в Python?
Удалять объекты можно с помощью команды os.remove(название_файла).
Вопрос 11: Что такое Dictionary?
Помните типы данных, о которых мы говорили ранее? Которые встроенные? Словарь именно тот.
Словари состоят из ключей и соответствующих им ключей. Вот пример:
dict={'Car':'Ford','Type':'Mustang','Year':'1967'}
print dict[Car]
Ford
print dict[Type]
Mustang
print dict[Year]
1967
Вопрос 12: Язык Питон интерпретируем?
Опять же, один из наиболее часто задаваемых вопросов на собеседовании по Python - вы обязательно должны помнить об этом.
Да, Python - это интерпретируемый язык программирования. Что это значит? Это трехсторонний процесс - вы пишете исходный код, Python преобразует его в промежуточный язык (для облегчения понимания), а затем он снова преобразуется в машинные коды, которые затем выполняются.
Вопрос 13: Какая строчка неверна?
a) xyz = 5,000,000
b) x,y,z = 1000, 3000, 7000
c) x y z = 1000 3000 7000
d) x_y_z = 5,000,000
Ответ С неверный
Вопрос 14: Язык Питон объектно-ориентирован?
Объектно-ориентированные языки программирования (ООП) основаны на классах и объектах этих классов. Питон имеет все эти функции.
Более того, работа с файлами Python обладает функциями, которые зачисляются в ООП - наследование, полиморфизм и т. д.
Вопрос 15: Что такое slicing?
В Python slicing (слайсы) - это когда вы выбираете несколько элементов из списков, строк и так далее.
Это были самые простые вопросы, которые могут вам попасться на интервью. Человек, который знает Python основы, должен без труда на них ответить. Теперь давайте попробуем продвинуться дальше к вопросам более технического характера о Python.
Продвинутые вопросы
Вопрос 1: Составьте строчки кода, которая даст нужный результат
def list_sum(num_List):
if len(num_List) == 1:
return num_List[0]
else:
return num_List[0] + list_sum(num_List[1:])
print(list_sum([3, 5, 8, 9, 9]))
Результат:
34
Вопрос 2: Напишите код, который будет случайным образом расставлять элементы из списка.
from random import shuffle
x = ['Skyrim', 'Belongs', 'To', 'The', 'Nords']
shuffle(x)
print(x)
Результат: [‘Nords’, ‘Skyrim’, ‘To’, ‘Belongs’, ‘The’].
Вопрос 3: Есть ли разница между “range” и “xrange”?
Да, хотя с первого взгляда неочевидно. С точки зрения функциональности и задач, которые они выполняют, обе команды практически идентичны и программы на Python одинаково интерпретируют их.
Ключевое отличие, однако, заключается в том, что range (при его использовании) возвращает объект списка, в то время как xrange возвращает объект xrange.
Вопрос 4: Что такое Dogpile effect (Проблема одновременного построения хэшей)?
Работа с файлами Python, подразумевает знаний множества теорий и функций, поэтому вы можете столкнуться с такими вопросами на интервью.
Эффект Dogpile возникает, когда срок действия кэша веб-сайта истекает, но на него влияют различные запросы пользователя. Это может вызвать много разных проблем, от скачков задержки до полных сбоев.
Система, называемая семафорной блокировкой, используется для предотвращения появления Dogpiles.
Вопрос 5: Объясните, что такое Encapsulation
Encapsulation (Инкапсуляция) - это одна из особенностей Python, потому что это объектно-ориентированный язык программирования. Не забудьте добавить это в свой список подготовленных ответов.
Encapsulation - это процесс группировки связанных элементов данных в одно и то же место. Наряду с самим членом, инкапсуляция также возвращает свои функции.
Вопрос 6: Когда случается ошибка Abnormal Termination?
Прежде всего, во время вопросов и ответов на собеседовании на Python следует сказать - Abnormal Termination- это плохо. Нормальная работа с файлами Python не допускает появление этой ошибки. Но это почти неизбежно, особенно если вы начинающий программист.
Аварийное завершение - это сбой вашей программы во время ее выполнения, в то время как основные задачи все еще выполняются. Это обычно вызывается неисправным кодом или программными проблемами.
Вопрос 7: Напишите код, результат которого подсчитает все заглавные буквы в вашем тексте.
with open(I_LIKE_APPLES) as fh:
count = 0
text = fh.read()
for character in text:
if character.isupper():
count += 1
Вопрос 8: Есть ли у Python компилятор?
На самом деле это один из самых сложных вопросов для интервью на Python, в основном потому, что на это мало кто обращает внимание.
Вся работа с файлами Python проходит через собственный компилятор, но его довольно легко не заметить. Это потому, что он работает автоматически - вы на самом деле не замечаете этого.
Вопрос 9: Что такое Monkey Patching?
Monkey Patching (обезьяний патч) это те модификации, которые вы вносите в код, когда он уже запущен.
Вопрос 10: Как сохранить изображение, если вы знаете только его URL?
Чтобы сохранить изображение локально, вы должны использовать этот код:
import urllib.request
urllib.request.urlretrieve("URL", "image-name.jpg")
Вопрос 11: Если list1 равен [4, 6, 8, 1, 0, 3], каким будет list1 [-1]?
«-1» всегда указывает на последний элемент в списке, поэтому ответ будет 3.
Вопрос 12: Что такое decorator?
Работа с файлами Python предполагает знание множества терминов, и это один из них. Decorator (декоратор) используется для вставки новых фрагментов кода в уже существующий класс или функцию. С помощью декораторов вы можете заставить эти коды запускаться до или после исходного кода.
Вопрос 13: Что такое методы sub (), subn () и split ()?
Модуль под названием “re” позволяет вам изменять ваши строки в Python. Есть три способа, как вы можете сделать это:
- sub(): находит определенные строки и заменяет их.
- subn(): аналогично sub (), но также возвращает новые строки с точным количеством замен.
- split(): разбивает определенную строку в список.
Я дал вам общий обзор трех “re” методов модификации строк в Python. До собеседования я рекомендую поглубже изучить эту тему. Работа с файлами Python часто использует эти строки. Также это часто задаваемые вопросы, которые интересуют потенциальных работодателей.
Вопрос 14: Что делают процессы “compiling” и “linking”?
Я уже упоминал о компиляторе Python ранее, но это также один из тех вопросов, который может оказаться полезным.
Компиляция (compiling) позволяет вам... Компилировать новые расширения в вашем коде без каких-либо ошибок. После этого связывание (linking) проходит плавно - успешная компиляция сглаживает связывание и устраняет любые возможные проблемы на протяжении всего процесса.
Это может считаться одним из более простых вопросов для интервью по Python, если ваш потенциальный работодатель не попросит вас углубиться в детали.
- Простой в использовании
- Предлагает качественный контент
- Очень открытый в своих ценах
- Бесплатные сертификаты об окончании
- Фокус на навыки науки о данных
- Гибкое расписание занятий
- Простой дизайн (без бесполезной информации)
- Хорошее качество курсов (даже бесплатных)
- Разнообразие возможностей обучения
- Программа Nanodegree
- Подходит для корпоративного обучения
- Платные сертификаты об окончании
- Известная платформа в индустрии
- Широкий спектр особенностей
- Курсы университетского уровня
- Курсы университетского уровня
- Подходит для компаний
- Платные сертификаты об окончании
Вопрос 15: Что делают функции “help()” и “dir()”?
Я подумал, что будет хорошей идеей закончить одним из вопросов технического характера о Python.
Обе эти функции доступны из интерпретатора Python. Они используются для просмотра консолидированных дампов из встроенных функций.
help () показывает строку документации, а dir () отображает определенные символы.
Теперь, когда мы разобрали вопросы для интервью и дал представление о том, как выглядит работа с файлами Python с точки зрения работодателя, давайте перейдем к общим советам, которые вы могли бы применить до и во время интервью.
Общие советы
Собеседование может быть тяжелым и напряженным, но вы не должны позволять этому охватить контроль над вами. Вы можете прочитать все вопросы и ответы, которые вы найдете в Интернете, и все же провалить это интервью. Почему же?
Прежде всего, ваш потенциальный работодатель спросит вас не только о том, как хорошо вы знаете Python основы. Он может спросить вас о вашем предыдущем опыте, умеете ли вы писать программы на Python, проверить, какой вы человек, узнать о ваших увлечениях - все эти факторы очень важны для того, чтобы устроиться на эту работу.
Хороший способ оставить хорошее впечатление - не вести себя так, как будто ваша жизнь зависит от результатов собеседования - если вы сидите там и пытаетесь ответить на технические вопросы по собеседованию на Python, в то же время сильно потея и дрожа, как лист на ветке, вы можете напугать человека, с которым вы разговариваете.
Кроме того, не будьте дерзкими - конечно, у вас может быть 20-летний опыт работы с Python, но вы можете не пройти интервью по Python если ведете себя как высокомерный человек?
Хорошо выспитесь ночью и не беспокойтесь об этом - покажите вашему потенциальному работодателю человека, которым вы действительно являетесь, и вы, вероятно, добьетесь успеха. Помните - эти люди - профессионалы, которые ежедневно имеют дело с сотрудниками - если вы попытаетесь лгать или обманывать, они, скорее всего, поймают вас в считанные секунды.
Вы знали?
Вы когда-либо хотели узнать, какие платформы для онлайн обучения лучше всего подходят для вашей карьеры?
Заключение
Людей, которые знаю, как выглядит работа с файлами Python разбирают с руками и ногами. Когда вы отвечаете на такое количество вопросов по Python, вы становитесь увереннее. Просто помните - уверенность не равна дерзкости.
Итак, мы подошли к концу этой статьи для вопросов по интервью о Python. Я надеюсь, что вы нашли эту информацию интересной и будете использовать ее, чтобы получить эту работу!