Python | Тесты
6.13K subscribers
25 photos
1 video
307 links
Cайт easyoffer.ru
Реклама @easyoffer_adv
ВП @easyoffer_vp

Вопросы собесов t.me/+cnJC0_ZeZ_I0OGY6
Задачи t.me/+nsl4meWmhfQwNDVi
Вакансии t.me/+cXGKkrOY2-w3ZTky
Download Telegram
🤔 Какие есть основные middleware, зачем они нужны?

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


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

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


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

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


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

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


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

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


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какие базовые классы предоставляет 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
🤔 Как работает 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
🤔 Как реализуются protected методы?

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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


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

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


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

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


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from easyoffer
На easyoffer 2.0 появится новый раздел:
Задачи с собеседований

🟠Задачи на Алгоритмические, Live-coding и System Design из реальных собеседований
🟠Вероятность встретить ту или иную задачу
🟠Возможность подготовиться к задачам конкретной компании

Есть много сайтов, на которых можно тренироваться решать задачи, но у них у всех одна проблема – сами задачи люди просто выдумывают. На easyoffer 2.0 вы сможете готовиться к live-coding и system design секциям на основе задач из реальных собеседований. Вы можете найдете самые частые задачи и сделаете упор на их решение.

Считаные дни остались до старта краудфандинговой кампании, чтобы ускорить разработку easyoffer 2.0. Все кто, поддержал проект на этом этапе смогу получить 1 год доступа к сайту по цене месячной подписки, а те кто поддержат проект раньше других ито дешевле + получат существенный бонус. Следите за стартом 👉 в этом телеграм канале.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как реализуется многопоточность? Какими модулями?

Поддерживает многопоточность и многопроцессорность с помощью:
- threading – для запуска потоков (но из-за GIL они не выполняются параллельно).
- multiprocessing – создает отдельные процессы, использующие разные ядра CPU (обход GIL).
- concurrent.futures – высокоуровневый API для работы с потоками и процессами.
- asyncio – для асинхронного ввода-вывода без блокировки потока.


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

🟠 Сценарии вопросов из реального собеседования
🟠Возможность подготовиться к собеседованию в конкретную компанию
🟠Итоговая статистика (прошёл/не прошёл)

Сценарий вопросов взят из реального собеседования. То есть вы тренируетесь на тех вопросах, которые действительно задавались в компании X.

Уже в начале следующей недели стартует краудфандинг кампания, чтобы ускорить разработку easyoffer 2.0. Все кто, поддержал проект на этом этапе смогу получить 1 год доступа к сайту по цене месячной подписки. Первые 150 донатеров получать особо-выгодную цену и бонус. Следите за стартом 👉 в этом телеграм канале, в нем информация о старте будет опубликована за 6 часов до официального начала.
Please open Telegram to view this post
VIEW IN TELEGRAM