Logo
TGCATALOG
Каталог Подборки Блог
Python Вопросы собесов - тесты

Python Вопросы собесов - тесты

Вопросы, тесты и задачи для Python собеседований.

Нет оценок
599
29.10.2026
599
29.10.2026
Нет оценок
599
29.10.2026
Безопасный переход через бот
О канале

Вопросы, тесты и задачи для Python собеседований.

Подписчиков 12,566
Тематика Технологии
Язык Русский
Ссылка t.me/python_easy_ru

Также рекомендуем

Kekaton AI | Озвучка и клон голоса
Kekaton AI | Озвучка и клон голоса
Бот

AI бот для озвучки текста и клонирования голоса в Telegram. Создавай аудио с помощью нейросети быстро и просто.

Описание

Канал с вопросами для собеседований по Python. Тесты, задачи и материалы для подготовки.

Последние посты

Python Вопросы собесов - тесты
Python Вопросы собесов - тесты
🔒Открыть пост
и посмотреть медиа
🤔 Что такое URI? URI (Uniform Resource Identifier) — это уникальный идентификатор ресурса. Он может указывать как на место ресурса, так и просто идентифицировать его по имени. URI — более общее понятие. Примеры: - mailto:[email protected] - urn:isbn:978-3-16-148410-0 Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Python Вопросы собесов - тесты
Python Вопросы собесов - тесты
🔒Открыть пост
и посмотреть медиа
🤔 Что в python не является объектом? В Python практически всё является объектом: числа, строки, функции, классы, модули и даже сам интерпретатор Python рассматривает их как объекты. Однако есть несколько вещей, которые объектами не являются: 🟠Операторы и синтаксические конструкции Операторы (+, -, *, and, or, not и т. д.) сами по себе не являются объектами. Они — часть синтаксиса языка и не имеют представления в виде объектов в памяти. a = 10 + 5 # Оператор "+" выполняет сложение, но сам по себе не объект print(type(+)) # Ошибка: нельзя получить тип оператора 🟠Ключевые слова (keywords) Встроенные ключевые слова Python (if, else, while, for, def, class, return и т. д.) не являются объектами. Они зарезервированы интерпретатором и используются для управления потоком выполнения кода. print(type(if)) # Ошибка: ключевое слово не является объектом 🟠Идентификаторы переменных Хотя переменные ссылаются на объекты, сами идентификаторы (имена переменных) — это просто ссылки, а не объекты. x = 42 # x — это имя, а не объект print(type(x)) # Это целое число, но само имя "x" объектом не является 🟠Аннотации типов во время компиляции Аннотации типов в Python, такие как list[str], не создают объекты во время компиляции кода. Они интерпретируются только на уровне анализа типов. def func(x: int) -> str: return str(x) Ставь 👍 и забирай 📚 Базу знаний
Python Вопросы собесов - тесты
Python Вопросы собесов - тесты
🔒Открыть пост
и посмотреть медиа
🤔 Два способа создания класса В Python можно создать класс двумя основными способами: Через class (обычный способ) Через type() (динамическое создание класса) 🚩Обычное создание класса через `class` Это стандартный способ, который мы используем чаще всего. class Person: def __init__(self, name): self.name = name def say_hello(self): return f"Привет, я {self.name}!" p = Person("Алиса") print(p.say_hello()) # Привет, я Алиса! 🚩Динамическое создание класса через `type()` Функция type() позволяет создать класс "на лету". Person = type("Person", (object,), { "__init__": lambda self, name: setattr(self, "name", name), "say_hello": lambda self: f"Привет, я {self.name}!" }) p = Person("Боб") print(p.say_hello()) # Привет, я Боб! Ставь 👍 и забирай 📚 Базу знаний
Python Вопросы собесов - тесты
Python Вопросы собесов - тесты
🔒Открыть пост
и посмотреть медиа
🤔 Что такое моржовый оператор? Моржовый оператор (:=) – это новый оператор, появившийся в Python 3.8, который позволяет присваивать значение переменной прямо внутри выражения. 🚩Как он работает? Обычно мы записываем код так: value = len(my_list) # Сначала присваиваем if value > 10: # Потом используем print("Список большой") С := можно совместить оба действия if (value := len(my_list)) > 10: print("Список большой") 🚩Где использовать? В циклах (избегаем лишних вычислений). Вместо: data = input("Введите строку: ") while data != "exit": print("Вы ввели:", data) data = input("Введите строку: ") С := можно записать короче: while (data := input("Введите строку: ")) != "exit": print("Вы ввели:", data) В if и while (проверяем и присваиваем одновременно) Без := text = input("Введите слово: ") if len(text) > 5: print(f"Слово длинное ({len(text)} символов)") С :=: if (length := len(text)) > 5: print(f"Слово длинное ({length} символов)") В списковых включениях (list comprehensions) Без :=: numbers = [random.randint(1, 100) for _ in range(10)] filtered = [num for num in numbers if num % 2 == 0] С :=: filtered = [num for _ in range(10) if (num := random.randint(1, 100)) % 2 == 0] 🚩Когда не стоит использовать `:=`? Если код становится сложнее для чтения if (a := func()) and (b := another_func(a)) > 10: ... Ставь 👍 и забирай 📚 Базу знаний
Python Вопросы собесов - тесты
Python Вопросы собесов - тесты
🔒Открыть пост
и посмотреть медиа
🤔 Как импортировать модуль? Используется ключевое слово import с указанием имени модуля. Это подключает модуль и позволяет использовать его содержимое через точку. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Python Вопросы собесов - тесты
Python Вопросы собесов - тесты
🔒Открыть пост
и посмотреть медиа
🤔 Какие есть особенности исключения в Python? В Python исключения (exceptions) — это специальные объекты, которые возникают при ошибках и прерывают выполнение программы, если их не обработать. Все исключения в Python — это объекты, унаследованные от BaseException. try: 1 / 0 except ZeroDivisionError as e: print(type(e)) # print(e) # division by zero Все исключения унаследованы от BaseException: BaseException ├── Exception │ ├── ArithmeticError │ │ ├── ZeroDivisionError │ │ ├── OverflowError │ ├── ValueError │ ├── IndexError │ ├── KeyError │ ├── TypeError ├── SystemExit ├── KeyboardInterrupt Можно перехватывать несколько исключений try: x = int("abc") # Ошибка ValueError except (ValueError, TypeError) as e: print(f"Ошибка: {e}") Если не знаем, какая ошибка может произойти: try: x = 1 / 0 except Exception as e: print(f"Ошибка: {e}") # division by zero finally выполняется всегда try: 1 / 0 except ZeroDivisionError: print("Ошибка!") finally: print("Этот код выполнится всегда") raise позволяет выбрасывать исключения вручную raise ValueError("Ошибка: неверное значение!") Можно создать свой класс ошибки, унаследованный от Exception: class MyError(Exception): pass raise MyError("Это моя ошибка!") Ставь 👍 и забирай 📚 Базу знаний
Python Вопросы собесов - тесты
Python Вопросы собесов - тесты
🔒Открыть пост
и посмотреть медиа
🤔 Что такое SDLC? Это методология управления процессом создания программного обеспечения, которая включает в себя последовательность этапов и действий, необходимых для разработки, тестирования, развертывания и поддержки программных продуктов. Цель SDLC — обеспечить структурированный и эффективный подход к разработке ПО, минимизируя риски и повышая качество конечного продукта. 🚩Основные этапы SDLC 🟠Планирование и анализ требований (Planning and Requirements Analysis) На этом этапе определяются цели проекта, анализируются потребности и требования к системе. Включает сбор требований от заинтересованных сторон, анализ бизнес-процессов и создание документации с описанием требований. Встречи с клиентами и пользователями для определения функций системы. Документирование функциональных и нефункциональных требований. 🟠Проектирование (Design) На этапе проектирования разрабатывается архитектура системы и ее компоненты. Создаются технические спецификации, включая схемы базы данных, диаграммы классов и интерфейсов, а также детализируется план реализации.Разработка диаграмм UML.Создание прототипов пользовательского интерфейса.Проектирование архитектуры системы. 🟠Разработка (Implementation or Coding) На этом этапе осуществляется непосредственная разработка программного обеспечения на основе спецификаций, созданных на предыдущем этапе. Кодирование выполняется в соответствии с выбранными языками программирования и инструментами разработки. Написание кода для модулей и компонентов системы. Интеграция различных компонентов системы. Регулярное использование систем контроля версий (например, Git). 🟠Тестирование (Testing) Этап тестирования включает проверку и валидацию системы для обнаружения и исправления ошибок. Тестирование проводится в различных формах, включая юнит-тестирование, интеграционное тестирование, системное тестирование и приемочное тестирование. Автоматизированное тестирование с использованием фреймворков, таких как pytest или JUnit. Ручное тестирование функциональности и пользовательского интерфейса. Тестирование производительности и безопасности. 🟠Развертывание (Deployment) На этом этапе программное обеспечение разворачивается в рабочей среде и становится доступным пользователям. Включает настройку серверов, развертывание баз данных и настройку инфраструктуры. Развертывание на облачных платформах, таких как AWS или Azure. Настройка и конфигурация серверов и сетей. Миграция данных и начальная загрузка данных. 🟠Поддержка и сопровождение (Maintenance) Этап поддержки и сопровождения включает в себя обслуживание и улучшение системы после ее развертывания. Включает исправление ошибок, обновление функциональности и оптимизацию производительности. Обновление системы безопасности. Внесение изменений на основе отзывов пользователей. Обслуживание серверов и баз данных. Ставь 👍 и забирай 📚 Базу знаний
Python Вопросы собесов - тесты
Python Вопросы собесов - тесты
🔒Открыть пост
и посмотреть медиа
🤔 Можно ли при вызове метода save указать какие поля изменять? Да, в Django ORM можно указать конкретные поля для сохранения, используя параметр update_fields в методе .save(). 🚩Как использовать `update_fields` Пример модели from django.db import models class UserProfile(models.Model): name = models.CharField(max_length=100) email = models.EmailField() age = models.IntegerField() Обновляем только поле name, не трогая email и age user = UserProfile.objects.get(id=1) user.name = "Новый пользователь" user.save(update_fields=["name"]) # Обновит только поле `name` 🚩Что делает `update_fields`? Генерирует SQL-запрос только для указанных полей, например: UPDATE user_profile SET name = 'Новый пользователь' WHERE id = 1; 🚩Когда `update_fields` полезен? Уменьшает нагрузку на БД, так как обновляет только нужные поля. Полезен, если нужно изменить одно поле, а не всю запись. Избегает ненужных изменений в auto_now и auto_now_add полях (DateTimeField). 🚩Ограничения `update_fields` Нельзя использовать при создании объекта (save() с update_fields не работает для .create()). user = UserProfile(name="Alice", email="[email protected]") user.save(update_fields=["name"]) # ❌ Ошибка, объект ещё не в базе! Не обновляет auto_now-поля (DateTimeField) автоматически! updated_at = models.DateTimeField(auto_now=True) # Не обновится с `update_fields` Решение: обновить вручную: user.updated_at = timezone.now() user.save(update_fields=["name", "updated_at"]) Ставь 👍 и забирай 📚 Базу знаний
Python Вопросы собесов - тесты
Python Вопросы собесов - тесты
🔒Открыть пост
и посмотреть медиа
🤔 Объясни как происходит обработка HTTP запросов на Django Когда пользователь отправляет HTTP-запрос (например, открывает страницу сайта), Django проходит несколько этапов обработки, прежде чем вернуть ответ. 🚩Подробный разбор обработки HTTP-запроса в Django 🟠Запрос приходит в WSGI/ASGI сервер Когда клиент (браузер, API) отправляет запрос, его принимает WSGI/ASGI-сервер (Gunicorn, Daphne). Если проект синхронный → работает через WSGI (wsgi.py). Если проект асинхронный → через ASGI (asgi.py). GET /hello/ HTTP/1.1 Host: example.com User-Agent: Mozilla/5.0 🟠Django создаёт `HttpRequest` объект Django превращает HTTP-запрос в объект HttpRequest, который передаётся в view. def my_view(request): print(request.method) # 'GET' print(request.path) # '/hello/' print(request.GET) # {'name': 'Alice'} 🟠Middleware (промежуточная обработка) Прежде чем запрос дойдёт до view, Django проходит через мидлвари, которые могут: Проверять авторизацию (AuthenticationMiddleware). Защищать от CSRF (CsrfViewMiddleware). Перенаправлять запросы (CommonMiddleware). MIDDLEWARE = [ "django.middleware.security.SecurityMiddleware", "django.middleware.common.CommonMiddleware", "django.middleware.csrf.CsrfViewMiddleware", "django.contrib.sessions.middleware.SessionMiddleware", "django.contrib.auth.middleware.AuthenticationMiddleware", ] 🟠Поиск `view` в `urls.py` Django ищет, какая функция (view) должна обработать этот URL. from django.urls import path from myapp.views import hello_view urlpatterns = [ path("hello/", hello_view), # Запрос "/hello/" попадёт в hello_view ] 🟠Выполнение `view` (контроллера) Когда Django находит подходящее представление (view), оно вызывается. from django.http import HttpResponse def hello_view(request): return HttpResponse("Привет, мир!") 🟠Формирование и обработка ответа Django берёт HttpResponse и передаёт его обратно через middleware (например, сжатие, защита, заголовки безопасности). HTTP/1.1 200 OK Content-Type: text/html Content-Length: 12 Привет, мир! 🟠WSGI/ASGI сервер отправляет ответ клиенту На последнем этапе WSGI/ASGI-сервер отправляет ответ обратно браузеру или API-клиенту. 🚩Краткая схема обработки запроса Клиент (браузер) → WSGI/ASGI → Django Middleware → URL Dispatcher → View → Response → Клиент Ставь 👍 и забирай 📚 Базу знаний
Python Вопросы собесов - тесты
Динамика подписчиков
+-1.0% за 30 дней
Текущие
12,566
Месяц назад
12,694
Средний рост
+-4 / день
Обновлено
2 часа назад

Отзывы о канале Python Вопросы собесов - тесты

Авторизуйтесь, чтобы оставить отзыв

Только зарегистрированные пользователи могут делиться своим мнением.

Пока нет отзывов

Станьте первым, кто поделится своим впечатлением об этом ресурсе!

Похожие ресурсы

Loading
Переход на светлую тему
Главная Каталог Подборки Блог Вход