Русский
Открыть в Telegram
PPython | Вопросы собесов

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

✅ Высокое доверие
@python_easy_ru · канал · в индексе с 17.04.2026
12 510подписчиков−28 за неделю
815средний охват поста
6.5%ER — охват к подписчикам
83постов за 30 дней
Python | Вопросы собесов
GIF
tmp54_kfuyh.mp4 · 1.3 МБ
Код ты уже пишешь. Научись делать продукт целиком Программа «Продукт-инженер» объединяет backend, frontend, QA и работу с AI-агентами в один маршрут. Ты выбираешь язык: Java, Go, Python или Node. Попробуй 3 дня бесплатно: полный доступ к кабинету без привязки карты. Узнать больше #реклама 16+ vikulin-va.ru О рекламодателе
603 ·
🤔 Для чего нужен счетчик ссылок Python? В Python счетчик ссылок (reference count) используется для управления памятью. Он показывает, сколько раз объект используется в программе. Когда счетчик ссылок падает до нуля, Python автоматически удаляет объект, освобождая память. 🚩Как работает счетчик ссылок? Python использует автоматическое управление памятью, основанное на подсчёте ссылок. Когда создаётся объект, Python хранит специальное число — количество ссылок на этот объект. Это число увеличивается, когда мы создаём новую ссылку на объект, и уменьшается, когда удаляем или перезаписываем переменную. import sys a = [1, 2, 3] # Создаём список print(sys.getrefcount(a)) # Выведет 2 (одна ссылка 'a' + вызов getrefcount) b = a # Новая ссылка на тот же объект print(sys.getrefcount(a)) # Теперь 3 (a, b и сам getrefcount) del a # Удаляем одну ссылку print(sys.getrefcount(b)) # Теперь 2 del b # Удаляем последнюю ссылку, объект будет удалён из памяти 🚩Почему это важно? 🟠Эффективное управление памятью Python сам удаляет ненужные объекты, не давая памяти переполняться. 🟠Понимание утечек памяти Если объект имеет циклические ссылки (например, список ссылается сам на себя), Python не может освободить его сразу, поэтому дополнительно используется сборщик мусора (Garbage Collector, GC). import gc class Node: def __init__(self): self.ref = self # Циклическая ссылка! n = Node() del n # Обычный подсчёт ссылок не сработает, объект останется в памяти gc.collect() # Явный вызов сборщика мусора удалит его Ставь 👍 и забирай 📚 Базу знаний
3 · 522 ·
Что такое вложенные транзакции? Вложенные транзакции — это транзакции внутри других транзакций. В PostgreSQL это реализуется через savepoint: - можно откатить часть транзакции, не отменяя всю; - полезно для частичной обработки, особенно в больших логических блоках. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
2 · 426 ·
P
Фотография
Бесплатные онлайн-лекции по ИТ и биотеху: 6—17 ноября Что меняется с развитием ИИ в ИТ-сфере? Расскажут эксперты — представители науки и индустрии на открытых лекциях магистратуры Центрального университета. 6—17 ноября онлайн. Для тех, кто строит карьеру в ИТ! Зарегистрироваться #реклама 16+ cu.ru О рекламодателе
360 ·
Python | Вопросы собесов
🤔 Чем отличаются методы сокрытия? Методы и атрибуты класса могут быть скрыты от внешнего использования с помощью различных уровней сокрытия. Сокрытие реализуется с помощью соглашений об именах, а не с помощью жесткой инкапсуляции, как в некоторых других языках программирования. Основные уровни сокрытия включают публичные, защищенные и приватные методы и атрибуты. 🚩Публичные методы и атрибуты Доступны из любого места, как внутри класса, так и за его пределами. Их имена не начинаются с подчеркиваний. class MyClass: def __init__(self): self.public_attribute = "I am public" def public_method(self): return "This is a public method" obj = MyClass() print(obj.public_attribute) # Вывод: I am public print(obj.public_method()) # Вывод: This is a public method 🚩Защищенные методы и атрибуты Не предназначены для использования за пределами класса и его подклассов. Они обозначаются одним подчеркиванием в начале имени. Это всего лишь соглашение, сигнализирующее другим разработчикам, что такие методы и атрибуты не следует использовать вне класса или его подклассов. class MyClass: def __init__(self): self._protected_attribute = "I am protected" def _protected_method(self): return "This is a protected method" class SubClass(MyClass): def access_protected(self): return self._protected_method() obj = MyClass() sub_obj = SubClass() print(sub_obj.access_protected()) # Вывод: This is a protected method 🚩Приватные методы и атрибуты Скрыты от внешнего доступа и доступны только внутри самого класса. Они обозначаются двумя подчеркиваниями в начале имени. Python реализует это с помощью механизма именования, который изменяет имя метода или атрибута, добавляя к нему имя класса, чтобы затруднить доступ извне. class MyClass: def __init__(self): self.__private_attribute = "I am private" def __private_method(self): return "This is a private method" def access_private(self): … Читать полностью →
2 · 172 ·
🤔 Для чего нужна библиотека Python для работы с AWS-серверами? Такие библиотеки, например boto3, позволяют: - Управлять облачными сервисами AWS (EC2, S3, RDS и др.). - Автоматизировать создание серверов, баз данных, хранилищ. - Настраивать безопасность, балансировку, мониторинг. То есть, это способ писать инфраструктурный код вместо ручной работы через веб-интерфейс AWS. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
4 · 691 ·
P
Фотография
Москвич М90. Настроен решительно Москвич М90 – от 3 965 000 ₽. Просторный кроссовер с семиместным салоном и премиальной аудиосистемой Bose Узнать больше #реклама moskvich-m.ru О рекламодателе
💊15
99 ·
Python | Вопросы собесов
🤔 Назовите основные мидлвари, зачем они нужны Middleware (промежуточное ПО) — это специальные классы, которые обрабатывают запросы и ответы, проходящие через Django. Они позволяют изменять данные, проверять доступ, логировать действия и многое другое. 🚩Основные мидлвари Django 🟠SecurityMiddleware Добавляет важные HTTP-заголовки для защиты сайта: - Strict-Transport-Security (HTTPS) - X-Content-Type-Options: nosniff - X-Frame-Options: DENY 🟠CommonMiddleware Отвечает за: Перенаправление с APPEND_SLASH=True (если /about → перенаправит на /about/). Удаление www. (www.example.com → example.com). Обработка кодировки и контента. 🟠SessionMiddleware Позволяет Django хранить данные пользователя между запросами (например, авторизацию). request.session["user_id"] = 42 # Сохраняем ID пользователя в сессии 🟠AuthenticationMiddleware Позволяет работать с request.user, автоматически определяя пользователя. if request.user.is_authenticated: print(f"Пользователь: {request.user.username}") 🟠CSRF Middleware (CsrfViewMiddleware) Защищает от атак межсайтовой подделки запросов (CSRF). При обработке форм Django требует специальный CSRF-токен: <form method="POST"> {% csrf_token %} <input type="text" name="name"> </form> 🟠XFrameOptionsMiddleware Запрещает встраивать сайт в <iframe>, предотвращая атаку Clickjacking. X-Frame-Options: DENY 🟠MessageMiddleware Позволяет передавать временные сообщения (django.contrib.messages). from django.contrib import messages messages.success(request, "Вы успешно вошли!") messages.error(request, "Ошибка авторизации!") 🚩Как добавить или отключить мидлвари? Мидлвари хранятся в settings.py: MIDDLEWARE = [ "django.middleware.security.SecurityMiddleware", "django.middleware.common.CommonMiddleware", "django.middleware.csrf.CsrfViewMiddleware", "django.contrib.sessions.middleware.SessionMiddleware", "django.contrib.auth.middleware.AuthenticationMiddleware", ] 🚩Как написать свой … Читать полностью →
👍3
1 · 100 ·
🤔 Как работает правило LEGB? Это правило описывает порядок поиска переменных: сначала в локальной области, потом во вложенных функциях (если есть), затем в глобальной области текущего модуля, и в конце — среди встроенных объектов языка. Если переменная не найдена на этих этапах, возникает ошибка. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
1 · 121 ·
P
Фотография
Cassandra в проде: что важно знать до внедрения 🎓 Внедряете Cassandra и хотите понимать её ограничения до того, как столкнётесь с ними в проде? Присоединяйтесь к открытому уроку Сергея Прощаева и разберите архитектурную сторону эксплуатации Cassandra. 📅 23 ноября в 20:00. Разберём: - Архитектуру Cassandra: модель данных, кластеризация, репликация, кольцо нод. - Консистентность vs доступность — как настраивать баланс под требования бизнеса. - Архитектурные паттерны проектирования бэкендов с Cassandra. - Когда Cassandra — оптимальный выбор, а когда лучше посмотреть на другие NoSQL/SQL решения. - Примеры из реальных высоконагруженных проектов. ✅ Запишитесь сейчас и внедряйте Cassandra без неожиданностей в проде! Узнать больше #реклама 16+ otus.ru О рекламодателе
73 ·
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: ... Ставь 👍 и забирай 📚 Базу знаний
2 · 105 ·
Фотография
Oral-B для ежедневной заботы об улыбке ✅ Совершенная технология Oral-B iO в ассортименте Oral-B ✅ Беспощадна к налёту, нежная к дёснам Купить #реклама market.yandex.ru О рекламодателе
150 ·
🤔 Что такое garbage collector? Garbage collector (сборщик мусора) — это механизм, который освобождает память от объектов, которые уже не используются. В Python он работает совместно с системой подсчёта ссылок, дополнительно удаляя объекты с взаимными ссылками, которые не доступны извне (циклические зависимости). Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
1 · 92 ·
P
Фотография
HONGQI HS3 — стиль и комфорт каждый день. HONGQI HS3 — это динамичный силуэт, мощный двигатель и богатая комплектация. Системы помощи водителю, современная мультимедиа система и премиальные материалы делают каждую поездку комфортной. Запишитесь на тест-драйв у официального дилера. Узнать больше #реклама hongqi.ru О рекламодателе
💊1
163 ·
Python | Вопросы собесов
🤔 Назови основные команды docker? Docker — это инструмент для создания, развертывания и управления контейнерами. Основные команды позволяют управлять образами, контейнерами, сетями и томами. 🚩Работа с образами (`images`) Образы — это "шаблоны" для создания контейнеров. Пример: скачиваем Python-образ docker pull python:3.11 🚩Работа с контейнерами (`containers`) Контейнер — это запущенный процесс на основе образа. Пример: запустить контейнер с Ubuntu и войти в него docker run -it ubuntu bash Пример: остановить и удалить контейнер docker stop my_app docker rm my_app 🚩Работа с томами (`volumes`) Том (volume) — это способ хранения данных, которые не пропадут при перезапуске контейнера. Пример: подключить том к контейнеру docker run -v my_data:/app/data ubuntu 🚩Работа с сетями (`networks`) Сети в Docker позволяют контейнерам взаимодействовать друг с другом. Пример: запустить два контейнера в одной сети docker network create my_network docker run -d --network my_network --name app1 ubuntu docker run -d --network my_network --name app2 ubuntu 🚩5. Docker Compose (`docker-compose.yml`) Docker Compose позволяет управлять несколькими контейнерами с помощью docker-compose.yml. Пример docker-compose.yml version: "3" services: app: image: python:3.11 volumes: - my_data:/app/data networks: - my_network volumes: my_data: networks: my_network: Запуск docker compose up -d Ставь 👍 и забирай 📚 Базу знаний
2 · 113 ·
🤔 Как Django определяет, вызывать INSERT или UPDATE при save()? Django определяет это на основе поля id (или pk). Если объект создан с нуля (id=None), вызывается INSERT. Если id есть и объект уже существует — вызывается UPDATE. Также можно явно указать update_fields, чтобы обновить только нужные поля. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
53 ·
P
Фотография
Зарабатывайте на установках Яндекс Браузера Рекомендуйте Яндекс Браузер и поиск Яндекса и зарабатывайте до 600 ₽ за каждого привлечённого пользователя. Партнёрская программа для каждого: от мастера по ремонту ПК до блогера — это возможность получать дополнительный доход от того, что вы уже делаете. – Бонусы для ваших пользователей и клиентов – Удобные инструменты для работы офлайн и онлайн – Наглядная статистика и стабильные выплаты Предлагайте приложения Яндекса своим читателям и клиентам в вашем блоге, сервисном центре или на сайте — и получайте вознаграждения. Подать заявку #реклама 0+ partner.browser.yandex.ru О рекламодателе
💊5
31 ·
Python | Вопросы собесов
🤔 Что такое GET? GET — это HTTP-метод, который используется для запроса данных с сервера. Когда ты открываешь веб-сайт или вводишь URL в браузере — это GET-запрос. Браузер запрашивает страницу у сервера, и сервер возвращает данные. 🚩Как работает GET-запрос? 1⃣Клиент (браузер, программа) отправляет GET-запрос на сервер. 2⃣Сервер обрабатывает запрос и возвращает ответ (HTML-страницу, JSON-данные, картинку и т. д.). 3⃣Данные отображаются пользователю. 🚩Пример GET-запроса Когда ты заходишь на https://example.com/users, браузер отправляет: GET /users HTTP/1.1 Host: example.com Ответ сервера [ {"id": 1, "name": "Alice"}, {"id": 2, "name": "Bob"} ] 🚩Особенности GET-запроса 🟠Читаемый URL параметры передаются в строке запроса (например, ?id=123). 🟠Безопасен GET не изменяет данные на сервере. 🟠Можно кэшировать браузеры и серверы могут сохранять результаты GET-запросов. 🟠Ограниченная длина URL слишком длинные запросы могут не работать. 🟠Не подходит для конфиденциальных данных передача пароля в URL (?password=123) небезопасна. 🚩GET-запрос с параметрами Если нужно передать параметры, они добавляются в URL: GET /search?q=python&page=2 В Python можно отправить GET-запрос с помощью библиотеки requests import requests response = requests.get("https://api.example.com/users", params={"id": 123}) print(response.json()) # Получаем ответ в JSON Ставь 👍 и забирай 📚 Базу знаний
🔥1
2 · 106 ·
Фотография
Яндекс Музыка до 360 дней бесплатно Яндекс Музыка для вас и 3-х ваших близких. Кинопоиск и Яндекс Книги тоже в мультиподписке Плюс. Попробуйте бесплатно❤️ Слушать #реклама 18+ music.yandex.ru О рекламодателе
💊1
139 ·
P
🤔 Что возвращает декоратор? Обычно декоратор возвращает функцию или объект, который будет вызываться вместо оригинальной функции. Это может быть обёртка с дополнительной логикой или модифицированная функция. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
1 · 82 ·
Python | Вопросы собесов
🤔 Что такое CRUD? CRUD — это аббревиатура из четырех основных операций с данными: C (Create) – создание R (Read) – чтение U (Update) – обновление D (Delete) – удаление 🚩Разберем CRUD на примере работы с базой данных в Python 🟠Create (Создание) Добавление новой записи в базу данных. import sqlite3 conn = sqlite3.connect("example.db") cursor = conn.cursor() # Создаем таблицу, если её нет cursor.execute("CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT)") # Добавляем пользователя cursor.execute("INSERT INTO users (name) VALUES (?)", ("Алиса",)) conn.commit() # Сохраняем изменения conn.close() 🟠Read (Чтение) Получение данных из базы. conn = sqlite3.connect("example.db") cursor = conn.cursor() cursor.execute("SELECT * FROM users") users = cursor.fetchall() # Получаем все записи for user in users: print(user) conn.close() 🟠Update (Обновление) Изменение существующей записи. conn = sqlite3.connect("example.db") cursor = conn.cursor() cursor.execute("UPDATE users SET name = ? WHERE id = ?", ("Боб", 1)) conn.commit() conn.close() 🟠Delete (Удаление) Удаление записи из базы. conn = sqlite3.connect("example.db") cursor = conn.cursor() cursor.execute("DELETE FROM users WHERE id = ?", (1,)) conn.commit() conn.close() Ставь 👍 и забирай 📚 Базу знаний
3 · 140 ·
Фотография
Game over ЛНА застряли на ознакомлении, в ходу неактуальные версии нормативов, нет единого хранилища локальных документов. ⚡ В гайде для кадровых специалистов собрали частые проблемы в работе с ЛНА, связанные с ними риски и способы их преодолеть. Оцените, сколько препятствий есть в вашей компании и какие из них поможет «перепрыгнуть» цифровизация. Внутри найдете: ✅ типичные сложности и риски в работе с внутренними документами; ✅ чек-лист для самодиагностики текущих процессов; ✅ этапы работы, которые стоит перевести в цифру; ✅ преимущества автоматизации для компании и HR-команды. Скачивайте гайд — пусть препятствия остаются в игре, а не в работе кадровой службы! Скачать #реклама 16+ hrpro.directum.ru О рекламодателе
164 ·
P
🤔 В чём разница между MRO2 и MRO3? 1. MRO2 (Method Resolution Order, Python 2): использует алгоритм глубинного поиска (DFS) для определения порядка наследования. Это может привести к дублированию классов в результирующем списке. 2. MRO3 (Python 3): использует алгоритм C3 Linearization, который улучшает порядок наследования, избегает дублирования и поддерживает принципы разрешения наследования (линеаризацию). Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
1 · 75 ·
Python | Вопросы собесов
🤔 Как отсортировать список словарей по определенному полю? Для сортировки списка словарей по определенному полю в Python удобно использовать функцию sorted() или метод sort(). Оба подхода позволяют указать ключ сортировки с помощью параметра key, где можно передать либо функцию, либо лямбда-выражение, которое извлекает значение из словаря для сортировки. 🚩Почему это важно? Списки словарей часто используются для хранения структурированных данных. Например, вы можете иметь список сотрудников, где каждый сотрудник представлен в виде словаря с полями, такими как имя, возраст и зарплата. Сортировка по определенному полю позволяет упорядочить данные, чтобы ими было проще пользоваться или отображать. 🚩Как это сделать? 🟠Использование функции `sorted()` Эта функция возвращает новый отсортированный список. employees = [ {"name": "Alice", "age": 30, "salary": 70000}, {"name": "Bob", "age": 25, "salary": 50000}, {"name": "Charlie", "age": 35, "salary": 120000} ] # Сортировка по возрасту sorted_employees = sorted(employees, key=lambda x: x["age"]) print(sorted_employees) Результат [{'name': 'Bob', 'age': 25, 'salary': 50000}, {'name': 'Alice', 'age': 30, 'salary': 70000}, {'name': 'Charlie', 'age': 35, 'salary': 120000}] 🟠Использование метода `sort()` Этот метод изменяет существующий список. employees = [ {"name": "Alice", "age": 30, "salary": 70000}, {"name": "Bob", "age": 25, "salary": 50000}, {"name": "Charlie", "age": 35, "salary": 120000} ] # Сортировка по зарплате employees.sort(key=lambda x: x["salary"]) print(employees) Результат [{'name': 'Bob', 'age': 25, 'salary': 50000}, {'name': 'Alice', 'age': 30, 'salary': 70000}, {'name': 'Charlie', 'age': 35, 'salary': 120000}] 🟠Сортировка в обратном порядке Установите параметр reverse=True, чтобы отсортировать в порядке убывания. sorted_employees_desc = sorted(employees, k… Читать полностью →
👍2
5 · 272 ·
P
🤔 В чем разница сравнение через is и == Оператор == проверяет равенство значений, то есть проверяет, содержат ли переменные одинаковые данные. Оператор is проверяет, ссылаются ли переменные на один и тот же объект в памяти. Таким образом, is используется для проверки идентичности объекта, а == — для проверки равенства значений. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
57 ·

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Границы индекса · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем