Продолжение поста «Как я стал Python-разработчиком»

Расскажу о самых популярных вопросах, которые обязательно зададут на собеседовании по Python для джунов. Именно эти вопросы мне в своё время задавали на собеседовании, поэтому читаем и сохраняем себе на будущее. Ещё были задачки, но о них напишу чуть позже.

В чем разница между списком и кортежем? Ответ: список объявляется в квадратных скобках и может быть изменен, в то время как кортеж объявляется в скобках и не может быть изменен.

Как выполняется интерполяция строк? Ответ: интерполяция строк в Python позволяет вставлять значения переменных внутрь строки. Для выполнения интерполяции используется символ % и кортеж значений, которые нужно вставить в строку. Пример:

Продолжение поста «Как я стал Python-разработчиком» Python, Программирование, Программист, Длиннопост, Ответ на пост

Что такое декоратор? Ответ: это функция в Python, которая позволяет добавить новую функциональность к существующей функции. Пример, где декоратор my_decorator принимает функцию func в качестве аргумента и возвращает новую функцию wrapper:

Продолжение поста «Как я стал Python-разработчиком» Python, Программирование, Программист, Длиннопост, Ответ на пост

Что такое функция range? Ответ: функция range используется для создания последовательности чисел. Она принимает 3 аргумента: начальное значение, конечное значение и шаг. Например, для создания последовательности чисел от 0 до 9 мы напишем такой код:

Продолжение поста «Как я стал Python-разработчиком» Python, Программирование, Программист, Длиннопост, Ответ на пост

В чём разница между методами экземпляра, класса и статическими методами? Ответ:

  • Методы экземпляра - это методы, которые относятся к определённому экземпляру класса и принимают параметр self.

  • Статические методы - это методы, которые не относятся к конкретному экземпляру класса, не имеют доступа к атрибутам экземпляра и используют декоратор staticmain.

  • Методы класса - это методы, которые относятся к классу в целом, а не к конкретному экземпляру, и принимают параметр cls. Они могут изменять состояние класса, но не экземпляров класса.

В чем разница между func и func()? Ответ: fun" - это имя функции, а func() - это вызов функции.

Как работает функция reduce? Ответ: Функция reduce() принимает функцию и последовательность и обрабатывает эту последовательность. На каждой итерации функция получает текущий элемент и результат предыдущего вызова. В результате функция возвращает одно значение.

Переменные в Python передаются по ссылке или по значению? Ответ: Переменные в Python передаются по ссылке.

Как работает умножение строк? Ответ: умножение строки на число создает новую строку, которая содержит несколько копий исходной строки, разделенных между собой. Например, выражение "hello" * 3 создаст новую строку "hellohellohello".

В чем разница между списками и массивами? Ответ: основная разница между ними в том, что это разные способы хранения последовательностей. Списки (list) в питоне являются встроенным в сам язык способом хранить последовательности. А массивы (array) требуют импортировать библиотеки. В списке можно хранить элементы разных типов. В массиве только элементы одного типа, из-за чего требуется меньше памяти. У списков свои встроенные методы для работы с элементами. У массивов свои, притом в разных библиотеках разные.

Как округлить число до трех десятичных знаков? Ответ: можно использовать функцию round(), Например, чтобы округлить число 3.14159265359 до трех десятичных знаков напишем round(3.14159265359, 3).

Какая разница между словарями и JSON? Ответ: словари используются для хранения данных в памяти компьютера в Python, тогда как JSON используется для передачи данных между различными системами и языками программирования.

Список дополнительных вопросов, которые нужно задавать на собеседовании стажёру / junior'у (по моему скромному мнению):

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

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

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

  4. Что такое функция?

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

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

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

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

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

  10. Что такое итераторы?

  11. Что делает [:: -1}?

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

  13. Что такое функция map?

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

  15. Как создать пустой класс?

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

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

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

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

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

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

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

Другие записи об образовательном портале ищите по тэгу Skillfactory. Скидки и актуальные предложения для Skill Factory ищите в нашем купонном разделе. Там вы найдёте актуальные промокоды для Skillfactory.