Библиотека собеса по Python | вопросы с собеседований
6.15K subscribers
602 photos
9 videos
297 links
Вопросы с собеседований по Python и ответы на них.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/6587aafa

Для обратной связи: @proglibrary_feeedback_bot
加入频道
Очистка элементов в последовательности

Иногда возникает необходимость в удалении ненужных объектов последовательности. Для этого используют itertools, а именно метод compress.

Первым аргументом передаётся контейнер, к примеру список. Вторым аргументом — логические значения, соответствующие элементам в контейнере.

Если логическое значение равно True или 1, то элемент остаётся в последовательности, иначе — удаляется из нее.
Самые полезные каналы для программистов в одной подборке!

Сохраняйте себе, чтобы не потерять 💾

🔥Для всех

Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы

#️⃣C#

Библиотека шарписта
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel

☁️DevOps

Библиотека devops’а
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования

🐘PHP

Библиотека пхпшника
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты

🐍Python

Библиотека питониста
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты

Java

Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков

👾Data Science

Библиотека Data Science — полезные статьи, новости и обучающие материалы
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту

🦫Go

Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go

🧠C++

Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++

💻Другие профильные каналы

Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика

💼Каналы с вакансиями

Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности

📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈

🤖Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT

Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *

* Организация Meta запрещена на территории РФ
Класс Process

Класс Process предоставляется модулем multiprocessing и используется для создания и управления процессами. Процессы являются отдельными экземплярами выполнения программы, каждый со своим собственным пространством памяти, ресурсами и потоками выполнения. Использование процессов вместо потоков может быть полезным в ситуациях, когда требуется более высокая изоляция данных, или когда нужно использовать несколько ядер процессора для параллельной обработки.

Класс Process предоставляет простой способ создания процесса в Python. Он принимает функцию, которую нужно выполнить в новом процессе, и может быть использован для передачи данных между родительским и дочерним процессами.
docstring

docstring — это строковый литерал, который по PEP должен быть сразу после определения названия для модуля, функции, класса или метода. Создаётся с помощью трех двойных кавычек.

В Python docstring игнорируются интерпретатором и не могут быть выполнены. Однако, когда вы добавляете docstring в модуль, функцию и так далее, эта строка становится специальным атрибутом, к которому можно получить доступ через __doc__.
Замена подстроки в строке

Пакет flashtext позволяет легко заменить подстроку в строке. Достаточно лишь указать, что на что нужно заменить, в функции add_keyword(), а затем вызвать у объекта-процессора метод replace_keywords().
NetworkX

NetworkX — это библиотека Python для анализа сложных сетей. Она предоставляет структуры данных для работы с графами (сетями) и реализует множество алгоритмов для анализа и визуализации сетевых данных.

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

Argcomplete — это библиотека для автодополнения аргументов командной строки.
Она позволяет легко добавить автодополнение для argparse в интерактивных оболочках (например, bash, zsh).

Библиотека работает в разных оболочках (bash, zsh и др.) без изменения кода и обладает простой интеграцией — достаточно декорировать функцию argparse декоратором @argcomplete.register.

Основные возможности argcomplete:
— Автоматическое дополнение имен файлов и каталогов при вводе путей.
— Предложение вариантов для аргументов на основе возможных значений, описанных через argparse.
— Дополнение для подкоманд в приложениях с вложенной структурой команд.
Библиотека statistics

Библиотека statistics в Python предоставляет функции для выполнения математических операций и статистического анализа числовых данных. Она входит в стандартную библиотеку Python и не требует установки.
__subclasshook__

__subclasshook__ — это метод, который можно определить в классе, чтобы влиять на процесс проверки, является ли данный класс подклассом другого класса. Этот метод обычно используется вместе с метаклассами и полезен, например, при создании абстрактных базовых классов.

Протокол __subclasshook__ предоставляет способ определить подходит ли класс для использования в качестве подкласса заданного класса. Если метод возвращает True, то класс считается подклассом. Если метод возвращает NotImplemented, то это означает, что проверка должна быть выполнена с использованием стандартных правил.
Библиотека Qiskit

Qiskit — это открытая библиотека для работы с квантовыми вычислениями в Python. Она предоставляет инструменты для создания, симуляции и запуска квантовых программ на реальных квантовых устройствах.

Вы можете изучить документацию Qiskit для получения более подробной информации и примеров использования.
🌳Решение задачи про вырубку деревьев

Обозначим расстояние между деревьями после вырубки d. Тогда существует n – d х (m – 1) – m + 1 способов вырубить деревья. Чтобы найти все варианты, нужно просуммировать способы по всем d. Кроме того, нужно учесть 2 частных случая – когда количество оставшихся после вырубки деревьев равно 0 или 1.

1️⃣ вариант:
n, m = list(map(int, input().split()))
trees = 0
if m == 0:
trees = 1
elif m == 1:
trees = n
else:
for d in range(1, n):
trees += (n - d) // (m - 1)
print(trees)

