Forwarded from CodeCamp
Самое сложное в работе программиста — найти работу, ведь многие засыпаются на собеседовании на, казалось бы, простых вопросах.
Если чувствуете, что на собеседовании вас могут «подушить» по Python, подготовиться поможет список популярных вопросов, которые рекрутёры чаще всего задают.
Если чувствуете, что на собеседовании вас могут «подушить» по Python, подготовиться поможет список популярных вопросов, которые рекрутёры чаще всего задают.
bookflow.ru
Список вопросов с собеседований по Python
Полный список вопросов с собеседований по Python для дата-сайентистов и инженеров
📌 Замыкание
Это когда вложенная функция обращается к переменной из внешней функции. Даже если внешняя функция уже выполнилась.
Подобная штука часто используется в функциональном программировании. На её основе создано куча алгоритмов.
Но это довольно требовательная операция, поэтому, если есть другой вариант решения задачи, используйте его.
#урок
Это когда вложенная функция обращается к переменной из внешней функции. Даже если внешняя функция уже выполнилась.
Подобная штука часто используется в функциональном программировании. На её основе создано куча алгоритмов.
Но это довольно требовательная операция, поэтому, если есть другой вариант решения задачи, используйте его.
#урок
📌 Парсим HTML
Библиотек много, но лучшая из них — lxml. Основное её преимущество — она быстрая.
Установка:
🐙 GitHub
#урок
Библиотек много, но лучшая из них — lxml. Основное её преимущество — она быстрая.
Установка:
pip install lxml
Если вы собираете работать с повреждёнными HTML/XML файлами, то выбирайте html5lib, эта библиотека медленная, но стабильная. Если же вам нужно быстренько взять какие-то данные с сайта, не раздумывая, выбирайте lxml.🐙 GitHub
#урок
Что быстрее, [] или list()?
Спойлер:[] быстрее чем вызов функции
На этот вопрос ответит timeit — модуль, замеряющий время выполнения определённых команд.
Она в разы лучше, чем измерение с помощью time, поскольку позволяет точнее просчитать результат.
Кстати, подробнее ответ на вопрос из названия разбирается в этой статье.
📕 Документация
#урок
Спойлер:
Она в разы лучше, чем измерение с помощью time, поскольку позволяет точнее просчитать результат.
Кстати, подробнее ответ на вопрос из названия разбирается в этой статье.
📕 Документация
#урок
📌 Учим приложения общаться друг с другом
Как-то приложения должны делится информацией илля этого есть прекрасный фреймворк - hug. Он быстро создаёт API, с помощью которого можно взаимодействовать с приложением.
Установка:
Всё очень легко, копируем пример с официального сайта и запускаем с помощью
#урок
Как-то приложения должны делится информацией илля этого есть прекрасный фреймворк - hug. Он быстро создаёт API, с помощью которого можно взаимодействовать с приложением.
Установка:
pip3 install hug
С его помощью можно быстро написать API для браузера (HTTP) или терминала (CLI). Также он считается самым простым фреймворком для создания оболочки взаимодействия пользователя с приложением.Всё очень легко, копируем пример с официального сайта и запускаем с помощью
hug -f file.py
. Потом открываем браузер и переходим по http://127.0.0.1:8000/echo.#урок
📌 else в цикле
Да-да, else есть и у циклов. Этот блок существует и выполняется только если цикл завершил свою работу без вызова break.
Если на пути цикл встретит continue или появится ошибка, то код из else всё равно выполнится. Так удобно выполнять код до первого "исключения" в логике.
📕 Документация
#урок
Да-да, else есть и у циклов. Этот блок существует и выполняется только если цикл завершил свою работу без вызова break.
Если на пути цикл встретит continue или появится ошибка, то код из else всё равно выполнится. Так удобно выполнять код до первого "исключения" в логике.
📕 Документация
#урок
📌 Что такое PEP?
Python Enhancement Proposals — предложения по улучшению Python. Самый лучший источник знаний по этому языку.
Здесь описываются не только предложения, как улучшить Python, но и как сам по себе работает этот язык.
Самым популярным представителем PEP является PEP 8 — правила по оформлению кода, написанного на Python.
Вот ещё несколько PEP'ов, которые можно почитать: PEP 343 (with), PEP 557 (dataclasses). Все можно найти на PEP 0.
#урок
Python Enhancement Proposals — предложения по улучшению Python. Самый лучший источник знаний по этому языку.
Здесь описываются не только предложения, как улучшить Python, но и как сам по себе работает этот язык.
Самым популярным представителем PEP является PEP 8 — правила по оформлению кода, написанного на Python.
Вот ещё несколько PEP'ов, которые можно почитать: PEP 343 (with), PEP 557 (dataclasses). Все можно найти на PEP 0.
#урок
📌 Упрощаем работу с JSON
Это хорошо, когда у вас небольшой JSON с данными о статусе и сообщением, но как быть программистам с миллионным вложением? JMESPath
Установка:
👨💻 Урок по языку
📕 Документация по модулю
#урок
Это хорошо, когда у вас небольшой JSON с данными о статусе и сообщением, но как быть программистам с миллионным вложением? JMESPath
Установка:
pip install jmespath
Это не фича питона, это отдельный язык который используется для обработки данных в JSON. Вы можете искать, сортировать, считать значения.👨💻 Урок по языку
📕 Документация по модулю
#урок
📌 from typing import TypedDict
Новинка в Python 3.8, она позволяет давать аннотации словарям. Это очень удобно, поскольку IDE сразу предлагает ключи, а Python проверяет соответствие типов.Важной особенностью является то, что в объекте не может быть ключей, которые не определены в классе (иначе выдаст предупреждение).
📕 PEP 589
#урок
🧩 В каких сферах стоит использовать Python
• Язык программирования Python действительно универсален. Он применим во многих сферах информационных технологий, разработки и программирования.
🧷 https://itproger.com/news/v-kakih-sferah-stoit-ispolzovat-python
#Статья
• Язык программирования Python действительно универсален. Он применим во многих сферах информационных технологий, разработки и программирования.
🧷 https://itproger.com/news/v-kakih-sferah-stoit-ispolzovat-python
#Статья
📌 Избавляемся от отступов в многострочных строках
Если вы уже использовали тройные кавычки в своём проекте, то знаете, что у них серьёзные проблемы с отступами. То, что мы делаем для красоты, остаётся в проекте.
Мы можем пойти двумя путями: полностью убрать отступы, что сделает код некрасивым, или использовать
📕 Документация
#урок
Если вы уже использовали тройные кавычки в своём проекте, то знаете, что у них серьёзные проблемы с отступами. То, что мы делаем для красоты, остаётся в проекте.
Мы можем пойти двумя путями: полностью убрать отступы, что сделает код некрасивым, или использовать
textwrap.dedent()
.📕 Документация
#урок
🧩 Что не нужно делать при помощи Python
• Несмотря на масштабное использование Python в разных сферах IT, он все же не является идеальным решением для некоторых задач. Есть более подходящие ЯП для реализации следующих процессов.
🧷 https://itproger.com/news/chto-ne-nuzhno-delat-pri-pomoshti-python
#Статья
• Несмотря на масштабное использование Python в разных сферах IT, он все же не является идеальным решением для некоторых задач. Есть более подходящие ЯП для реализации следующих процессов.
🧷 https://itproger.com/news/chto-ne-nuzhno-delat-pri-pomoshti-python
#Статья
📌 contextvars — недооценённая возможность Python
Этот модуль позволяет нам передавать данные между функциями. Это, можно так выразиться, локальное хранилище, в которое можно что-то положить и потом вытащить.
То есть вы задаёте значение и сохраняете его в contextvars и создаёте дочернюю функцию на обработку. Когда наступит время, она возьмёт нужную информацию из контекста.
К сожалению, у модуля скудная документация, так что самым пытливым придётся читать PEP.
Доступно с Python 3.7
#урок
Этот модуль позволяет нам передавать данные между функциями. Это, можно так выразиться, локальное хранилище, в которое можно что-то положить и потом вытащить.
То есть вы задаёте значение и сохраняете его в contextvars и создаёте дочернюю функцию на обработку. Когда наступит время, она возьмёт нужную информацию из контекста.
К сожалению, у модуля скудная документация, так что самым пытливым придётся читать PEP.
Доступно с Python 3.7
#урок
Что такое Python и почему вы захотите его изучить?
• Как думаешь, какой язык программирования сейчас самый популярный? Если погуглить, то окажется, что это Python. А почему так, основы питона и какие зарплаты получают пайтон программисты сейчас расскажем и покажем.
🧷 https://youtu.be/MunPNYumw6M
#Видео
• Как думаешь, какой язык программирования сейчас самый популярный? Если погуглить, то окажется, что это Python. А почему так, основы питона и какие зарплаты получают пайтон программисты сейчас расскажем и покажем.
🧷 https://youtu.be/MunPNYumw6M
#Видео
📌 pytest — лучший фреймворк для теста
Тестировать код нужно обязательно. Есть даже отдельная методология — TDD, где ты сначала пишешь тесты, а потом только код. Лучшим решением в Python для этого будет pytest.
Почему лучшим? Потому что это самая популярная система, а значит по ней много уроков и вопросов с ответами на StackOverflow.
Ещё фреймворк довольно быстрый и простой в использовании. Несколько строчек и вы уже знаете, где у вас ошибка.
📕 Документация
#урок
Тестировать код нужно обязательно. Есть даже отдельная методология — TDD, где ты сначала пишешь тесты, а потом только код. Лучшим решением в Python для этого будет pytest.
Почему лучшим? Потому что это самая популярная система, а значит по ней много уроков и вопросов с ответами на StackOverflow.
Ещё фреймворк довольно быстрый и простой в использовании. Несколько строчек и вы уже знаете, где у вас ошибка.
📕 Документация
#урок
Курс Python для начинающих
• Обзор ускоренного курса Python
• Привет от Питона
• Базовые типы
• Преобразование между типами
• Ложные значения
• Выбор названий для переменных и констант
• Переменные и динамическая типизация
• Базовые типы копируются по значению
• Увеличение и уменьшение переменных
• Списки
• Tuples
• Словари
• Копирование по ссылке
• Наборы
• Итоги по типам контейнеров
• Установка и настройка Code Runner в VS Code
• Функции
• Позиционные аргументы
• Именованные аргументы
• Сбор всех аргументов в tuple
• Перебор значений с использованием цикла for...in
• Использование kwargs в функциях
• Описание функций
• Операторы сравнения
• Логический оператор and
• Оценка короткого замыкания
• Логический оператор or
• Логический оператор not
• Комбинация операторов и приоритет
• Условные инструкции if
• Форматирование строк
• Обработка ошибок с использованием try…except
• Модули Python
🧷 https://youtu.be/82DKIKRgAdw
#Видео
• Обзор ускоренного курса Python
• Привет от Питона
• Базовые типы
• Преобразование между типами
• Ложные значения
• Выбор названий для переменных и констант
• Переменные и динамическая типизация
• Базовые типы копируются по значению
• Увеличение и уменьшение переменных
• Списки
• Tuples
• Словари
• Копирование по ссылке
• Наборы
• Итоги по типам контейнеров
• Установка и настройка Code Runner в VS Code
• Функции
• Позиционные аргументы
• Именованные аргументы
• Сбор всех аргументов в tuple
• Перебор значений с использованием цикла for...in
• Использование kwargs в функциях
• Описание функций
• Операторы сравнения
• Логический оператор and
• Оценка короткого замыкания
• Логический оператор or
• Логический оператор not
• Комбинация операторов и приоритет
• Условные инструкции if
• Форматирование строк
• Обработка ошибок с использованием try…except
• Модули Python
🧷 https://youtu.be/82DKIKRgAdw
#Видео
📌 Сборщик мусора
В старых языках (C++, asm) мы, как программисты, должны были самостоятельно убирать остатки работы после себя: созданные классы, огромные куски данных, коллекции.
В современных языках (Java, C#, Python, JavaScript) есть сборщики мусора, которые занимаются очищением памяти. Они удаляют объекты, если те никому не нужны (на них больше нет ссылок).
В Python даже есть отдельный модуль для взаимодействия со сборщиком мусора — gc. Он вам может пригодиться только на собеседовании.
📕 Документация
#урок
В старых языках (C++, asm) мы, как программисты, должны были самостоятельно убирать остатки работы после себя: созданные классы, огромные куски данных, коллекции.
В современных языках (Java, C#, Python, JavaScript) есть сборщики мусора, которые занимаются очищением памяти. Они удаляют объекты, если те никому не нужны (на них больше нет ссылок).
В Python даже есть отдельный модуль для взаимодействия со сборщиком мусора — gc. Он вам может пригодиться только на собеседовании.
📕 Документация
#урок
Шпаргалка по основам Python
• Здесь собраны переменные, методы, индексы и срезы, а также форматирование дат с соответствующими подсказками в сносках. Если вы только начали изучать программирование на языке Python, смело обращайтесь к этой шпаргалке
🧷 https://cheatography.com/davechild/cheat-sheets/python/
#Шпаргалка
• Здесь собраны переменные, методы, индексы и срезы, а также форматирование дат с соответствующими подсказками в сносках. Если вы только начали изучать программирование на языке Python, смело обращайтесь к этой шпаргалке
🧷 https://cheatography.com/davechild/cheat-sheets/python/
#Шпаргалка
📌 Виртуальное окружение Python
Библиотека, которую использует приложения для работы называется зависимостью. Чтобы не захламлять систему, модули, относящиеся к одному проекту решили отделять в виртуальные окружения.
Виртуальное окружение это папка с исполняемыми файлами (python, pip) и библиотеками. Она встречается под именем venv.
Окружение автоматически создаётся в PyCharm или командой:
📕 Документация
#урок
Библиотека, которую использует приложения для работы называется зависимостью. Чтобы не захламлять систему, модули, относящиеся к одному проекту решили отделять в виртуальные окружения.
Виртуальное окружение это папка с исполняемыми файлами (python, pip) и библиотеками. Она встречается под именем venv.
Окружение автоматически создаётся в PyCharm или командой:
python3 -m venv venv
. 📕 Документация
#урок