Python | Тесты
6.16K subscribers
31 photos
320 links
Cайт easyoffer.ru
Реклама @easyoffer_adv
ВП @easyoffer_vp

Вопросы собесов t.me/+cnJC0_ZeZ_I0OGY6
Задачи t.me/+nsl4meWmhfQwNDVi
Вакансии t.me/+cXGKkrOY2-w3ZTky
Download Telegram
🤔 Что такое сигналы?

Это механизм обратного вызова (callback), позволяющий реагировать на события в Django. Они используются для:
- Действий после сохранения объекта (post_save)
- Удаления объектов (post_delete)
- Изменения данных пользователей (user_logged_in)


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7💊4👍3
🤔 Что такое класс BaseView?

Это базовый класс для создания представлений. Django предлагает два типа представлений:
- Функциональные (function-based views, FBV)
- Классовые (class-based views, CBV)


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥3
🤔 Как реализовывать views: функцией или классом?

Представления (views) можно реализовать двумя способами:
- Функциональные представления (FBV, Function-Based Views)
- Обычные Python-функции, принимающие request и возвращающие HttpResponse
- Просты в использовании, но плохо масштабируются
- Классовые представления (CBV, Class-Based Views)
- Основаны на views.View, позволяют переопределять get(), post()
- Поддерживают миксин-классы, упрощают повторное использование кода


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2🤯1
🤔 Какие есть основные middleware, зачем они нужны?

Это прослойки, обрабатывающие запросы перед их передачей во view. Основные middleware в Django:
- SecurityMiddleware – включает защиту от XSS, HSTS
- SessionMiddleware – управляет сессиями пользователей
- AuthenticationMiddleware – привязывает пользователя к request.user
- CSRFViewMiddleware – защищает от CSRF-атак
- CommonMiddleware – обрабатывает редиректы, добавляет заголовки


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥111👍1
🤔 Какой метод используется для добавления элемента в начало списка?
Anonymous Quiz
5%
push()
5%
prepend()
22%
append()
68%
insert(0, element)
6
🤔 Какой алгоритм работы CSRF middleware?

Защищает Django-приложения от поддельных запросов. Алгоритм работы:
1. При загрузке формы сервер вставляет CSRF-токен в скрытое поле
2. При отправке запроса клиент должен отправить этот токен в заголовке
3. Django сверяет токен с тем, что хранится в сессии пользователя
4. Если токены не совпадают, запрос отклоняется


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍5
🤔 Как реализуется связь ManyToMany (M2M) на уровне базы данных?

Связь ManyToManyField в Django создает промежуточную таблицу, которая хранит связи между двумя таблицами. На уровне базы данных это:
- Таблица A (например, Course)
- Таблица B (например, Student)
- Дополнительная таблица (A_B) с двумя внешними ключами (course_id, student_id)


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥4
🤔 За что отвечает Meta в сериализаторе?

Класс Meta в ModelSerializer определяет настройки сериализатора, включая:
- model – модель, с которой работает сериализатор
- fields – список полей, которые нужно включить или исключить
- exclude – поля, которые не нужно включать
- read_only_fields – поля, которые нельзя изменять


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥31
🤔 Что такое контекстный процессор?

Это функция, которая добавляет переменные в контекст всех шаблонов. Они используются, чтобы передавать глобальные переменные, например:
- Текущий пользователь (request.user)
- Настройки проекта (settings.SITE_NAME)
- Данные о текущем языке


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5
🤔 Какие базовые классы предоставляет Django?

Предоставляет базовые классы для работы с моделями, представлениями и формами:
- models.Model – базовый класс для всех моделей базы данных
- forms.Form и forms.ModelForm – для работы с формами
- views.View – основа для классов представлений
- admin.ModelAdmin – управление моделями в Django Admin
- serializers.Serializer и serializers.ModelSerializer – для работы с API


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍2🤔1
🤔 Как работает Serializer в Django REST Framework?

Это класс, который конвертирует данные между JSON и объектами Django. Он выполняет:
1. Преобразование модели Django в JSON (
serializer.data)
2. Проверку и десериализацию входных данных (serializer.is_valid())
3. Сохранение объекта в базу данных (
serializer.save())

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥3👀1
🤔 Как реализуются protected методы?

Методы обозначаются одним подчеркиванием перед именем (_method). Это соглашение, а не жесткое ограничение, и такие методы остаются доступными за пределами класса, но их не рекомендуется использовать напрямую.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍4👀1
🤔 Как в классах хранятся атрибуты и методы?

