Python | Вопросы собесов
Сайт: https://easyoffer.ru/ Все каналы: t.me/+xGeAw6ckJ4liYzQy Контакт для рекламы: @sendme_ads
نمایش بیشتر📈 تحلیل کانال تلگرام Python | Вопросы собесов
کانال Python | Вопросы собесов (@python_easy_ru) در بخش زبانی روسی بازیگری فعال است. در حال حاضر جامعه شامل 12 637 مشترک است و جایگاه 9 922 را در دسته فناوری و برنامهها و رتبه 51 155 را در منطقه روسيا دارد.
📊 شاخصهای مخاطب و پویایی
از زمان ایجاد در невідомо، پروژه رشد سریعی داشته و 12 637 مشترک جذب کرده است.
بر اساس آخرین دادهها در تاریخ 13 اکتبر, 2026، کانال فعالیت پایداری دارد. در ۳۰ روز گذشته تغییر اعضا برابر -115 و در ۲۴ ساعت گذشته برابر -6 بوده و همچنان دسترسی گستردهای حفظ شده است.
- وضعیت تأیید: تأیید نشده
- نرخ تعامل (ER): میانگین تعامل مخاطب 6.04% است و در ۲۴ ساعت نخست پس از انتشار، محتوا معمولاً 4.18% واکنش نسبت به کل مشترکان کسب میکند.
- دسترسی پستها: هر پست به طور میانگین 763 بازدید دریافت میکند. در اولین روز معمولاً 528 بازدید جمعآوری میشود.
- واکنشها و تعامل: مخاطبان بهطور فعال حمایت میکنند؛ میانگین واکنش به هر پست 2 است.
- علایق موضوعی: محتوا بر موضوعات کلیدی مانند ставь, модуль, строка, docker, alice تمرکز دارد.
📝 توضیح و سیاست محتوایی
نویسنده این فضا را محل بیان دیدگاههای شخصی توصیف میکند:
“Сайт: https://easyoffer.ru/
Все каналы: t.me/+xGeAw6ckJ4liYzQy
Контакт для рекламы: @sendme_ads”
به لطف بهروزرسانیهای پرتکرار (آخرین داده در تاریخ 14 اکتبر, 2026)، کانال همواره بهروز و دارای دسترسی بالاست. تحلیلها نشان میدهد مخاطبان بهطور فعال با محتوا تعامل دارند و آن را به نقطه اثرگذاری مهم در دسته فناوری و برنامهها تبدیل کردهاند.
git commit используется для фиксации изменений в локальном репозитории Git. Она сохраняет текущие изменения в коде (добавленные, изменённые или удалённые файлы), которые были подготовлены с помощью команды git add. По сути, git commit создаёт "снимок" текущего состояния проекта, который можно использовать для отслеживания истории изменений, их анализа или отката к более ранним версиям.
🚩Как это работает?
Когда вы работаете с Git, ваши изменения сначала попадают в рабочую директорию. После этого, чтобы зафиксировать их, вы добавляете их в индекс (staging area) с помощью команды git add. Только те изменения, которые находятся в индексе, будут включены в следующий коммит. Команда git commit фиксирует все изменения из staging area и сохраняет их как новую версию в истории проекта.
🚩Почему это нужно?
🟠История изменений
Каждый коммит сохраняет подробную информацию о том, что было изменено, когда и почему. Это позволяет отслеживать развитие проекта.
🟠Версионность
Можно вернуться к любой точке в истории и восстановить состояние проекта.
🟠Совместная работа
В командной разработке коммиты позволяют другим разработчикам видеть изменения и их причины.
🟠Разделение задач
Коммиты разбивают изменения на логические единицы, что упрощает их понимание.
# Шаг 1. Внести изменения в файл
echo "Hello, Git!" > example.txt
# Шаг 2. Добавить изменения в staging area
git add example.txt
# Шаг 3. Зафиксировать изменения
git commit -m "Добавил файл example.txt с приветственным текстом"
Ставь 👍 и забирай 📚 Базу знанийGET /index.html HTTP/1.1🟠Заголовки (headers) Дополнительная информация о запросе.
Host: www.example.com User-Agent: Mozilla/5.0 Accept: text/html🟠Тело запроса (body) Используется в некоторых методах (например,
POST), чтобы передать данные на сервер.
name=John&age=30🚩Структура HTTP-ответа 🟠Стартовая строка Указывает версию протокола, код состояния и текстовое описание.
HTTP/1.1 200 OK🟠Заголовки (headers) Дополнительные данные, например, тип содержимого.
Content-Type: text/html Content-Length: 348🟠Тело ответа (body) Содержит данные, которые сервер отправляет клиенту (например, HTML-страница).
<html>
<body>Hello, world!</body>
</html>
🚩Основные HTTP-методы
🟠GET
Запрашивает данные с сервера. Данные передаются в URL.
🟠POST
Отправляет данные на сервер (например, формы).
🟠PUT
Обновляет данные на сервере или создаёт, если они отсутствуют.
🟠DELETE
Удаляет данные на сервере.
🟠HEAD
Аналог GET, но возвращает только заголовки без тела ответа.
🟠OPTIONS
Возвращает информацию о поддерживаемых методах для ресурса.
🟠PATCH
Частичное обновление ресурса.
Ставь 👍 и забирай 📚 Базу знанийГорячие вакансии с привлекательными офферами для джуниор разработчиков, аналитиков, дизайнеров и QA-специалистов.👉 ПОДПИСАТЬСЯ 🔺СТАЖИРОВКИ
Стажировки для начинающих специалистов в IT независимо от возраста!👉 ПОДПИСАТЬСЯ 🔺Junojobs
Вакансии и стажировки для junior-разработчиков на удалёнке.👉 ПОДПИСАТЬСЯ 🔺БИГТЕХ
Junior вакансии и стажировки в крупнейших IT-компаниях мира: NVidia, Apple, T-банк, Яндекс, Google и т. д.👉 ПОДПИСАТЬСЯ 🔺Макс из < codereview />
Эксперименты про трудоустройство в IT, советы для быстрого поиска работы и офферы для джунов.👉 ПОДПИСАТЬСЯ
from flask import Flask, request, make_response
app = Flask(__name__)
@app.route('/set_cookie')
def set_cookie():
response = make_response("Cookie установлена!")
response.set_cookie('username', 'JohnDoe') # Устанавливаем куки с именем "username"
return response
@app.route('/get_cookie')
def get_cookie():
username = request.cookies.get('username') # Получаем значение куки
return f'Привет, {username}!' if username else 'Куки не найдены.'
if __name__ == '__main__':
app.run(debug=True)
🚩Типы куки
🟠Сессионные куки (Session Cookies)
Хранятся только во время работы браузера и удаляются после его закрытия.
🟠Постоянные куки (Persistent Cookies)
Сохраняются на устройстве пользователя до истечения срока действия.
🟠Безопасные куки (Secure Cookies)
Передаются только через HTTPS для обеспечения безопасности.
🟠HttpOnly куки
Не доступны через JavaScript, используются для защиты от XSS-атак.
🚩Плюсы и минусы
➕Помогают сохранять пользовательские данные для упрощения работы с сайтом.
➕Могут улучшить пользовательский опыт за счёт персонализации.
➖Могут использоваться для отслеживания активности (privacy concerns).
➖Неправильное управление куки может привести к утечкам данных.
Ставь 👍 и забирай 📚 Базу знанийdef say_hello():
return "Hello!"
# Функция присваивается переменной
greet = say_hello
print(greet()) # Вывод: Hello!
Передача функции как аргумента
def apply_function(func, value):
return func(value)
def square(x):
return x * x
result = apply_function(square, 5)
print(result) # Вывод: 25
Возврат функции из функции
def multiplier(n):
def multiply(x):
return x * n
return multiply
double = multiplier(2)
print(double(10)) # Вывод: 20
Ставь 👍 и забирай 📚 Базу знаний?id=123).
🟠Поиск ресурса
находит запрашиваемый файл, данные из базы или другой ресурс.
🟠Возврат ответа
отправляет данные клиенту (если ресурс найден — код 200, если нет — 404).
🚩Особенности GET-запроса
🟠Безопасный
не изменяет данные на сервере, используется только для чтения.
🟠Идемпотентный
повторные запросы дают одинаковый результат.
🟠Параметры в URL
данные передаются через строку запроса, что не подходит для конфиденциальной информации.
import requests
response = requests.get("https://api.example.com/data", params={"id": 123})
print(response.text) # Данные с сервера
Ставь 👍 и забирай 📚 Базу знанийmy_list = [1, "hello", 3.14]
print(my_list[1]) # "hello"
🟠Кортеж (Tuple)
Похож на список, но неизменяемый. Используется для данных, которые не должны быть изменены.
my_tuple = (10, 20, 30)
print(my_tuple[0]) # 10
🟠Множество (Set)
Неупорядоченная коллекция уникальных элементов. Удобно для работы с множествами (поиск пересечений, объединений и т.д.).
my_set = {1, 2, 3, 2}
print(my_set) # {1, 2, 3}
🟠Словарь (Dictionary)
Хранит пары ключ-значение. Очень эффективен для быстрого поиска данных по ключу.
my_dict = {"name": "Alice", "age": 25}
print(my_dict["name"]) # Alice
🚩Пользовательские структуры данных
Эти структуры создаются с помощью классов или других механизмов, доступных в Python. Они применяются для решения задач, которые не могут быть эффективно выполнены встроенными средствами.
🟠Стек (Stack)
Принцип работы: LIFO (последним пришел — первым ушел). Реализуется через список или collections.deque.
stack = []
stack.append(10) # Добавление
stack.append(20)
print(stack.pop()) # Удаление последнего элемента (20)
🟠Очередь (Queue)
Принцип работы: FIFO (первым пришел — первым ушел). Реализуется через collections.deque или библиотеку queue.
from collections import deque
queue = deque()
queue.append(10)
queue.append(20)
print(queue.popleft()) # 10
🟠Связный список (Linked List)
Элементы связаны друг с другом через указатели. Гибче массивов, но сложнее в реализации.
class Node:
def __init__(self, data):
self.data = data
self.next = None
class LinkedList:
def __init__(self):
self.head = None
def append(self, data):
if not self.head:
self.head = Node(data)
else:
current = self.head
while current.next:
current = current.next
current.next = Node(data)
🟠Графы, деревья и др.
Более сложные структуры для представления связей, иерархий и прочих зависимостей.
Ставь 👍 и забирай 📚 Базу знаний# Implementor
class Device:
def is_enabled(self):
pass
def enable(self):
pass
def disable(self):
pass
# ConcreteImplementor
class TV(Device):
def __init__(self):
self._on = False
def is_enabled(self):
return self._on
def enable(self):
self._on = True
def disable(self):
self._on = False
class Radio(Device):
def __init__(self):
self._on = False
def is_enabled(self):
return self._on
def enable(self):
self._on = True
def disable(self):
self._on = False
# Abstraction
class RemoteControl:
def __init__(self, device):
self._device = device
def toggle_power(self):
if self._device.is_enabled():
self._device.disable()
else:
self._device.enable()
# RefinedAbstraction
class AdvancedRemoteControl(RemoteControl):
def mute(self):
print("Device is muted.")
# Клиентский код
tv = TV()
remote = RemoteControl(tv)
remote.toggle_power() # Включает TV
radio = Radio()
advanced_remote = AdvancedRemoteControl(radio)
advanced_remote.toggle_power() # Включает Radio
advanced_remote.mute() # Заглушает Radio
Ставь 👍 и забирай 📚 Базу знаний