Python | Вопросы собесов
Cайт: easyoffer.ru Реклама: @easyoffer_adv ВП: @easyoffer_vp Тесты t.me/+20tRfhrwPpM4NDQy Задачи t.me/+nsl4meWmhfQwNDVi Вакансии t.me/+cXGKkrOY2-w3ZTky
نمایش بیشتر📈 تحلیل کانال تلگرام Python | Вопросы собесов
کانال Python | Вопросы собесов (@python_easy_ru) در بخش زبانی روسی بازیگری فعال است. در حال حاضر جامعه شامل 13 108 مشترک است و جایگاه 9 738 را در دسته فناوری و برنامهها و رتبه 50 761 را در منطقه روسيا دارد.
📊 شاخصهای مخاطب و پویایی
از زمان ایجاد در невідомо، پروژه رشد سریعی داشته و 13 108 مشترک جذب کرده است.
بر اساس آخرین دادهها در تاریخ 07 ژوئن, 2026، کانال فعالیت پایداری دارد. در ۳۰ روز گذشته تغییر اعضا برابر -52 و در ۲۴ ساعت گذشته برابر -3 بوده و همچنان دسترسی گستردهای حفظ شده است.
- وضعیت تأیید: تأیید نشده
- نرخ تعامل (ER): میانگین تعامل مخاطب 6.21% است و در ۲۴ ساعت نخست پس از انتشار، محتوا معمولاً 5.90% واکنش نسبت به کل مشترکان کسب میکند.
- دسترسی پستها: هر پست به طور میانگین 814 بازدید دریافت میکند. در اولین روز معمولاً 773 بازدید جمعآوری میشود.
- واکنشها و تعامل: مخاطبان بهطور فعال حمایت میکنند؛ میانگین واکنش به هر پست 4 است.
- علایق موضوعی: محتوا بر موضوعات کلیدی مانند ставь, модуль, строка, docker, alice تمرکز دارد.
📝 توضیح و سیاست محتوایی
نویسنده این فضا را محل بیان دیدگاههای شخصی توصیف میکند:
“Cайт: easyoffer.ru
Реклама: @easyoffer_adv
ВП: @easyoffer_vp
Тесты t.me/+20tRfhrwPpM4NDQy
Задачи t.me/+nsl4meWmhfQwNDVi
Вакансии t.me/+cXGKkrOY2-w3ZTky”
به لطف بهروزرسانیهای پرتکرار (آخرین داده در تاریخ 08 ژوئن, 2026)، کانال همواره بهروز و دارای دسترسی بالاست. تحلیلها نشان میدهد مخاطبان بهطور فعال با محتوا تعامل دارند و آن را به نقطه اثرگذاری مهم در دسته فناوری و برنامهها تبدیل کردهاند.
JOIN, используя альтернативные методы.
🚩Использование подзапросов (`SELECT` внутри `SELECT`)
Подзапрос (subquery) позволяет выбрать данные из одной таблицы, используя данные из другой.
Допустим, у нас есть две таблицы:
employees (id, name, department_id)
departments (id, name)
SELECT name,
(SELECT name FROM departments WHERE id = employees.department_id) AS department_name
FROM employees;
🚩Использование `IN` или `EXISTS`
Можно фильтровать данные из одной таблицы, проверяя наличие значений в другой.
SELECT name
FROM employees
WHERE department_id IN (SELECT id FROM departments);
🚩Объединение данных через `UNION`
Если таблицы имеют схожие колонки, можно объединить их с UNION.
SELECT id, name, email FROM users_old
UNION
SELECT id, name, email FROM users_new;
🚩Использование `CROSS JOIN` через `WHERE`
Хотя CROSS JOIN делает декартово произведение, его можно фильтровать WHERE, имитируя INNER JOIN.
SELECT e.name, d.name AS department
FROM employees e, departments d
WHERE e.department_id = d.id;
Ставь 👍 и забирай 📚 Базу знанийdef greet(name):
return f"Hello, {name}!"
print(greet("World"))
🟠Java
Разработка корпоративного ПО, веб-приложений, мобильных приложений (Android), больших распределенных систем.
public class Main {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
🟠C#
Разработка настольных приложений, веб-приложений, игр (с использованием Unity), облачных сервисов.
using System;
class Program {
static void Main() {
Console.WriteLine("Hello, World!");
}
}
🟠JavaScript
Веб-разработка, создание интерактивных пользовательских интерфейсов, серверные приложения, мобильные приложения (с использованием фреймворков, таких как React Native).
function greet(name) {
return `Hello, ${name}!`;
}
console.log(greet("World"));
🟠Ruby
Веб-разработка, скрипты автоматизации, создание прототипов.
def greet(name)
"Hello, #{name}!"
end
puts greet("World")
🟠PHP
Веб-разработка, серверные приложения, управление контентом.
<?php
function greet($name) {
return "Hello, $name!";
}
echo greet("World");
?>
🟠Swift
Разработка мобильных и настольных приложений для экосистемы Apple.
func greet(name: String) -> String {
return "Hello, \(name)!"
}
print(greet(name: "World"))
🟠Kotlin
Разработка Android-приложений, серверных приложений, веб-приложений.
fun greet(name: String): String {
return "Hello, $name!"
}
fun main() {
println(greet("World"))
}
🟠Go (Golang)
Разработка серверных приложений, облачных сервисов, микросервисов.
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
🟠Rust
Системное программирование, разработка высокопроизводительных приложений, безопасное многопоточность.
fn main() {
println!("Hello, World!");
}
Ставь 👍 и забирай 📚 Базу знаний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
Ставь 👍 и забирай 📚 Базу знаний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
Ставь 👍 и забирай 📚 Базу знаний[1] Скачать файл... (3 сек) [2] Обработать файл... (2 сек) [Готово за 5 секунд]Пример с параллелизмом (оба процесса выполняются одновременно) Если у нас 2 ядра процессора, можно выполнить задачи одновременно.
[1] Скачать файл... (3 сек) ──► Готово! [2] Обработать файл... (2 сек) ──► Готово! [Готово за 3 секунды] ✅ Быстрее!🚩Как реализовать параллелизм в Python? 🟠`multiprocessing` – настоящий параллелизм В Python
multiprocessing создаёт отдельные процессы, которые работают на разных ядрах.
import multiprocessing
import time
def task(name):
print(f"Начал {name}")
time.sleep(2)
print(f"Закончил {name}")
if __name__ == "__main__":
p1 = multiprocessing.Process(target=task, args=("Процесс 1",))
p2 = multiprocessing.Process(target=task, args=("Процесс 2",))
p1.start()
p2.start()
p1.join()
p2.join()
print("Все процессы завершены")
🟠`threading` – многопоточность (НЕ параллельность в Python!)
Python не может выполнять потоки параллельно из-за GIL, но threading всё же полезен для задач ввода-вывода.
import threading
import time
def task(name):
print(f"Начал {name}")
time.sleep(2)
print(f"Закончил {name}")
t1 = threading.Thread(target=task, args=("Поток 1",))
t2 = threading.Thread(target=task, args=("Поток 2",))
t1.start()
t2.start()
t1.join()
t2.join()
print("Все потоки завершены")
🟠`asyncio` – асинхронность (НЕ параллелизм, но эффективное переключение задач)
Асинхронность позволяет не ждать выполнения операции, а переключаться на другие задачи.
import asyncio
async def task(name):
print(f"Начал {name}")
await asyncio.sleep(2) # НЕ блокирует другие задачи
print(f"Закончил {name}")
async def main():
await asyncio.gather(task("Задача 1"), task("Задача 2"))
asyncio.run(main())
🚩Виды параллелизма
🟠Параллелизм на уровне инструкций (ILP, CPU-level)
Процессор выполняет несколько инструкций одновременно. Например, в современных процессорах есть конвейер (pipeline), который выполняет несколько операций параллельно.
🟠Параллелизм на уровне данных (Data Parallelism)
Одна операция применяется к разным данным одновременно (используется в нейросетях, GPU).
import numpy as np
arr = np.array([1, 2, 3, 4])
result = arr * 2 # Все элементы умножаются одновременно (векторизация)
print(result) # [2 4 6 8]
Ставь 👍 и забирай 📚 Базу знаний:=) – это новый оператор, появившийся в 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:
...
Ставь 👍 и забирай 📚 Базу знанийdict) — это структура данных, которая хранит пары "ключ → значение".
🟠Создание словаря
Через {} (фигурные скобки)
my_dict = {"name": "Alice", "age": 25, "city": "New York"}
Изменение значения
my_dict["age"] = 26 # Меняем возраст
del — удаление по ключу
del my_dict["city"]
Перебор ключей (for key in dict)
for key in my_dict:
print(key, my_dict[key])
Проверка наличия ключа
if "name" in my_dict:
print("Ключ существует!")
🟠Генерация словарей (Dictionary Comprehension)
Создадим словарь квадратов чисел
squares = {x: x**2 for x in range(1, 6)}
print(squares) # {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
🟠Ключи должны быть хешируемыми (неизменяемыми)
Нельзя использовать list как ключ!
my_dict[[1, 2, 3]] = "Ошибка" # TypeError: unhashable type: 'list'
Можно использовать tuple, int, str, frozenset
my_dict[(1, 2, 3)] = "OK"
Ставь 👍 и забирай 📚 Базу знанийset) — это неупорядоченная коллекция уникальных элементов, которая работает на основе хеш-таблицы. Это значит, что только хешируемые (immutable) объекты могут быть добавлены в set.
🚩Можно добавить в `set`:
Числа (int, float, complex)
s = {1, 2.5, 3+4j}
Строки (str)
s = {"apple", "banana", "cherry"}
Кортежи (tuple), если они тоже содержат только неизменяемые объекты
s = {(1, 2), ("a", "b")}
Булевые значения (bool)** (но True считается 1, а False — 0)
s = {True, False, 1, 0}
print(s) # {False, True} (0 и 1 не добавятся повторно)
🚩Нельзя добавить в `set`
Изменяемые объекты (list, set, dict)
s = { [1, 2, 3] } # Ошибка: TypeError: unhashable type: 'list'
s = { {"key": "value"} } # Ошибка: TypeError: unhashable type: 'dict'
Кортежи с изменяемыми элементами
s = { (1, [2, 3]) } # Ошибка: TypeError
Ставь 👍 и забирай 📚 Базу знаний
اکنون در دسترس! پژوهش تلگرام ۲۰۲۵ — مهمترین بینشهای سال 