2️⃣ вариант:
n, m = map(int, input().split())
trees = 0
if m == 0:
trees = 1
elif m == 1:
trees = n
else:
for d in range(1, (n - 1) // (m - 1) + 1):
trees += n - (m - 1) * d
print(trees)


👉Ещё четыре олимпиадных задачи с решениями ищите в нашей статье👈
Please open Telegram to view this post
VIEW IN TELEGRAM
setattr()

С помощью данной функции мы можем менять атрибуты объекта во время выполнения программы. Первым аргументом она принимает объект, вторым — имя атрибута, а третьим — значение, которое необходимо установить.
dict.get()

dict.get() — это метод словаря, который используется для получения значения по заданному ключу. Однако, в отличие от обращения к элементу словаря с использованием квадратных скобок (dict[key]), метод get() предоставляет дополнительную возможность задать значение по умолчанию, которое будет возвращено, если ключ не найден в словаре.

Синтаксис метода get() выглядит так:

value = dict.get(key, default)

key: Ключ, по которому производится поиск в словаре.
default (необязательный): Значение, которое будет возвращено, если ключ не найден в словаре. Если default не указан, и ключ не найден, метод вернет None.
🐍 У нас есть еженедельная email-рассылка, посвященная последним открытиям и тенденциям в мире Python.

В ней:
● Новые возможности в последних версиях Python
● Работа с базами данных и SQL в Python
● Веб-разработка на Django и Flask
● Машинное обучение и анализ данных с помощью Python
● Автоматизация и работа с API на Python
● Тестирование и отладка кода на Python
● Задачи для новичков с решениями

👉Подписаться👈
Улучшения в проверке типов в версии 3.10

Если вы пользуетесь проверкой типов, то будете счастливы услышать, что Python 3.10 включает много улучшений в проверке типов, среди них оператор объединения типов, синтаксис которого теперь чище.

Кроме того, это простое улучшение не ограничивается только аннотациями типа, оно может применяться с функциями isinstance() и issubclass().
Встроенные функции all и any

Функция all возвращает True, если переданный ей список пустой или все его элементы истинны.

Функция any возвращает True, если хотя бы один из элементов переданного списка истинный.

Функционал довольно простой и примитивный, но в некоторых ситуациях может уберечь от написания костылей. Вместе с циклами и другими конструкциями может помочь сократить громоздкие функции.
PySpark

PySpark — это Python API для Apache Spark. Он позволяет выполнять обработку больших данных в реальном времени в распределенной среде с помощью Python. Он также предоставляет оболочку PySpark для интерактивного анализа данных.

PySpark сочетает в себе удобство использования и простоту Python с мощностью Apache Spark, что позволяет обрабатывать и анализировать данные любого размера для всех, кто знаком с Python. PySpark поддерживает все функции Spark, такие как Spark SQL, DataFrames, Structured Streaming, Machine Learning (MLlib) и Spark Core.

Код с картинки создаст контекст Spark, прочитает набор данных из файла CSV с именем «data.csv» и выведет его в консоль.
🐍 Создаем игру «Виселица» на Python. Часть 2. Графический интерфейс на PySimpleGUI

В первой части мы написали код для получения и обработки вводимых игроком данных, создали некоторые компоненты и текстовый пользовательский интерфейс (TUI). Во второй части реализуем логику игры «Виселица» и создадим графический интерфейс с помощью PySimpleGUI.

🔗 Читать статью
Напишите регулярное выражение, которое будет принимать идентификатор электронной почты. Используйте модуль re.

Мы используем функцию re.match() для сравнения переданного идентификатора электронной почты с регулярным выражением. Если совпадение найдено, мы возвращаем True, иначе False. Например, вызов is_valid_email('[email protected]') вернет True, а вызов is_valid_email('not_valid_email') вернет False.
🐻‍❄️ Быстрее Pandas в 10 раз: Polars — высокопроизводительная библиотека для анализа больших данных на Python

Разработанная с нуля на языке Rust библиотека Polars объединяет в себе скорость, гибкость и богатый инструментарий для анализа больших данных на Питоне, что позволяет считать её достойной заменой популярной библиотеке Pandas.

👉 Читайте о Polars подробнее в нашей статье 👈
Напишите функцию, которая будет принимать список nums, содержащий числа в диапазоне от 1 до 100, и возвращать отсортированный список чисел, которые в списке nums встречались дважды.

Примеры:

duplicate_nums([1, 2, 3, 4, 3, 5, 6])
➞ [3]

duplicate_nums([81, 72, 43, 72, 81, 99, 99, 100, 12, 54])
➞ [72, 81, 99]

duplicate_nums([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
➞ None

Примечания:
- никакое число не будет встречаться в nums трижды и более раз,
- если никакое число в nums не встречалось дважды, функция должна вернуть None.