Хранятся в dict объекта (если не используется slots) или в dict класса. Методы при этом являются функциями, привязанными к экземпляру через механизм дескрипторов, что позволяет их вызывать в контексте конкретного объекта.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2
🤔 Какая разница между методами str и repr

Метод str() возвращает строковое представление объекта, ориентированное на пользователей, в то время как repr() предназначен для разработчиков и должен выдавать строку, которая при передаче в eval() (если это возможно) воссоздаст объект. В repr() обычно стараются передавать больше технической информации о состоянии объекта, чем в str().

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍6🤔1
🤔 Что такое абстракция?

Это принцип объектно-ориентированного программирования, позволяющий скрывать детали реализации и предоставлять пользователю только необходимый интерфейс. Это помогает уменьшить сложность системы, улучшить читаемость кода и упростить поддержку за счет сокрытия ненужных деталей.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍3🤔2
🤔 Как реализовать класс, объект которого может работать в менеджере контекста?

Чтобы объект мог использоваться в with, класс должен реализовать специальные методы enter и exit, которые управляют инициализацией и очисткой ресурсов. Это позволяет автоматизировать управление ресурсами, такими как файлы, сетевые соединения или блокировки, обеспечивая их корректное освобождение даже в случае ошибки..


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍2🤔1
🤔 Как работает наследование классов? 

Наследование позволяет одному классу (дочернему) получать атрибуты и методы другого (родительского), что упрощает код и способствует повторному использованию. Дочерний класс может переопределять унаследованные методы, а при необходимости вызывать их с помощью super(), чтобы расширить функциональность базового класса.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥3🤔1
Forwarded from easyoffer
На easyoffer 2.0 появится:
🎯 Тренажер "Проработка вопросов"

Метод интервальных повторений и флеш-карточки
Персональный подход изучения на основе ваших ответов
Упор на самые частые вопросы

📌 Интервальные повторения по карточкам это научно доказанный метод эффективного обучения. Каждая карточка – это вопрос, который задают на собеседовании, вы можете выбрать "Не знаю", "Знаю", "Не спрашивать". После ответа вам показывается правильный ответ и возможность изучить вопрос подробнее (примеры ответов других людей). От ваших ответов зависит то, как часто карточки будут показываться на следующей тренировке. Трудные вопросы показываются чаще, простые – реже. Это позволяет бить в слабые места. Кроме того, изначальный порядок карточек зависит от частотности (вероятности встретить вопрос).

🚀 Благодаря этому тренажеру вы сможете очень быстро подготовиться к собеседованию, т.к. фокусируетесь отвечать на самые частые вопросы. Именно так готовился я сам, когда искал первую работу программистом.

Уже в течение недели я объявлю о старте краудфандинговой кампании на сбор финансирования, чтобы ускорить разработку сайта. Все кто поддержит проект до официального релиза получат самые выгодные условия пользования сервисом. А именно 1 год доступа к сайту по цене месячной подписки.

‼️ Очень важно, чтобы как можно больше людей поддержали проект в первые дни, по-этому те кто окажет поддержку первыми получат еще более выгодную стоимость на годовую подписку и существенный 💎 бонус о котором я позже расскажу в этом телеграм канале. Подписывайтесь, чтобы узнать о старте проекта раньше других и воспользоваться лимитированными вознаграждениями.
Please open Telegram to view this post
VIEW IN TELEGRAM
1🤔1
🤔 Какие задачи хорошо параллелятся, какие плохо?

- Хорошо параллелятся:
- CPU-bound (интенсивные вычисления) – рендеринг, шифрование, машинное обучение.
- I/O-bound (ввод-вывод) – сетевые запросы, работа с файлами, БД.
- Плохо параллелятся:
- Задачи с частыми зависимостями между потоками (из-за блокировок).
- Алгоритмы, требующие последовательной обработки (например, некоторые рекурсивные задачи).


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥91🤔1
🤔 Что такое интроспекция?

Это анализ структуры объекта во время выполнения без его модификации.
Применение:
- Python: type(), dir(), getattr(), inspect позволяют узнавать классы, методы, атрибуты.
- Java: instanceof, getClass().
- C#: typeof(), GetProperties().
Используется в дебаге, метапрограммировании, тестировании.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍4🤔21
🤔 В чём особенность asyncio?

Asyncio реализует асинхронное программирование на основе event loop, позволяя выполнять задачи без блокировки основного потока. В отличие от многопоточности (threading) и многопроцессорности (multiprocessing), asyncio не создает новые потоки или процессы, а переключается между задачами при ожидании ввода/вывода (I/O-bound задачи).


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥5