uz
Feedback
Python | Вопросы собесов

Python | Вопросы собесов

Kanalga Telegram’da o‘tish

📈 Telegram kanali Python | Вопросы собесов analitikasi

Python | Вопросы собесов (@python_easy_ru) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 13 108 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 9 742-o'rinni va Rossiya mintaqasida 50 784-o'rinni egallagan.

📊 Auditoriya ko‘rsatkichlari va dinamika

невідомо sanasidan buyon loyiha tez o‘sib, 13 108 obunachiga ega bo‘ldi.

06 Iyun, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni -52 ga, so‘nggi 24 soatda esa -3 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.

  • Tasdiqlash holati: Tasdiqlanmagan
  • Jalb etish (ER): Auditoriya o‘rtacha 6.21% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 6.01% ini tashkil etuvchi reaksiyalarni to‘playdi.
  • Post qamrovi: Har bir post o‘rtacha 814 marta ko‘riladi; birinchi sutkada odatda 788 ta ko‘rish yig‘iladi.
  • Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 4 ta reaksiya keladi.
  • Tematik yo‘nalishlar: Kontent ставь, модуль, строка, docker, alice kabi asosiy mavzularga jamlangan.

📝 Tavsif va kontent siyosati

Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
Cайт: easyoffer.ru Реклама: @easyoffer_adv ВП: @easyoffer_vp Тесты t.me/+20tRfhrwPpM4NDQy Задачи t.me/+nsl4meWmhfQwNDVi Вакансии t.me/+cXGKkrOY2-w3ZTky

Yuqori yangilanish chastotasi (oxirgi ma’lumot 08 Iyun, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.

13 108
Obunachilar
-324 soatlar
-147 kunlar
-5230 kunlar
Postlar arxiv
🤔 Зачем нужны остальные глаголы, кроме GET? Они нужны для соблюдения семантики и читаемости API: - POST — создание данных. - PUT — полное обновление ресурса. - PATCH — частичное обновление. - DELETE — удаление ресурса. - HEAD — как GET, но только заголовки (без тела). - OPTIONS — запрос доступных методов и CORS-информация. Это делает интерфейс API предсказуемым и структурированным. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Какие есть виды файловых объектов? В Python существует несколько типов файловых объектов, которые используются для работы с различными типами данных. Рассмотрим основные виды файловых объектов и их особенности. 🟠Текстовые файлы (`TextIOWrapper`) Это самый распространённый тип файловых объектов. Такие файлы используются для работы с текстовыми данными и поддерживают строковые операции.
   with open("example.txt", "w", encoding="utf-8") as file:
       file.write("Привет, мир!")  # Записываем текст в файл

   with open("example.txt", "r", encoding="utf-8") as file:
       content = file.read()  # Читаем текст из файла
       print(content)
🟠Бинарные файлы (`BufferedReader`, `BufferedWriter`) Эти файлы используются для работы с двоичными данными (изображениями, видео, аудиофайлами и т. д.).
   with open("image.jpg", "rb") as file:
       binary_data = file.read()  # Читаем файл в бинарном режиме
       print(binary_data[:10])  # Выведем первые 10 байтов

   with open("copy.jpg", "wb") as file:
       file.write(binary_data)  # Записываем данные в новый файл
🟠Файлы ввода-вывода в памяти (`io.StringIO`, `io.BytesIO`) Эти объекты представляют собой файловые буферы, которые хранят данные в оперативной памяти, а не на диске.
   from io import StringIO

   file = StringIO()
   file.write("Привет, мир!")  # Запись данных в буфер
   file.seek(0)  # Перемещаем указатель в начало
   print(file.read())  # Читаем данные из буфера
Пример работы с BytesIO:
   from io import BytesIO

   file = BytesIO()
   file.write(b"Binary data")  # Запись бинарных данных
   file.seek(0)
   print(file.read())  # Чтение данных
🟠Файловые объекты на основе сокетов, пайпов и других источников Python позволяет работать с файловыми объектами, полученными из нестандартных источников, например, сокетов или каналов связи (pipes).
   import socket

   s = socket.socket()
   s.connect(("example.com", 80))
   s.sendall(b"GET / HTTP/1.1\r\nHost: example.com\r\n\r\n")
   response = s.makefile("r", encoding="utf-8")  # Создание файлового объекта
   print(response.readline())  # Читаем первую строку HTTP-ответа
   s.close()
Ставь 👍 и забирай 📚 Базу знаний

🤔 Как происходит обращение к namedtuple? К полям namedtuple можно обращаться по имени и по индексу Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Что такое @dataclass? Это декоратор, предоставленный модулем dataclasses, который автоматически генерирует специальные методы, такие как __init__,🤔 Что так🤔 Что т и другие, для вашего класса. Это упрощает создание классов, предназначенных для хранения данных, устраняя необходимость писать много шаблонного кода. 🚩Зачем нужен 🟠Упрощение кода Автоматически генерирует методы, сокращая шаблонный код. 🟠Читабельность Делает код более чистым и легким для понимания. 🟠Удобство Обеспечивает удобные и мощные возможности для работы с данными. 🚩Как использовать Нужно импортировать его из модуля dataclasses и применить к классу. Внутри класса достаточно определить только поля данных.
from dataclasses import dataclass

@dataclass
class Person:
    name: str
    age: int

# Примеры использования
person1 = Person(name="Alice", age=30)
person2 = Person(name="Bob", age=25)

print(person1)  # Вывод: Person(name='Alice', age=30)
print(person2)  # Вывод: Person(name='Bob', age=25)
print(person1 == person2)  # Вывод: False
🚩Автоматически генерируемые методы 🟠`__init__` Инициализирует объект с заданными значениями атрибутов. 🟠`__repr__` Возвращает строковое представление объекта, удобное для отладки. 🟠`__eq__` Сравнивает объекты на равенство по их атрибутам. 🟠`__lt__`, __le__,🤔 Что так🤔 Что такМогут быть сгенерированы для сравнения объектов (если указано). 🚩Настройка поведения Вы можете настроить поведение @dataclass с помощью параметров, таких как order, frozen, и других. 🟠`order=True` Генерирует методы для сравнения объектов. 🟠`frozen=True` Делает экземпляры неизменяемыми (immutable). Пример
from dataclasses import dataclass

@dataclass(order=True, frozen=True)
class Person:
    name: str
    age: int

person1 = Person(name="Alice", age=30)
person2 = Person(name="Bob", age=25)

print(person1 > person2)  # Вывод: True (поскольку 'Alice' > 'Bob' по алфавиту, если имена равны, сравниваются возраста)
# person1.age = 31  # Ошибка: FrozenInstanceError (поскольку класс заморожен)
🚩Поля данных и их настройки Вы можете использовать функцию field() для настройки отдельных полей, например, для указания значений по умолчанию или исключения полей из методов
5)

print(
🤔 Что т и других.
from dataclasses import dataclass, field

@dataclass
class Person:
    name: str
    age: int = 0
    address: str = field(default="Unknown", repr=False)

person = Person(name="Alice")
print(person)  # Вывод: Person(name='Alice', age=0)
Ставь 👍 и забирай 📚 Базу знаний

🤔 Как узнать свободное место на диске в консоли Linux? 1. Команда df -h показывает доступное и занятое место на всех дисках. 2. Использовать du -sh для анализа размера конкретной папки или файла. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Что такое клиент-серверная архитектура? Клиент-серверная архитектура – это модель взаимодействия устройств, где клиент запрашивает данные или услуги, а сервер их предоставляет. 🚩Как это работает? Клиент – это программа или устройство, которое отправляет запросы (например, браузер). Сервер – это программа или устройство, которое обрабатывает запросы и отправляет ответ (например, веб-сервер). Сервер (сервер.py)
import socket

server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)  
server.bind(("localhost", 8080))  # Привязываем сервер к адресу и порту
server.listen(1)  # Ожидаем подключения одного клиента
print("Сервер запущен и ждёт подключения...")

conn, addr = server.accept()  # Принимаем подключение
print(f"Подключен клиент: {addr}")

data = conn.recv(1024).decode()  # Читаем данные от клиента
print(f"Клиент прислал: {data}")

conn.send("Привет от сервера!".encode())  # Отправляем ответ клиенту
conn.close()
Клиент (клиент.py)
import socket

client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect(("localhost", 8080))  # Подключаемся к серверу

client.send("Привет, сервер!".encode())  # Отправляем сообщение
response = client.recv(1024).decode()  # Получаем ответ от сервера

print(f"Ответ сервера: {response}")
client.close()
🚩Как это работает? 1⃣Запускаем сервер.py. Он ждёт подключения. 2⃣Запускаем клиент.py. Клиент подключается к серверу и отправляет сообщение. 3⃣Сервер получает сообщение, отвечает клиенту и закрывает соединение. 4⃣Клиент принимает ответ и завершает работу. 🚩Типы клиент-серверных архитектур Одноуровневая – клиент общается напрямую с сервером. Двухуровневая – классическая схема "клиент сервер" (например, браузер веб-сервер). Трёхуровневая – добавляется база данных (например, клиент сервер БД). Многоуровневая – сложные распределённые системы с несколькими серверами (например, микросервисы). Ставь 👍 и забирай 📚 Базу знаний

🤔 Зачем нужен wraps? Функция wraps из модуля functools сохраняет оригинальное имя, документацию и сигнатуру оборачиваемой функции. Без неё у функции-декоратора теряется контекст. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Что такое класс baseview? BaseView — это базовый класс представления (view) в Django, который предоставляет основу для создания представлений без жёсткой привязки к HTTP-методам (GET, POST и др.). Он является родительским классом для всех классов-представлений (CBV, Class-Based Views) в Django. 🚩Зачем нужен `BaseView`? Обеспечивает общую структуру для классов-представлений. Разделяет логику обработки запроса и рендеринг. Позволяет переопределять логику обработки запросов через dispatch(). Является родительским классом для View, TemplateView, ListView и других CBV. 🚩Как работает `BaseView`? Этот класс сам по себе не обрабатывает запросы. Он лишь задаёт каркас для представлений.
from django.views import View

class BaseView:
    def dispatch(self, request, *args, **kwargs):
        """Определяет, какой метод (GET, POST и т. д.) вызывать"""
        handler = getattr(self, request.method.lower(), self.http_method_not_allowed)
        return handler(request, *args, **kwargs)

    def http_method_not_allowed(self, request, *args, **kwargs):
        """Обработчик для неподдерживаемых HTTP-методов"""
        return HttpResponseNotAllowed(self._allowed_methods())
🚩Использование `BaseView` Обычно мы используем View, который наследуется от BaseView.
from django.http import HttpResponse
from django.views import View

class MyView(View):
    def get(self, request):
        return HttpResponse("Это GET-запрос")

    def post(self, request):
        return HttpResponse("Это POST-запрос")
Ставь 👍 и забирай 📚 Базу знаний

🤔 Что такое XML? XML (Extensible Markup Language) — это язык разметки, предназначенный для хранения и передачи структурированных данных. Он читаем как человеком, так и машиной, используется для обмена данными между системами. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Два способа создания класса В 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» от OTUS! На вебинаре мы: - Разберем, что такое аннотации типов и зачем они нужны в Python; - Ознакомимся с синтаксисом аннотаций типов и их применением; - Углубимся в mypy — инструмент для статической типизации; - Обсудим, как аннотации помогают улучшить читаемость кода и выявлять ошибки на этапе разработки. Этот вебинар подойдет как для начинающих разработчиков, так и для опытных специалистов, стремящихся повысить качество и поддерживаемость своего кода. ⚡️Присоединяйтесь 26 июня в 20:00 и узнайте, как аннотации типов сделают ваш код более безопасным и надежным! Запишитесь прямо сейчас и получите доступ к вебинару:  https://otus.pw/rDpY/ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

🤔 Что такое уровни изоляции транзакций? Они определяют, насколько одна транзакция изолирована от других: - Read Uncommitted — видны незакоммиченные данные (грязное чтение); - Read Committed — видны только закоммиченные данные; - Repeatable Read — данные не изменяются между чтениями; - Serializable — максимальная изоляция, как при последовательном выполнении транзакций. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Знакомьтесь — это Ваня Анисимов. Реальный IT-шник из Москвы, которой работает в крипте и ещё двух валютных удалёнках. Недавно
Знакомьтесь — это Ваня Анисимов. Реальный IT-шник из Москвы, которой работает в крипте и ещё двух валютных удалёнках. Недавно он создал свой канал @itgrind, где БЕСПЛАТНО делится навыкам тайм-менеджмента и получением сочных офферов в долларах (даже если ты из РФ): Как выйти на первые 10.000$ в ближайшие 2 месяца; Как правильно вести себя на собеседовании и получать +15% к офферу; Как получить первую валютную удалёнку на 6.000$ с полного нуля; За несколько лет он вывел проекты на сумму свыше миллиарда рублей и стал со-основателем компании в Дубае. Поэтому, если хочешь зарабатывать чуть больше, чем средний бизнесмен в России, подписывайся: @itgrind

🤔 Что быстрее python или c++? C++ быстрее Python, потому что: C++ — компилируемый язык, а Python — интерпретируемый. C++ работает ближе к "железу", а Python использует абстракции. C++ использует статическую типизацию, а Python динамическую (дополнительные проверки замедляют код). 🚩Разница в скорости выполнения Простой пример: сложение чисел в цикле Python (медленно)
import time

start = time.time()
s = 0
for i in range(10_000_000):
    s += i
end = time.time()

print("Python:", end - start, "сек")
Результат
Python: 0.8 сек
C++ (быстро)
#include <iostream>
#include <chrono>

int main() {
    auto start = std::chrono::high_resolution_clock::now();
    
    long long s = 0;
    for (int i = 0; i < 10000000; i++) {
        s += i;
    }

    auto end = std::chrono::high_resolution_clock::now();
    std::cout << "C++: " 
              << std::chrono::duration<double>(end - start).count() 
              << " сек" << std::endl;
}
Результат
C++: 0.05 сек
🚩3. Когда Python может быть быстрее? 🟠Если используются сторонние библиотеки (NumPy, Pandas, TensorFlow) Они написаны на C/C++ и работают очень быстро. Пример: numpy.sum(arr) быстрее, чем sum(list), потому что работает на C. 🟠Разработка в Python быстрее (меньше кода, проще отладка) Python код пишется в 2-5 раз быстрее, чем C++. Важно для стартапов и прототипов. 🟠Python лучше для обработки текста, веб-разработки, автоматизации Например, парсинг HTML, обработка логов, работа с API. 🚩Когда C++ лучше? 🟠 Высокая производительность (игры, 3D, движки) Игры, графика (Unreal Engine, Unity, CryEngine). Разработка операционных систем (Windows, Linux). 🟠Алгоритмы и математика (С++ быстрее Python в 10-100 раз) Быстрая обработка данных, алгоритмы (sorting, graph, machine learning). Например, если нужно перемножить матрицы размером 10 000 × 10 000, C++ справится в разы быстрее. 🟠Работа с железом (Embedded, драйверы, робототехника) Python слишком медленный для реального времени, а C++ используется в Arduino, автопилотах, микроконтроллерах. Ставь 👍 и забирай 📚 Базу знаний

🤔 Зачем нужен Docker Registry? Docker Registry — это хранилище, где хранятся собранные образы. Оно позволяет: - делиться образами между разработчиками и серверами; - управлять версиями; - автоматизировать развертывания. Примеры: Docker Hub, GitLab Container Registry, Harbor. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🧑🏻‍💻Хотите освоить один из самых востребованных языков программирования и стать Python-разработчиком? Присоединяйтесь к ку
🧑🏻‍💻Хотите освоить один из самых востребованных языков программирования и стать Python-разработчиком? Присоединяйтесь к курсу «Python Developer. Basic» от OTUS! В рамках курса вы: - освоите базовый синтаксис Python; - изучите фреймворки FastAPI и Django; - научитесь работать с базами данных и API; - поймете основы автотестирования, асинхронного программирования и разработки на Python. Вы научитесь создавать веб-приложения, чат-ботов, парсить сайты и работать с данными — всё это сделает вас ценным специалистом. Программа курса составлена практикующими экспертами и обновляется в соответствии с актуальными требованиями рынка. ⚡️Оставьте заявку прямо сейчас и получите скидку на обучение: https://otus.pw/yoxr/ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

🤔 Как происходит наследование моделей в Django? В Django можно наследовать модели, используя стандартное наследование классов. Это помогает повторно использовать код, организовывать данные и добавлять общие поля в несколько моделей. Django поддерживает три основных типа наследования: 🟠Абстрактные модели Абстрактные модели используются, когда нужно создать базовый класс с полями и методами, которые должны быть унаследованы, но сам класс не должен создавать таблицу в базе данных. Создается базовый класс с abstract = True в Meta. Дочерние классы наследуют его поля и методы, но не его саму в виде отдельной таблицы.
from django.db import models

class BaseModel(models.Model):
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)

    class Meta:
        abstract = True  # Указывает, что это абстрактная модель

class Post(BaseModel):
    title = models.CharField(max_length=255)
    content = models.TextField()

class Comment(BaseModel):
    text = models.TextField()
🟠Многоуровневое (конкретное) наследование Этот тип наследования создаёт отдельные таблицы для каждой модели. Используется, когда дочерний класс должен представлять отдельную сущность, но при этом иметь доступ к полям родительского класса. Django создаёт отдельные таблицы в БД для родительской и дочерней модели. Дочерняя модель автоматически получает OneToOneField на родительскую.
class Person(models.Model):
    name = models.CharField(max_length=255)

class Employee(Person):  # Отдельная таблица employee
    salary = models.DecimalField(max_digits=10, decimal_places=2)
🟠Прокси-модели (Proxy Models) Используются, когда нужно изменить поведение модели без изменения структуры базы данных. Прокси-модель наследует поля родительской модели. В Meta указывается proxy = True. Можно переопределять методы, добавлять новые, но не менять поля.
class Person(models.Model):
    name = models.CharField(max_length=255)

class Manager(Person):
    class Meta:
        proxy = True  # Указываем, что это прокси-модель

    def get_uppercase_name(self):
        return self.name.upper()
Ставь 👍 и забирай 📚 Базу знаний

👩‍💻 IT-специалист с опытом недавно открыл новый канал с туториалами 👩‍💻 Python – от основ до продвинутых тем (Django, Flask, асинхронность, автоматизация) 👩‍💻 Linux – администрирование, bash-скрипты, настройка серверов 👩‍💻 Разборы - реальных кейсов и лайфхаки для разработчиков 👩‍💻 DevOps-инструменты - Docker, Kubernetes, CI/CD
Прокачай навыки на реальных задачах 🔥
Вступить в CodeGuard - t.me/codeguard

🤔 Какие функции есть в модуле itertools? Модуль предоставляет мощные итераторы: - count, cycle, repeat — бесконечные генераторы. - chain, zip_longest, product, permutations, combinations — для работы с последовательностями. - groupby — группировка по ключу. - islice, tee, filterfalse — фильтрация и дублирование. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Для чего можно использовать celery? Celery - это очередь задач (task queue), которая позволяет выполнять задачи асинхронно и распределять их между различными рабочими процессами или узлами. Она обычно используется для выполнения долгих и трудоемких операций в фоновом режиме, таких как обработка задач веб-приложений, отправка электронных писем, генерация отчетов, обработка изображений, а также многие другие. 🚩Вот некоторые типичные сценарии использования Celery: 🟠Обработка задач в фоновом режиме Позволяет обрабатывать задачи в фоновом режиме, что позволяет вашему веб-приложению быстро возвращать ответ пользователю, не ожидая завершения выполнения задачи. Это особенно полезно для выполнения операций, которые могут занимать длительное время, таких как обработка данных или генерация отчетов. 🟠Отправка электронных писем Может использоваться для отправки электронных писем асинхронно. Это позволяет вашему приложению отправлять уведомления и письма пользователям без блокировки основного потока выполнения. 🟠Обработка изображений Может использоваться для обработки изображений асинхронно. Например, вы можете использовать его для изменения размера изображений, преобразования форматов или применения фильтров без задержки ответа вашего приложения. 🟠Периодические задачи Поддерживает периодические задачи, которые могут выполняться автоматически по расписанию. Это позволяет вам запускать задачи на основе времени, что особенно полезно для выполнения регулярных обновлений и обслуживания. 🟠Распределенные вычисления Позволяет распределенно выполнять задачи на различных узлах или рабочих процессах, что позволяет обрабатывать большие объемы данных и операций параллельно. Ставь 👍 и забирай 📚 Базу знаний