Logo
TGCATALOG
Catalog Collections Blog
Python Interview Questions - tests

Python Interview Questions - tests

Questions, tests and tasks for Python interviews.

No ratings
599
29.10.2026
599
29.10.2026
No ratings
599
29.10.2026
Safe redirect via bot
О канале

Questions, tests and tasks for Python interviews.

Подписчиков 12,569
Тематика Technology
Язык English
Ссылка t.me/python_easy_ru

We also recommend

Kekaton AI | Voiceover and voice clone
Kekaton AI | Voiceover and voice clone
Bot

AI bot for text-to-speech and voice cloning in Telegram. Create audio using neural network quickly and easily.

Description

Channel with questions for Python interviews. Tests, tasks and materials for preparation.

Latest posts

Python Interview Questions - tests
Python Interview Questions - tests
🔒Открыть пост
и посмотреть медиа
🤔 В чём разница между decimal и float? - float — тип с плавающей точкой, быстрый, но подвержен ошибкам округления из-за бинарного представления. Например: 0.1 + 0.2 != 0.3. - decimal.Decimal — тип из модуля decimal, который сохраняет точность десятичных дробей и идеально подходит для финансовых и бухгалтерских расчётов. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Python Interview Questions - tests
Python Interview Questions - tests
🔒Открыть пост
и посмотреть медиа
🤔 Что такое обработка исключений? Обработка исключений — это механизм в программировании, который позволяет предотвращать аварийное завершение программы, если во время выполнения возникает ошибка. Вместо того чтобы программа просто "упала", обработка исключений дает возможность перехватить ошибку и обработать её безопасным способом. 🚩Почему это нужно? В реальном коде ошибки неизбежны: деление на ноль (ZeroDivisionError), обращение к несуществующему индексу (IndexError), работа с несуществующим файлом (FileNotFoundError) и т. д. 🚩Как это работает? В Python для обработки исключений используется конструкция try-except. Обработка деления на ноль try: x = 10 / 0 # Ошибка: деление на ноль except ZeroDivisionError: print("Ошибка! Деление на ноль невозможно.") Результат: вместо аварийного завершения программы мы получаем сообщение Ошибка! Деление на ноль невозможно. Обработка нескольких типов исключений try: num = int(input("Введите число: ")) # Возможна ошибка ValueError result = 10 / num # Возможна ошибка ZeroDivisionError except ZeroDivisionError: print("Ошибка! Деление на ноль.") except ValueError: print("Ошибка! Введите число.") Если пользователь введет "abc", программа не завершится с ошибкой, а выведет Ошибка! Введите число. Использование finally (код, который выполняется всегда) try: file = open("data.txt", "r") # Возможна ошибка FileNotFoundError content = file.read() except FileNotFoundError: print("Файл не найден!") finally: print("Программа завершена.") # Выполнится в любом случае Ставь 👍 и забирай 📚 Базу знаний
Python Interview Questions - tests
Python Interview Questions - tests
🔒Открыть пост
и посмотреть медиа
🤔 Зачем нужны классы BaseExceptionGroup и ExceptionGroup? В Python 3.11 были добавлены новые классы исключений BaseExceptionGroup и ExceptionGroup. Эти классы решают проблему одновременной обработки нескольких исключений, которые могут возникать в сложных ситуациях, таких как асинхронное программирование, многопоточность или обработка нескольких связанных ошибок. Давайте разберем, зачем они нужны, как их использовать и какие преимущества они дают. 🚩Зачем нужны `BaseExceptionGroup` и `ExceptionGroup`? Ранее в Python было возможно выбросить только одно исключение за раз, и обработка нескольких исключений одновременно требовала сложного и неочевидного кода. Например: При работе с асинхронными функциями или потоками может возникнуть сразу несколько ошибок, и их нужно корректно обработать. В больших приложениях или библиотеках (например, при работе с asyncio) может быть необходимость передать сразу несколько исключений, которые произошли в разных местах, как единый объект. BaseExceptionGroup и его подкласс ExceptionGroup позволяют группировать несколько исключений и выбрасывать их вместе в виде одного объекта. Это делает код более читаемым, упрощает обработку и исключает необходимость ручной агрегации ошибок. 🚩Разница между `BaseExceptionGroup` и `ExceptionGroup` BaseExceptionGroup - это базовый класс для группировки исключений. Он наследуется от BaseException и, как правило, не используется напрямую. ExceptionGroup - это подкласс, который наследуется от Exception. Этот класс используется для обработки групп исключений, которые возникают при обычных ошибках в коде (не фатальных). 🚩Как они работают? Классы исключений BaseExceptionGroup и ExceptionGroup позволяют создать "группу исключений", которая содержит несколько отдельных исключений. Это полезно, когда вам нужно: Указать несколько ошибок одновременно. Позволить обработчику исключений работать с каждым из них. def task_1(): raise ValueError("Ошибка в задаче 1") def task_2(): raise TypeError("Ошибка в задаче 2") try: # Создаем группу исключений raise ExceptionGroup( "Ошибки в задачах", [ValueError("Ошибка в задаче 1"), TypeError("Ошибка в задаче 2")] ) except ExceptionGroup as eg: for exc in eg.exceptions: print(f"Обнаружено исключение: {exc}") Результат Обнаружено исключение: Ошибка в задаче 1 Обнаружено исключение: Ошибка в задаче 2 🚩Обработка групп исключений При обработке ExceptionGroup можно использовать механизм фильтрации с помощью конструкции except*. Это нововведение в Python 3.11 позволяет обрабатывать разные типы исключений внутри группы по-разному. try: raise ExceptionGroup( "Ошибки в задачах", [ValueError("Ошибка 1"), TypeError("Ошибка 2"), ValueError("Ошибка 3")] ) except* ValueError as ve: print("Обрабатываем ValueError:", ve) except* TypeError as te: print("Обрабатываем TypeError:", te) Результат Обрабатываем ValueError: Ошибка 1 Обрабатываем ValueError: Ошибка 3 Обрабатываем TypeError: Ошибка 2 🚩Преимущества использования ➕Работа с несколькими исключениями одновременно. Вы можете объединить связанные ошибки и передать их в одном объекте. ➕Четкое разграничение типов исключений. Использование except* позволяет обработать каждое исключение из группы отдельно, не теряя гибкости. ➕Удобство при асинхронном программировании. В асинхронных задачах (asyncio) часто возникает несколько ошибок одновременно, и их можно группировать для дальнейшей обработки. ➕Упрощение сложной логики. Код становится проще и понятнее, так как не нужно вручную собирать и разбирать исключения. 🚩Когда использовать? Когда вы работаете с несколькими задачами, которые могут порождать ошибки одновременно (например, асинхронный код). Когда вы хотите сообщить о нескольких связанных ошибках, не выбрасывая каждую из них отдельно. Когда требуется раздельная обработка разных типов ошибок. Ставь 👍 и забирай 📚 Базу знаний
Python Interview Questions - tests
Python Interview Questions - tests
🔒Открыть пост
и посмотреть медиа
🤔 Чем отличается Docker от виртуальной машины? - Docker использует контейнеры и общую ОС-хоста. Легче, быстрее, меньше оверхед. - ВМ запускает полноценную ОС с ядром. Изолированнее, но ресурсоёмко. Docker лучше для CI/CD, микросервисов и быстрого развертывания. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Python Interview Questions - tests
Python Interview Questions - tests
🔒Открыть пост
и посмотреть медиа
🤔 Что такое оконные функции? Оконные функции (window functions) — это специальные функции в SQL, которые выполняют вычисления по строкам внутри "окна" (группы строк), но не агрегируют их. SELECT id, месяц, продавец, сумма, SUM(сумма) OVER (PARTITION BY месяц) AS общий_доход_в_месяц FROM sales; 🟠`ROW_NUMBER()` – Нумерация строк Пронумеруем продажи каждого продавца в порядке убывания суммы. SELECT id, продавец, сумма, ROW_NUMBER() OVER (PARTITION BY продавец ORDER BY сумма DESC) AS номер FROM sales; 🟠`RANK()` и `DENSE_RANK()` – Рейтинг с учётом одинаковых значений Если два продавца получили одинаковую сумму, RANK() пропустит следующий номер, а DENSE_RANK() – нет. SELECT продавец, сумма, RANK() OVER (ORDER BY сумма DESC) AS ранг_1, DENSE_RANK() OVER (ORDER BY сумма DESC) AS ранг_2 FROM sales; 🟠3. `LAG()` и `LEAD()` – Доступ к предыдущей и следующей строке LAG() даёт предыдущее значение, LEAD() – следующее. SELECT месяц, продавец, сумма, LAG(сумма) OVER (PARTITION BY продавец ORDER BY месяц) AS предыдущий_месяц, LEAD(сумма) OVER (PARTITION BY продавец ORDER BY месяц) AS следующий_месяц FROM sales; 🟠Использование оконных функций с `FRAME` (ограничение окна) Иногда нужно анализировать не всю группу, а только несколько соседних строк. SELECT месяц, продавец, сумма, AVG(сумма) OVER (PARTITION BY продавец ORDER BY месяц ROWS BETWEEN 2 PRECEDING AND CURRENT ROW) AS скользящее_среднее FROM sales; Ставь 👍 и забирай 📚 Базу знаний
Python Interview Questions - tests
Python Interview Questions - tests
🔒Открыть пост
и посмотреть медиа
🤔 Как сделать package? Пакет в Python — это папка, содержащая файл __init__.py, который указывает, что она является модулем. Внутри пакета могут находиться другие модули или подпакеты. Это позволяет удобно структурировать код по функциональным блокам и импортировать нужные части. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Python Interview Questions - tests
Python Interview Questions - tests
🔒Открыть пост
и посмотреть медиа
🤔 Что такое хешируемые типы данных? Это такие типы данных, которые имеют постоянное (неизменяемое) хеш-значение на протяжении всего времени их существования. Это означает, что их можно использовать в качестве ключей в словарях (dict) и элементов в множествах (set), так как они поддерживают вычисление хеша с помощью функции hash(). 🚩Как понять, что объект хешируемый? 🟠Объект должен быть неизменяемым если объект можно изменить после создания, его хеш тоже изменится, что нарушает работу структур данных (словари, множества). 🟠Должен реализовывать метод `__hash__()` который возвращает уникальный идентификатор объекта. 🚩Какие типы данных хешируемые? Числа (int, float, complex) print(hash(42)) # 42 print(hash(3.14)) # 322818021289917443 print(hash(1 + 2j)) # 8389048192121911274 Строки (str) print(hash("hello")) # Например, 5320385861927423548 Кортежи (tuple), если все их элементы тоже хешируемые: print(hash((1, 2, 3))) # 529344067295497451 Булевы значения (bool): print(hash(True)) # 1 print(hash(False)) # 0 🚩Какие типы НЕ хешируемые? Списки (list) hash([1, 2, 3]) # TypeError: unhashable type: 'list' Множества (set) hash({1, 2, 3}) # TypeError: unhashable type: 'set' Словари (dict) hash({"a": 1}) # TypeError: unhashable type: 'dict' 🚩Почему это важно? Хешируемые типы используются в словари (dict) и множества (set), так как они используют хеш-функцию для быстрого поиска данных. my_dict = { (1, 2, 3): "tuple_key" } # Работает, потому что кортеж неизменяемый my_set = { 42, "hello", (1, 2) } # Все элементы хешируемые Ставь 👍 и забирай 📚 Базу знаний
Python Interview Questions - tests
Python Interview Questions - tests
🔒Открыть пост
и посмотреть медиа
🤔 Что такое оконные функции? Оконные функции — это агрегатные функции, которые применяются к строкам в пределах окна, не группируя их. Например: сумма по группе, но каждая строка остаётся на месте. Работают вместе с OVER(), PARTITION BY, ORDER BY. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Python Interview Questions - tests
Python Interview Questions - tests
🔒Открыть пост
и посмотреть медиа
🤔 Как выбрать данные из двух таблиц без метода join()? В SQL можно объединять данные из двух таблиц без использования JOIN, используя альтернативные методы. 🚩Использование подзапросов (`SELECT` внутри `SELECT`) Подзапрос (subquery) позволяет выбрать данные из одной таблицы, используя данные из другой. Допустим, у нас есть две таблицы: employees (id, name, department_id) departments (id, name) SELECT name, (SELECT name FROM departments WHERE id = employees.department_id) AS department_name FROM employees; 🚩Использование `IN` или `EXISTS` Можно фильтровать данные из одной таблицы, проверяя наличие значений в другой. SELECT name FROM employees WHERE department_id IN (SELECT id FROM departments); 🚩Объединение данных через `UNION` Если таблицы имеют схожие колонки, можно объединить их с UNION. SELECT id, name, email FROM users_old UNION SELECT id, name, email FROM users_new; 🚩Использование `CROSS JOIN` через `WHERE` Хотя CROSS JOIN делает декартово произведение, его можно фильтровать WHERE, имитируя INNER JOIN. SELECT e.name, d.name AS department FROM employees e, departments d WHERE e.department_id = d.id; Ставь 👍 и забирай 📚 Базу знаний
Python Interview Questions - tests
FAQ

Open Python Interview Questions - tests in Telegram and press the Start button. No separate registration is required.

Yes. The service is designed to be straightforward: open the resource, follow the on-screen instructions and start using it.

No. You can use Python Interview Questions - tests directly in Telegram unless the resource description says otherwise.

Access depends on the resource. Check the current information in Telegram after opening Python Interview Questions - tests.

The exact features depend on the resource. Open Python Interview Questions - tests to see its current functions, content and access conditions.
Subscriber dynamics
+-1.0% last 30 days
Current
12,569
Month ago
12,700
Average growth
+-4 / day
Updated
19 hours ago

Reviews for channel Python Interview Questions - tests

Log in to leave a review

Only registered users can share their opinion.

No reviews yet

Be the first to share your impression of this resource!

Similar resources

Loading
Switch to Light Theme
Home Catalog Collections Blog Login